Shawn Schantz
722150adbc
Merge pull request #16570 from keymanapp/feat/mac/remove-old-config
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
feat(mac): remove obsolete configuration UI 🍎
2026-09-22 08:51:03 -04:00
Shawn Schantz
d50b8d81e6
feat(mac): fix constraint on about close button
...
also added comment with issue #
2026-09-16 15:43:31 -04:00
Shawn Schantz
00b643735c
feat(mac): added comment explaining data migration
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-15 22:43:40 -04:00
Shawn Schantz
fedff1b172
Merge branch 'fix/mac/16442-repair-change' into fix/mac/16489-migrate-first
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-14 18:35:14 -04:00
Shawn Schantz
3efc2f61ba
fix(mac): minor changes
2026-09-14 16:41:02 -04:00
Shawn Schantz
0e9fd0913d
feat(mac): do data migration before installation completion
...
Fixes : #16489
2026-09-14 15:02:35 -04:00
Shawn Schantz
01c126780d
feat(mac) do not kill Keyman app to manage accessibility permission
...
instead, if keyman input method is running, then
request or query access using notifications
also change text that prompts user to restart
restart should not be necessary in any normal
use case, as it happens at install time
2026-09-14 09:53:37 -04:00
Shawn Schantz
2d1048139c
feat(mac): do not kill Keyman.app to check accessibility
...
at startup -- instead use notifications when
app is running
only force a restart of the input method if we
need accessibility state during the setup flow
Fixes : #16442
2026-09-10 22:49:45 -04:00
Shawn Schantz
af6806666a
feat(mac): added Sentry logging
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
fa24b00e7a
feat(mac): reload packages after migrate
...
moved InputMethodUtil to Settings
2026-08-25 20:47:22 -04:00
Shawn Schantz
69b43443cc
feat(mac): added progress indicator for downloads
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-21 21:48:58 -04:00
Shawn Schantz
48b16488d4
feat(mac): drag and drop .kmp with debug window
2026-08-15 17:46:35 -04:00
Shawn Schantz
7ba1081c6c
feat(mac): remove repeated loadURL call
...
also fixed typos, removed a few print statements
2026-08-14 19:52:06 -04:00
Shawn Schantz
6b59fd6780
feat(mac): cache qrcode image and lazily load
...
also fixed bug blocking removal of packages that
were installed during the same session
2026-08-13 12:04:41 -04:00
Shawn Schantz
5444423b0f
feat(mac): update for review comments
2026-08-10 11:00:56 -04:00
Shawn Schantz
cfd0d15447
feat(mac): only update for confirmAccess if it is current task
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-29 17:11:01 -04:00
Shawn Schantz
ddba07d78e
feat(mac): refresh install state if version is out of date
...
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
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
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
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
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
...
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
...
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
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
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
...
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
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-08 16:01:46 -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
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
...
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
ac888301ba
feat(mac): set InstallationCheck to MainActor
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
...
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
...
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
aaec0ad6ee
feat(mac): read Keyman Configuration version
2026-06-12 11:34:55 -04:00
Shawn Schantz
de4c736cfe
feat(mac): input method now receives correct version number
...
handle situation where input method has been moved
or renamed before doing a version number check
2026-06-11 17:10:20 -04:00
Shawn Schantz
ccd5f18fc6
feat(mac): add async notification of Accessibility check
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
...
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
77dafb3d75
feat(mac): add the steps needed to complete installation
2026-05-20 21:14:53 -04:00