Commit graph

43 commits

Author SHA1 Message Date
Shawn Schantz
d4f36f4865 feat(mac): pre-install evaluation of install state
creates custom list of installation state in case
some of the installation was done previously
checks whether repairs are needed for completed
installations
fixes bug to kill keyman for CheckAccess call
2026-07-24 10:14:02 -04:00
Shawn Schantz
5089ce42db feat(mac): define InstallationPhase enum for UI
provides a simple way for UI to determine what to
present to the user
also generates events, but these could be generated
before the UI has a chance to listen for them
2026-07-20 18:04:38 -04:00
Shawn Schantz
fc340866ad feat(mac): change keyboardsChanged notification to deliver immediately
also explict call default() to be sure that
we get back a DistributedNotificationCenter
2026-07-16 17:14:20 -04:00
Shawn Schantz
7cbb5851d7 feat(mac): update input method after keyboard config change
Sendsend a distributed notification from the config app
whenever a change to the enabled keyboards occurs.
In response, the input method loads the list of
enabled keyboards and updates the Keyman menu.
2026-07-16 12:38:33 -04:00
Shawn Schantz
d228eeb5fe feat(mac): remove reference to private property
unit test fix
2026-07-15 14:16:34 -04:00
Shawn Schantz
adcfd433f0 feat(mac): published installed packages as two separate arrays
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
each array is sorted, one for multiple-keyboard
packages and one for single-keyboard packages
2026-07-14 18:42:34 -04:00
Shawn Schantz
b1d73b4427 feat(mac): added several fields to package, including QR Code 2026-07-13 18:47:40 -04:00
Shawn Schantz
44bd0178b4 feat(mac): minor updates to address review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-08 16:01:46 -04:00
Shawn Schantz
db63276f11 feat(mac): added check for keyboard package downgrade
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
compares version numbers between new package and the
currently installed package of the same type

also added function comments throughout new code
2026-07-07 18:10:03 -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
95443603be
Merge branch 'epic/mac-config' into feat/mac/install-keyboard
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-04 12:40:15 -04:00
Shawn Schantz
560f29d1b0 feat(mac): add support for downgrade and cancelation of downgrade 2026-07-04 12:23:46 -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
aa49726d58 feat(mac): updated enabledKeyboard array after package installation
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
the state in the userdefaults must be kept in sync
at all time because it is used by the input method
2026-06-26 18:04:29 -04:00
Shawn Schantz
6af1dcd05b feat(mac): added install keyboard functionality with webview 2026-06-25 17:39:58 -04:00
Shawn Schantz
15fabb3588 feat(mac): removed deleted function from protocol
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-16 17:39:19 -04:00
Shawn Schantz
6d58005bd2 feat(mac): remove unused function 2026-06-16 17:25:34 -04:00
Shawn Schantz
ccd5f18fc6 feat(mac): add async notification of Accessibility check
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-09 19:18:59 -04:00
Shawn Schantz
ddabddd720 feat(mac): repair installation support
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
created installation task list instead of incrementing state
2026-06-05 18:12:50 -04:00
Shawn Schantz
7c07775d67 Merge branch 'feat/mac/new-app' into feat/mac/detect-install 2026-05-29 16:43:25 -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
8c7d310268 feat(mac): addressed review comments, mostly to postinstall script
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-05-28 18:32:34 -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
77dafb3d75 feat(mac): add the steps needed to complete installation 2026-05-20 21:14:53 -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
db00bf8bf4 feat(mac): additional unit tests and comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-05-05 15:22:33 -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
b81f05b7e0 feat(mac): update UserDefaults for enabled/disabled keyboards
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-22 08:10:41 -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
364ccc2d52 feat(mac): migrate keyman packages individually to group containers
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
also rename Keyman-Keyboards directory to
Keyman-Packages
2026-04-17 14:13:23 -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
b8a93e521b feat(mac): progress toward installer creation
input method installer created but still need to add
Keyman Configuration app to the installer and notarize it
2026-03-19 14:43:08 -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
832940c129 feat(mac): use iOS-style app group for shared container
works correctly for local debug build, but needs to
be tested with distribution profile with release build
2026-03-10 16:37:19 -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
Shawn Schantz
962e821020 feat(mac): add Keyman Settings package and bind from ConfigView 2026-03-03 15:54:16 -05:00