Commit graph

33180 commits

Author SHA1 Message Date
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
10a2c8ddb3 feat(mac): migrate keyboards to group container from app container
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-15 13:28:42 -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
9aaf420974 feat(mac): change upload destination for installer package
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-25 12:41:00 -04:00
Shawn Schantz
ed2ab79036 feat(mac): hard code certificate ID for installer signing
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
temporary change as variable not found on CI machine
2026-03-24 16:23:59 -04:00
Shawn Schantz
96b104762a feat(mac): add quotes to certificate variable in build script 2026-03-24 16:15:33 -04:00
Shawn Schantz
15e0ff268e feat(mac): update swift-tools-version to 6.2 2026-03-24 15:38:43 -04:00
Shawn Schantz
eabef231cf feat(mac): copy -R to preserve symbolic links installing input method
The postinstall script uses cp -R instead of cp -r
when copying the input method to the Input Methods folder

Also made changes to use an environment variable to
designate the installer signing certificate, and
updated the export options plist to use that same
certificate for signing the installer package.
2026-03-24 14:46:55 -04:00
Shawn Schantz
4048b64224 feat(mac): build and notarize installer package
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
not tested with CI
issue with signing conflict between architectures
need to remove earlier signing prior to creation of
installer package
2026-03-20 20:52:15 -04:00
Shawn Schantz
bbfab358a6 feat(mac): update build script to build Config app
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
builds and cleans Config app
does not yet include Config app in install script
2026-03-19 15:39:52 -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
eff43c58cc feat(mac): change size of dmg template to 40 MB
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-17 13:50:38 -04:00
Shawn Schantz
19b384ac47 feat(mac): fix error in publish step
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-03-17 12:24:38 -04:00
Shawn Schantz
6796f15f66 feat(mac): remove code sign status check
possibly causing build failures
2026-03-17 12:13:51 -04:00
Shawn Schantz
433b000713 feat(mac): add logging for build level and code signing status
temporary logging to fix issue with ci builds
2026-03-17 11:43:37 -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
f4def1cafc feat(mac): add provisioning profiles for distribution 2026-03-10 19:21:52 -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
1cd95c587d feat(mac): remove macOS-style group id 2026-03-09 16:16: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
Shawn Schantz
97dc75c5d5 feat(mac): add the new config app and keyman data swift package 2026-02-26 21:49:43 -05:00
Keyman Server
03b3724664
Merge pull request #15584 from keymanapp/auto/A19S22-merge-master-into-mac-config
auto: A19S22 merge master into mac-config 🍎
2026-02-13 08:49:00 +01:00
Keyman Server
5d1b54579e
Merge branch 'epic/mac-config' into auto/A19S22-merge-master-into-mac-config 2026-02-13 04:59:15 +01:00
Keyman Server
989a8dbadb
Merge pull request #15578 from keymanapp/auto/version-master-19.0.203
auto: increment master version to 19.0.203
2026-02-12 19:07:24 +01:00
Keyman Build Agent
4a0bbe68f6 auto: increment master version to 19.0.203
Test-bot: skip
Build-bot: skip
2026-02-12 12:01:32 -06:00
Eberhard Beilharz
d32d1b6b78
Merge pull request #15573 from keymanapp/fix/linux/15572_FileNotFoundError
fix(linux): check for existing file before trying to install

Under some circumstances it's possible that the user manages to select a directory instead of a kmp file, or manually enters a non-existing file. Is used to throw an error that we caught on Sentry; the user was able to continue to use the app. This change now checks for a valid file before trying to install the kmp file.

Fixes: #15572
Fixes: KEYMAN-LINUX-99
2026-02-12 10:20:37 +01:00
Keyman Server
90ff20bdf6
Merge pull request #15574 from keymanapp/auto/version-master-19.0.202
auto: increment master version to 19.0.202
2026-02-09 19:07:22 +01:00
Keyman Build Agent
1257c249b8 auto: increment master version to 19.0.202
Test-bot: skip
Build-bot: skip
2026-02-09 12:01:38 -06:00
Eberhard Beilharz
7941b3d4a1
fix(linux): check for existing file before trying to install
Under some circumstances it's possible that the user manages to select
a directory instead of a kmp file, or manually enters a non-existing file.
Is used to throw an error that we caught on Sentry; the user was able to
continue to use the app. This change now checks for a valid file before
trying to install the kmp file.

Fixes: #15572
Fixes: KEYMAN-LINUX-99
2026-02-09 16:04:24 +01:00
Eberhard Beilharz
96bae4296f
Merge pull request #15568 from keymanapp/chore/linux/xz
chore(linux): use xz compression for source tarballs 🗜️

