Shawn Schantz
88fdaeff6d
feat(mac): minor changes after review
2026-09-15 16:35:47 -04:00
Shawn Schantz
74cee6f064
Merge branch 'feat/mac/kmp-inf' of https://github.com/keymanapp/keyman into feat/mac/kmp-inf
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-11 16:13:42 -04:00
Shawn Schantz
6307410a8e
feat(mac): fixed unit tests
2026-09-11 16:12:45 -04:00
Shawn Schantz
8b9c78d45a
Merge branch 'epic/mac-config' into feat/mac/kmp-inf
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-11 13:58:44 -04:00
Shawn Schantz
bae4480530
feat(mac): removed commented-out code
2026-09-11 13:47:02 -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
be97f1e046
Merge pull request #16514 from keymanapp/feat/mac/localize
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
feat(mac): localization support for Keyman config app 🍎
2026-09-10 13:53:49 -04:00
Shawn Schantz
78e3008a6b
feat(mac): implemented parser from scratch instead of
...
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
b19c85350e
feat(mac): remove logging of legacy paths
2026-09-03 10:50:36 -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
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
f006f0512d
feat(mac): remove dependence on name of .kmp file
...
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
bb2613314b
feat(mac): improve font installation error handling
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
revise comments
2026-08-24 19:57:30 -04:00
Shawn Schantz
95ae54ed23
feat(mac): added font validation and installation
...
wait to unzip package before determining installation
directory because the package name must be used
for the final installation directory name
2026-08-24 16:32:22 -04:00
Shawn Schantz
7c5bc212ab
feat(mac): added internalError for debugging
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
removed packageNotFound installationType
2026-08-22 18:54:47 -04:00
Shawn Schantz
3064a3d3ef
feat(mac): added error handling for failed downloads
2026-08-21 19:07:17 -04:00
Shawn Schantz
a58f6f9ffc
feat(mac): strip obsolete code
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-21 15:21:17 -04:00
Shawn Schantz
751dc0bfae
feat(mac): package download and drag and drop use common code
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
for installation and confirmation UI
added DownloadCoordinator to link webview to
SwiftUI views
2026-08-21 09:29:45 -04:00
Shawn Schantz
504e8678ac
feat(mac): classified four different package installation types
...
new package
package replacement (version matches)
package upgrade
package downgrade
2026-08-20 20:41:25 -04:00
Shawn Schantz
52d41e7932
feat(mac): used shared webview for help and readme
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
added default and min size for config view
2026-08-19 22:02:23 -04:00
Shawn Schantz
f194a15c7b
feat(mac): enforce minimum keyman version for package
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
...
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
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
04aa433bb6
feat(mac): show confirm restart view correctly for state
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
listen to correct notifications for permission granted
standardize file URLs
use correct loadFileURl to load help file URL as it
it is not loading over HTTP
2026-08-14 16:20:09 -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
...
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
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-13 14:25:30 -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
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
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
db63276f11
feat(mac): added check for keyboard package downgrade
...
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
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
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
...
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
6d58005bd2
feat(mac): remove unused function
2026-06-16 17:25:34 -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
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