Commit graph

73 commits

Author SHA1 Message Date
Eli Schantz
cfb1bedebc feat(mac): Responding to code review 2026-08-12 19:42:06 -04:00
Eli Schantz
47aa28b042 feat(mac): Added Form view layout to a few installation pages 2026-08-06 21:47:40 -04:00
Eli Schantz
cfea0a4efd feat(mac): Fixed minor issues with installation flow 2026-08-06 21:47:40 -04:00
Eli Schantz
7b531fd4c2 feat(mac): Added an initial repair view 2026-08-06 21:47:40 -04:00
Eli Schantz
3d90febba3 feat(mac): Added loading screen and reformated files 2026-08-06 21:47:40 -04:00
Eli Schantz
fd5726f05b feat(mac): First draft of integrated installer 2026-08-06 21:47:40 -04:00
Eli Schantz
62f72c5059 feat(mac): Added input method error screen and restart view 2026-08-06 21:47:40 -04:00
Eli Schantz
5d0e3a63c4 feat(mac): Added notification support to installer
Notifications are used for navigation between views
2026-08-06 21:46:59 -04:00
eli schantz
be3e3fcb5a feat(mac): created new installation views in Configuration app 2026-08-06 21:41:44 -04:00
Shawn Schantz
2806b0c80d Merge remote-tracking branch 'origin/epic/mac-config' into feat/mac/config-ui
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-06 13:49:05 -04:00
Shawn Schantz
92982a4498 feat(mac): revert to default accent color 2026-08-04 21:00:57 -04:00
Shawn Schantz
cfd0d15447 feat(mac): only update for confirmAccess if it is current task
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-29 17:11:01 -04:00
Shawn Schantz
ae1a734e00 feat(mac): rename test/debug views
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-29 08:25:51 -04:00
Shawn Schantz
ddba07d78e feat(mac): refresh install state if version is out of date
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
add setting to allow testing with version mismatch
2026-07-28 16:25:53 -04:00
Shawn Schantz
a419df3d4a feat(mac): added prepareRepair state
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-27 21:30:20 -04:00
Shawn Schantz
fdcb0bca15 feat(mac): update comment 2026-07-27 19:24:45 -04:00
Shawn Schantz
724136e480 feat(mac): remove duplicated InstallationState property
InstallationState is now only stored in
InstallationCheck -- InstallationContainer must
access it from there
2026-07-27 19:04:00 -04:00
Shawn Schantz
5b0b88ac58 feat(mac): create new installation state for all state changes 2026-07-27 17:07:29 -04:00
Shawn Schantz
172d5774f1 feat(mac): removed obsolete TODO comments
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-27 12:49:15 -04:00
Shawn Schantz
c9ef73c47d feat(mac): create new InstallationState whenever task is completed
this ensures that the changes to this published
property will result in a SwiftUI notification

also made a couple changes in response to devin.ai
code review
2026-07-27 12:41:10 -04:00
Shawn Schantz
9ac60992a6 feat(mac): added confirmRestart state
this is checked on init to complete an installation
also added flag for tracking whether the complete
message has been displayed to the user
2026-07-27 09:44:43 -04:00
Shawn Schantz
4219ebefa9 feat(mac): added confirm access step
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-25 05:57:09 -04:00
Shawn Schantz
e99c9175eb feat(mac): stop attempting to read version of non-existent input method
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-24 14:46:29 -04:00
Shawn Schantz
6f76e08503 feat(mac): add hasTasks flag to InstallationPhase
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
also fixed bug where InstallState not initialzied
when installation evaluation is not happening
2026-07-24 12:35:03 -04:00
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
7c75e1a70c feat(mac): pre-check install state before creating task list
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
for new installations, check if the input method is
enabled and whether it has Accessibility permission
before adding those items to the task list as they
may be in place from a previous installation
2026-07-22 22:08:55 -04:00
Shawn Schantz
2d5f66f11e
Merge branch 'feat/mac/expand-package' into feat/mac/notify-input-method
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-21 15:11:03 -04:00
Shawn Schantz
3e72c9e4a9 feat(mac): add method to delete package by UUID 2026-07-21 14:53:14 -04:00
Shawn Schantz
610b2542ce
Merge branch 'feat/mac/expand-package' into feat/mac/notify-input-method 2026-07-21 14:30:43 -04:00
Shawn Schantz
b0723563ec feat(mac): added author website and default image 2026-07-21 14:04:38 -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
88c1232a28 feat(mac): add remove methods for each package list 2026-07-16 13:30:53 -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
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
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
826d9c9e9b feat(mac): resolve merge mishap 2026-07-04 15:23:41 -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
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
c0b9a2f236 feat(mac): update for review comments 2026-06-27 16:44:23 -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
ac888301ba feat(mac): set InstallationCheck to MainActor
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-18 15:59:11 -04:00
Shawn Schantz
6719565c2f feat(mac): create separate notification for repairNeeded
response to the AccessCheck message comes to the
InstallationCheck object, but the InstallationContainer
should only know about the higher level event:
whether the installation needs repair
2026-06-18 15:32:42 -04:00
Shawn Schantz
469c23aaf0 feat(mac): check Accessibility permission before attempt to repair
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
when creating the InstallationCheck, first ask
for the Accessibility permission from the input
method, and once the response is returned via
DistributedNotificiationCenter message, then do
the rest of the validation
2026-06-18 10:56:50 -04:00
Shawn Schantz
7762baf0af feat(mac): removed 'All right reserved.' from copyright
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
added booleans to indicate input method exists and
matches the current version

made installationState optional
made accessibilityPermissionGranted optional
added comments
2026-06-16 10:55:02 -04:00
Shawn Schantz
51bc5cc0a6 feat(mac): write keyman version to config app info.plist
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-12 17:31:53 -04:00
Shawn Schantz
ddb4c02fef feat(mac): remove year from copyright string
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
remove obsolete CFBundleGetInfoString from info.plist
change copyright displayed in info dialog to SIL Global
2026-06-12 15:13:19 -04:00
Shawn Schantz
aaec0ad6ee feat(mac): read Keyman Configuration version 2026-06-12 11:34:55 -04:00