Using the xz compression instead of gzip greatly reduces the size of the tarball.

Follows: #15566
2026-02-09 15:13:26 +01:00
Eberhard Beilharz
e776a2cf76
Merge pull request #15566 from keymanapp/fix/linux/15544_sourcepkg
fix(linux): include missing artifacts in source tarball 🗜️

With this change it's possible to build Keyman from the source tarball by running `./build.sh` from the Keyman root directory.

When building Keyman as part of the Ubuntu/Debian packaging, we don't use the toplevel `build.sh` file but instead call the build scripts in the subdirectories. This omits building some components that are currently not needed for running Keyman for Linux. The `dist.sh` script only includes the necessary files in this case, distinguished by the `origdist` parameter. This results in a significantly smaller tarball (2.5MB vs 51MB).

This change also enhances the `generate_tar_ignore_list` function so that it is now possible to add `build` to the exclude list to ignore all `build` subdirectories.

Fixes: #15544
2026-02-09 15:06:34 +01:00
Keyman Server
bdeede1e66
Merge pull request #15570 from keymanapp/auto/version-master-19.0.201
auto: increment master version to 19.0.201
2026-02-06 19:05:19 +01:00
Keyman Build Agent
1bd482790c auto: increment master version to 19.0.201
Test-bot: skip
Build-bot: skip
2026-02-06 12:01:28 -06:00
Eberhard Beilharz
a3ea01451e
chore(linux): use xz compression for source tarballs
Using the xz compression instead of gzip greatly reduces the size of the
tarball.

Follows: #15566
Test-bot: skip
2026-02-06 17:37:34 +01:00
Eberhard Beilharz
9322a8adcb
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-02-06 17:13:35 +01:00
Eberhard Beilharz
f981469298
chore(linux): add unit tests for new functions in package-build.inc.sh
This addresses code review comments. Also improve variable naming and
documentation for these new functions.
2026-02-06 17:02:27 +01:00
Eberhard Beilharz
5fbe9bc955
chore(linux): add assert-true and assert-false to test framework
This change adds the `assert-true` and `assert-false` function to our
bash testing framework, together with unit tests.

Also rename the test file to `testing-framework.inc.tests.sh` to match
the implementation file.
2026-02-06 16:36:02 +01:00
Shawn Schantz
4314afb96d
Merge pull request #15484 from keymanapp/chore/mac/15475-xcode-26
maint(mac): upgrade to Xcode 26.2
2026-02-06 09:48:38 -05:00
Joshua Horton
61c8ac95e4
Merge pull request #15564 from keymanapp/change/web/clean-test-resource-imports
change(web): define, utilize cleaner Web test-resource import paths
2026-02-06 02:15:11 +07:00
Keyman Server
6b81326146
Merge pull request #15567 from keymanapp/auto/version-master-19.0.200
auto: increment master version to 19.0.200
2026-02-05 19:06:18 +01:00
Keyman Build Agent
7444b03e5d auto: increment master version to 19.0.200
Test-bot: skip
Build-bot: skip
2026-02-05 12:02:25 -06:00
Eberhard Beilharz
1b4e254963
fix(linux): include missing artifacts in source tarball
With this change it's possible to build Keyman from the source tarball
by running `./build.sh` from the Keyman root directory.

When building Keyman as part of the Ubuntu/Debian packaging, we don't use
the toplevel `build.sh` file but instead call the build scripts in the
subdirectories. This omits building some components that are currently
not needed for running Keyman for Linux. The `dist.sh` script only
includes the necessary files in this case, distinguished by the `origdist`
parameter. This results in a significantly smaller tarball (2.5MB vs 51MB).

This change also enhances the `generate_tar_ignore_list` function so that
it is now possible to add `build` to the exclude list to ignore all
`build` subdirectories.

Fixes: #15544
Build-bot: skip
Test-bot: skip
2026-02-05 17:56:15 +01:00
Joshua Horton
b3e045a7a8 change(web): define, utilize cleaner Web test-resource import paths
Build-bot: skip build:web
Test-bot: skip
2026-02-05 10:11:14 -06:00
Eberhard Beilharz
81eeef0805
Merge pull request #15559 from keymanapp/chore/linux/cherry-pick/deb
chore(linux): update copyright year and standards version 🍒
2026-02-05 14:05:49 +01:00
Eberhard Beilharz
a17c9249c4
Merge pull request #15557 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update debian changelog 🍒
2026-02-05 14:05:30 +01:00
Darcy Wong
986bb2379a
Merge pull request #15510 from keymanapp/feat/android/lang
feat(android): Use current display language for keyboard search🗺️
2026-02-05 14:39:39 +07:00