Commit graph

35 commits

Author SHA1 Message Date
Shawn Schantz
88fdaeff6d feat(mac): minor changes after review 2026-09-15 16:35:47 -04:00
Shawn Schantz
c0c5c84329 feat(mac): more fixes based on re-review 2026-09-11 13:40:47 -04:00
Shawn Schantz
7906533806 feat(mac): update for review comments
get graphic file name from correct location
improved handling of parse error
bounds check for value array on website url
2026-09-11 13:31:48 -04:00
Shawn Schantz
78e3008a6b feat(mac): implemented parser from scratch instead of
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
basing on Objective C code

added default for readMe and Help files
added validation for required fields
2026-09-10 12:18:59 -04:00
Shawn Schantz
2d4a1d8683 feat(mac): conver KMPackageReader to swift 2026-09-04 15:14:02 -04:00
Shawn Schantz
dc3c1bce95 feat(mac): minor text change and filename change 2026-09-03 09:24:47 -04:00
Shawn Schantz
ab30341f59 feat(mac): localization support
added localizable types where necessary
created Localizable.xcstrings for both the
config app and the Keyman settings package
2026-09-02 22:05:53 -04:00
Shawn Schantz
7d622997cb feat(mac): ensure that home directory is not written to logs
also replace references to URL.path with
URL.path(percentEncoded: false) because FileManager
operation do not expect percent encoding
2026-09-02 15:36:19 -04:00
Shawn Schantz
af6806666a feat(mac): added Sentry logging
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-01 22:37:51 -04:00
Shawn Schantz
5250a84c04 feat(mac): replaced print statements with OSLog calls 2026-09-01 10:38:18 -04:00
Shawn Schantz
f006f0512d feat(mac): remove dependence on name of .kmp file
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
promote delete package code to main view to avoid
race condition
2026-08-25 09:25:49 -04:00
Shawn Schantz
f194a15c7b feat(mac): enforce minimum keyman version for package
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-18 17:36:20 -04:00
Shawn Schantz
a18c740d8a rename PackageDownload to PackageInstallHelper
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
modifying the class to handle not just installation
of packages being downloaded but also installation
due to drag and drop or opening a .kmp from the
file menu

also added boolean to distinguish a download and
install operation because that is the only case
where we delete the original .kmp file that was
downloaded to the temp directory
2026-08-18 09:43:32 -04:00
Shawn Schantz
d9705067d8 feat(mac): handled drag and drop errors
display alert when drag and drop fails
handle installation errors
clean up un-installable .kmp files
2026-08-15 17:46:35 -04:00
Shawn Schantz
beba554feb feat(mac): load help and readme if not listed in options
If the help file (welcome.htm) and readme file
(readme.htm) are not listed in the options element
of the kmp.json, check the file list. Read them
from the package using their default filenames if
they are found there.
2026-08-14 14:03:34 -04:00
Shawn Schantz
895151d89a feat(mac): refactor to allow package removal after install
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
When installed, packages keep a reference to their
location on disk so that they can delete their
associated files if removed. However, installation
from the internet now happens via a temp directory.
The directory must be updated when moved to the
install directory and there can be no trace of the
temp directory path anywhere when loading other
data from the package.

The cleanest way to accomplish this was to use
computed properties for the locations of all the
data like welcome.htm and the graphic image. These
properties are based on the single package
directory URL, and this URL is updated when the
package is moved.
2026-08-13 21:08:03 -04:00
Shawn Schantz
00b67123f4 feat(mac): clean up downloaded package when install fails
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-13 14:25:30 -04:00
Shawn Schantz
80130d261d feat(mac): changes in response to ai review
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-04 16:23:12 -04:00
Shawn Schantz
5cb255a7b6 feat(mac): on install, write package to temp folder in group container
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
download .kmp and unzip in temp folder
then decide whether to replace existing package
2026-07-02 22:29:02 -04:00
Shawn Schantz
6af1dcd05b feat(mac): added install keyboard functionality with webview 2026-06-25 17:39:58 -04:00
Shawn Schantz
b77b255ac6 feat(mac): throw error for missing kmx file
add TODO comments and change their format
2026-05-29 11:44:49 -04:00
Shawn Schantz
3fb3c82f73 feat(mac): rework error handling when loading package
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
define errors for parsing issues and data validation
handle errors during loading of data at launch
2026-05-28 12:59:56 -04:00
Shawn Schantz
2eeb15ef63 feat(mac): changes for review feedback 2026-05-22 17:18:19 -04:00
Shawn Schantz
73ac6d5972 feat(mac): updates for devin.ai review and added tests
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-05-07 08:13:29 -04:00
Shawn Schantz
0ad3843d74 feat(mac): rename keyboards directory to packages directory
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-05-04 15:58:19 -04:00
Shawn Schantz
a7bcceff47 feat(mac): add protocols, stubs and unit tests
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
added suite for Settings Container and stubs to
test it without accessing disk or user defaults
2026-05-04 11:38:56 -04:00
Shawn Schantz
af09f89bc9 feat(mac): add functions from removing keyboard
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
also added comments for Settings
renamed activeKeyboards to enabledKeyboards via
settings migration for Keyman 19
2026-04-27 15:47:16 -04:00
Shawn Schantz
dd0f2043bf feat(mac): complete settings migration and delete old settings
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
also eliminate duplicate state saved in config app
generate the list of active keyboards on the fly
when it needs to be written to UserDefaults
2026-04-24 15:58:33 -04:00
Shawn Schantz
dabd9487f4 feat(mac): input method loads packages from group container
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-17 21:20:51 -04:00
Shawn Schantz
bb816a1335 feat(mac): display packages and keyboard list view
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
added buttons for removal of packages
and toggle for disabling of keyboard
not remotely final but mostly for ensuring that
we can bind to the data model and respond to updates
2026-04-02 14:01:11 -04:00
Shawn Schantz
45ac789c95 feat(mac): change name and add icon for config app
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-27 17:18:00 -04:00
Shawn Schantz
725e91b52b feat(mac): changed build.sh to get app groups working
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
includes plenty of debug and test code but should work
writes a test file out to the Group Container
2026-03-13 20:44:21 -04:00
Shawn Schantz
e6797f5a58 feat(mac): add group ID for Input Method
test to see whether the Input Method can access
the group container without any warnings from the system.
2026-03-05 17:59:43 -05:00
Shawn Schantz
72e35c2c9e feat(mac): create data directories if they don't exist 2026-03-05 13:16:38 -05:00
Shawn Schantz
5cd8112532 feat(mac): add loading of kmp files
currently reads from the old data directory
UI is for testing only
2026-03-04 16:55:34 -05:00