Commit graph

30248 commits

Author SHA1 Message Date
Eberhard Beilharz
d696927980
Merge pull request #14771 from keymanapp/fix/linux/cherry-pick/14748_TypeError
Fixes: #14748
Fixes: KEYMAN-LINUX-8Q
Cherry-pick-of: #14760
2025-09-18 09:16:04 +02:00
Eberhard Beilharz
192136992a
Merge pull request #14774 from keymanapp/docs/linux/whatsnew 2025-09-17 16:52:38 +02:00
Eberhard Beilharz
5adf2f7e24
Merge pull request #14773 from keymanapp/chore/linux/cherry-pick/recommends
`onboard-keyman` isn't available on Debian/Ubuntu and doesn't work properly with Wayland. This change removes the `onboard-keyman` recommends which used to cause `onboard-keyman` to be installed automatically together with `keyman`. The user can still manually install `onboard-keyman`.

Fixes: #14769
Fixes: #5214
Cherry-pick-of: #14772
2025-09-17 16:52:12 +02:00
Eberhard Beilharz
5d4eb6de46
docs(linux): update release notes for stable release
Follows: #14773
Build-bot: skip
Test-bot: skip
2025-09-17 15:47:10 +02:00
Eberhard Beilharz
b3bf2eac90
chore(linux): remove automatic installation of onboard-keyman 🍒
`onboard-keyman` isn't available on Debian/Ubuntu and doesn't work
properly with Wayland. This change removes the `onboard-keyman`
recommends which used to cause `onboard-keyman` to be installed
automatically together with `keyman`. The user can still manually install
`onboard-keyman`.

Fixes: #14769
Fixes: #5214
Cherry-pick-of: #14772
Build-bot: skip
Test-bot: skip
2025-09-17 15:33:58 +02:00
Eberhard Beilharz
373c02b7d1
fix(linux): don't crash on invalid languages in keyboard 🍒
Fixes: #14748
Fixes: KEYMAN-LINUX-8Q
Cherry-pick-of: #14760

# User Testing

**TEST_INSTALL**: open `km-config` and install a keyboard. Verify that
the keyboard gets added to the list of installed keyboards in `km-config`
as well as to the languages dropdown in the taskbar.
2025-09-17 15:10:00 +02:00
Marc Durdin
ff9f6b4698
Merge pull request #14722 from keymanapp/fix/developer/cherry-pick/14719-transform-slashes-loading-package
fix(developer): transform slashes to backslashes in paths in Package Editor 🍒 🏠
2025-09-15 10:31:54 +02:00
Eberhard Beilharz
85bae5e1c9
Merge pull request #14714 from keymanapp/fix/linux/cherry-pick/14707_NoneTypeNotIterable
Some keyboards seem to be missing the `keyboards` section in the `kmp.json` file. This change prevents a crash and instead returns `None` and thus we don't create a .ldml file and so onboard will show the default keyboard instead. The alternative would be to create an empty .ldml file, but that causes onboard to show a keyboard with all key caps being empty.

Cherry-pick-of: #14708
Fixes: #14707
Fixes: KEYMAN-LINUX-8P
2025-09-10 15:05:35 +02:00
Marc Durdin
1a7633b37e fix(developer): transform slashes to backslashes in paths in Package Editor
When loading package files generated by kmc or edited on non-Windows
systems, the Package Editor will now convert any forward slashes in the
path to backslashes. This is necessary because the path manipulation
functions in Keyman Developer work only with backslashes.

Fixes: #14719
Build-bot: skip release:developer
Cherry-pick-of: #14721
2025-09-10 15:04:24 +02:00
Eberhard Beilharz
c3487e964d
fix(linux): don't crash if kmp.json is missing keyboards section 🍒
Some keyboards seem to be missing the `keyboards` section in the
`kmp.json` file. This change prevents a crash and instead returns `None`
and thus we don't create a .ldml file and so onboard will show the
default keyboard instead. The alternative would be to create an empty
.ldml file, but that causes onboard to show a keyboard with all key caps
being empty.

Cherry-pick-of: #14708
Fixes: #14707
Fixes: KEYMAN-LINUX-8P
Test-bot: skip
2025-09-09 16:32:36 +02:00
Eberhard Beilharz
53cafb1fe0
Merge pull request #14696 from keymanapp/fix/web/cherry-pick/14108_NaN
PR #13860 fixed a similar error by adding a check for NaN. However, it missed doing it for `layoutWidth` and only changed `layoutHeight`. This PR adds a similar check to `layoutWidth` and  `internalHeight` and will thus fix the error we're still seeing in Sentry.

