Commit graph

104 commits

Author SHA1 Message Date
Shawn Schantz
74cee6f064 Merge branch 'feat/mac/kmp-inf' of https://github.com/keymanapp/keyman into feat/mac/kmp-inf
Some checks failed
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
Some checks are pending
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
Some checks are pending
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
51992b96f0 feat(mac): minscule formatting change
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-10 12:33:28 -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
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
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
92682b4f3d feat(mac): add back version parameter to install keyboard query
remove obsolete keyman link URL check
2026-08-31 13:28:08 -04:00
Shawn Schantz
daa60ef295 feat(mac): add all Keyman environment variables
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
pass language with keyboard search URL

Fixes: #15541
2026-08-29 21:05:36 -04:00
Shawn Schantz
155c2da5ec feat(mac): handle package downloads with standard URL
invoke download directly with url
change build to pass tier into info.plist of
configuration app so that it can be added to URL
2026-08-28 08:13:53 -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
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
dd049266ce feat(mac): comment revision 2026-08-24 20:29:48 -04:00
Shawn Schantz
bb2613314b feat(mac): improve font installation error handling
Some checks are pending
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
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
removed packageNotFound installationType
2026-08-22 18:54:47 -04:00
Shawn Schantz
69b43443cc feat(mac): added progress indicator for downloads
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-21 21:48:58 -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
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-21 15:21:17 -04:00
Shawn Schantz
6b92bd8c94 feat(mac): renaming for clarity 2026-08-21 14:52:14 -04:00
Shawn Schantz
751dc0bfae feat(mac): package download and drag and drop use common code
Some checks are pending
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
38e3c4534c
Merge branch 'feat/mac/config-ui' into feat/mac/drag-kmp
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-20 15:27:39 -04:00
Shawn Schantz
4b6d52a00b feat(mac): replaced scaled multiple images with pdfs
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
added 1024 x 1024 app icon
replaced Apple's installer icon with symbol
2026-08-20 14:56:46 -04:00
Shawn Schantz
52d41e7932 feat(mac): used shared webview for help and readme
Some checks are pending
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
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
e7c35394ce feat(mac): added function to clean up package on failed drop install 2026-08-15 18:00:23 -04:00
Shawn Schantz
6a996aefd4 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 18:00:23 -04:00
Shawn Schantz
652c6f75c7 feat(mac): drag and drop .kmp with debug window 2026-08-15 17:56:29 -04:00
Shawn Schantz
8276645c2f feat(mac): added function to clean up package on failed drop install 2026-08-15 17:46:35 -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
48b16488d4 feat(mac): drag and drop .kmp with debug window 2026-08-15 17:46:35 -04:00
Shawn Schantz
f262ae9113 feat(mac): clarify comment
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-15 17:44:40 -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
Some checks are pending
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
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
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