Also add unit tests for all three methods.

Fixes: #14108
Fixes: [KEYMAN-WEB-RA](https://keyman.sentry.io/issues/6579536471/?referrer=github_integration)
Cherry-pick-of: #14684
2025-09-08 09:07:26 +02:00
Eberhard Beilharz
0020b98784
fix(web): fix error trying to calculate style scaling effects 🍒
PR #13860 fixed a similar error by adding a check for NaN. However, it
missed doing it for `layoutWidth` and only changed `layoutHeight`. This
PR adds a similar check to `layoutWidth` and will thus fix the error
we're still seeing in Sentry.

The same error could potentially happen in `internalHeight`, so we
add the check for NaN there as well. Addresses code review comments.

Also add unit tests for all three methods.

# User Testing

TEST_INUKTITUT_KEYBOARD: Using Keyman for Android, install the
`inuktitut_pirurvik` and verify that no error notifications appear.

Fixes: #14108
Fixes: [KEYMAN-WEB-RA](https://keyman.sentry.io/issues/6579536471/?referrer=github_integration)
Cherry-pick-of: #14684
2025-09-05 15:53:39 +02:00
Darcy Wong
90a22b39ea
Merge pull request #14663 from keymanapp/cherrypick/android/samples-fv-edge-to-edge
fix(android): Cleanup layouts for Engine, Sample apps, and FirstVoices apps for edge to edge 🍒 🏠
2025-09-04 07:11:32 +07:00
Eberhard Beilharz
d3d6f63d0f
Merge pull request #14599 from keymanapp/maint/linux/cherry-pick/packaging 2025-09-03 11:56:36 +02:00
Darcy Wong
ee90c4308b fix(android): Update KMSample1 when changing orientation 2025-09-03 09:57:55 +07:00
Darcy Wong
51645c1e91 fix(android): Cl;eanup list layout in Engine and FirstVoices for edge to 2025-09-02 07:36:00 +07:00
Darcy Wong
482b6df3de fix(android): Update Sample, Test, and FirstVoices apps for edge to edge
fix(android): Update Sample, Test, and FirstVoices apps for edge to edge 🪟
2025-09-02 07:35:43 +07:00
Eberhard Beilharz
dd25555fbf
maint(linux): address code review comments 2025-09-01 15:36:42 +02:00
Darcy Wong
4937224352
Merge pull request #14642 from keymanapp/cherrypick/android/osk-gap
fix(android): Fix insets for in-app vs system keyboard 🏠
2025-09-01 06:52:37 +07:00
Darcy Wong
77af8cd807
Merge pull request #14597 from keymanapp/cherrypick/android/edge-to-edge
fix(android): Convert Keyman app layouts for edge to edge 🏠
2025-09-01 06:52:18 +07:00
Darcy Wong
ee4c70b513
Merge pull request #14584 from keymanapp/cherrypick/android/api-35
fix(android): Update: Android Target API to 35, Java to 21, and Gradle dependencies 🏠
2025-09-01 06:51:54 +07:00
Darcy Wong
3735b10a76 fix(android): Fix insets for in-app vs system keyboard 2025-08-29 08:05:00 +07:00
Eberhard Beilharz
eede3c8adc
Merge pull request #14589 from keymanapp/chore/linux/changelog 2025-08-28 09:37:55 +02:00
Marc Durdin
9937df9343
Merge pull request #14614 from keymanapp/maint/resources/cherry-pick-use-correct-version-for-pr-history-cherry-pick
maint(resources): use correct version for PR title for history cherry-pick 🏠 🍒
2025-08-28 04:50:41 +02:00
Eberhard Beilharz
701f7b72ec
chore(linux): Update debian changelog 2025-08-27 18:02:47 +02:00
Marc Durdin
578893b50c maint(resources): use correct version for PR title for history cherry-pick
Build-bot: skip
Test-bot: skip
2025-08-27 16:43:58 +02:00
Keyman Server
34460b85eb
Merge pull request #14608 from keymanapp/auto/version-stable-18.0-18.0.241
auto: increment stable-18.0 version to 18.0.241
2025-08-27 04:00:01 -07:00
Keyman Build Agent
070b6ac4e3 auto: increment stable-18.0 version to 18.0.241 2025-08-27 06:59:35 -04:00
Marc Durdin
e7d30c87cb
Merge branch 'cherrypick/android/api-35' into cherrypick/android/edge-to-edge 2025-08-27 07:01:35 +02:00
Marc Durdin
67e3bdf3b3
Merge branch 'stable-18.0' into maint/linux/cherry-pick/packaging 2025-08-27 07:01:29 +02:00
Marc Durdin
9a29431ac3
Merge branch 'stable-18.0' into cherrypick/android/api-35 2025-08-27 07:01:25 +02:00
Eberhard Beilharz
7ede83ee37
maint(linux): address code review comments 2025-08-25 17:48:06 +02:00
Eberhard Beilharz
fc406a603c
Merge pull request #14601 from keymanapp/maint/linux/cherry-pick/sourcepkg 2025-08-25 17:37:16 +02:00
Eberhard Beilharz
591b153e89
maint(linux): ignore generate patch directories 🍒
During a package build a  patch directory (`.pc`) might get created.
That can't and shouldn't be part of the source package. This change
excludes any `.pc` directories.

Cherry-pick-of: #14600
Build-bot: skip
Test-bot: skip
2025-08-25 15:56:48 +02:00
Eberhard Beilharz
0b7ac2d9ee
maint(linux): preserve created package files
Copy the generated files before removing the worktree so that they
are still available for reference.
2025-08-25 15:39:08 +02:00
Eberhard Beilharz
e776aac6c8
maint(linux): create temporary worktree for packaging 🍒
This change creates a temporary worktree for creating Debian packages.
This will allow us to work from a clean state of the source repo. Also
exclude any generated patch directories (`.pc`).

Cherry-pick-of: #14598
Build-bot: skip
Test-bot: skip
2025-08-25 15:24:52 +02:00
Eberhard Beilharz
1a5c4f08ec
Merge pull request #14591 from keymanapp/maint/linux/debpkg 2025-08-25 15:02:36 +02:00
Marc Durdin
8c82cf44a9
Merge pull request #14596 from keymanapp/maint/resources/cherry-pick-cherry-pick-stable-history
maint(resources): automatically cherry-pick history updates to master 🏠
2025-08-25 07:17:38 +02:00
Marc Durdin
eb16c5953a maint(resources): automatically cherry-pick history updates to master
See #14588 for example of working PR.

Build-bot: skip
Test-bot: skip
Cherry-pick-of: #14595
2025-08-25 05:03:28 +02:00
Darcy Wong
cbcb2cc2a2 fix(android): Update other activities for edge to edge 2025-08-25 09:44:36 +07:00
Darcy Wong
6d07af25b2 fix(android): Convert Keyman app layout to use ConstraintLayout 2025-08-25 09:44:35 +07:00
Darcy Wong
16ea45f9f7 fix(android): Update to Java 21 and Gradle dependencies 2025-08-25 09:00:06 +07:00
Eberhard Beilharz
95e594c1fa
maint(linux): fix lintian warnings
This addresses comments from Debian review of the package.

Cherry-pick-of: #13904
Test-bot: skip
2025-08-22 16:55:08 +02:00
Keyman Server
7a68212a16
Merge pull request #14587 from keymanapp/auto/version-stable-18.0-18.0.240
auto: increment stable-18.0 version to 18.0.240
2025-08-22 04:53:25 -07:00
Keyman Build Agent
5fb4ebf749 auto: increment stable-18.0 version to 18.0.240 2025-08-22 07:52:56 -04:00
Darcy Wong
e2b5063f30 fix(android): Update Android Target API to 35 2025-08-22 11:26:44 +07:00
Darcy Wong
0457b55074
Merge pull request #14561 from keymanapp/cherrypick/android/show-osk-preference
fix(android): Add preference to show on-screen keyboard to Keyman and FirstVoices apps 🍒 🏠
2025-08-21 07:47:09 +07:00
Darcy Wong
44c68c53dd
Merge pull request #14547 from keymanapp/cherrypick/android/14538-show-osk
fix(android): Show system OSK when physical keyboard connected 🍒 🏠
2025-08-21 07:46:48 +07:00
Darcy Wong
5aa99752c9
Merge pull request #14560 from keymanapp/fix/android/sentry-7
fix(android): Update sentry-android dependency to 7.22.6 for 16 KB page alignment 🍒 🏠
2025-08-21 07:45:42 +07:00
Joshua Horton
65f832d388
Merge pull request #14553 from keymanapp/fix/android/cherrypick/globalThis-polyfill
fix(android): polyfill globalThis for API 28 devices 🍒  🏠
2025-08-20 20:20:24 +07:00