Commit graph

32370 commits

Author SHA1 Message Date
Marc Durdin
881e08282a
Merge pull request #14795 from keymanapp/feat/windows/14787-improve-startup-time
feat(windows): improve startup time by caching locale names
2025-09-26 09:09:24 +02:00
rc-swag
96a28feeed
Merge pull request #13573 from keymanapp/fix/windows/13376-language-Selector-setup-is-not-sorted
fix(windows): sort setup UI language selector according to language names
2025-09-26 15:28:13 +10:00
Keyman Server
4a6b504897
Merge pull request #14834 from keymanapp/auto/version-master-19.0.128
auto: increment master version to 19.0.128
2025-09-25 20:04:03 +02:00
Keyman Build Agent
970a4c43c2 auto: increment master version to 19.0.128
Test-bot: skip
Build-bot: skip
2025-09-25 14:02:31 -04:00
Darcy Wong
0952e9cd10
Merge pull request #14830 from keymanapp/docs/android/get-navigation-height
docs(android): Document getNavigationBarHeight API
2025-09-25 20:53:08 +07:00
Darcy Wong
13131682fe
Merge pull request #14828 from keymanapp/fix/android/sample-fv-bottom-inset
fix(android): Fix bottom insets for Sample and FirstVoices apps
2025-09-25 20:52:54 +07:00
Darcy Wong
b04309c7df
Merge pull request #14808 from keymanapp/fix/android/some-bottom-inset
fix(android): Apply bottom insets to system keyboard
2025-09-25 20:52:39 +07:00
Marc Durdin
df194a7511
Merge pull request #14816 from keymanapp/maint/resources/find-7z-on-path-in-windows
maint(resources): lookup 7z on path on Windows if SEVENZ_HOME is not set
2025-09-25 15:41:48 +02:00
Darcy Wong
7e08782703 docs(android): Document getNavigationBarHeight API 2025-09-25 14:54:05 +07:00
Marc Durdin
c1e74369d9
Merge pull request #14814 from keymanapp/fix/windows/14791-no-advertising
fix(windows): disable MSI shortcut advertisement
2025-09-25 09:51:50 +02:00
Marc Durdin
39b4d630dd docs(windows): add documentation for localization functions
Build-bot: skip
2025-09-25 09:46:24 +02:00
Marc Durdin
914bf6a8a4 fix(windows): disable .msi shortcut advertisement
Change Keyman shortcuts to standard Windows shortcuts, rather than
advertised shortcuts, to work around a problem with advertised shortcuts,
elevated custom actions, and non-admin users, as described in #14791.

The problem is related to advertised shortcuts in Windows Installer. When
you have an advertised shortcut, the first use of the shortcut triggers a
repair to prepare the app for use in the new user's context. And now, with
Aug 2025 Windows security patch KB5063878, tweaked in Sep 2025, this
triggers an elevation dialog, which the non-admin user cannot work around.

This means that the shortcuts will be regular Windows shortcut files rather
than advertised shortcuts, and are added to
`%ProgramData%\Microsoft\Windows\Start Menu\Programs\Keyman for Windows`
(so, available for all users on that machine, but will not follow a user
across machines).

* DISABLEADVTSHORTCUTS: https://learn.microsoft.com/en-us/windows/win32/msi/disableadvtshortcuts
* Shortcut advertisement: https://learn.microsoft.com/en-us/windows/win32/msi/advertisement

Relates-to: #14809
Fixes: #14791
Build-bot: skip release:windows
2025-09-25 09:04:37 +02:00
Marc Durdin
bf9e135072 maint(resources): use command instead of where to find 7z.exe
Using `7z.exe` instead of `7z` finds the correct command.
2025-09-25 08:56:06 +02:00
rc-swag
c5b82bd01a
fix(windows): minor review comments 2025-09-25 14:29:23 +10:00
Darcy Wong
03438c3ab9 fix(android): Fix bottom insets for Sample and FirstVoices apps 2025-09-25 11:20:11 +07:00
Marc Durdin
ad88e066bc
Merge pull request #14827 from keymanapp/dependabot/npm_and_yarn/tar-fs-3.1.1
chore(deps-dev): bump tar-fs from 3.0.9 to 3.1.1
2025-09-25 06:02:23 +02:00
Marc Durdin
ae4fffb893
Merge branch 'master' into dependabot/npm_and_yarn/tar-fs-3.1.1 2025-09-25 05:58:49 +02:00
Marc Durdin
ec229c1a23
Merge pull request #14815 from keymanapp/maint/windows/sign-check-only-in-ci
maint(windows): check code signatures only in CI builds
2025-09-25 05:48:02 +02:00
Darcy Wong
8af7803839 fix(android): Adjust top insets for the navigation bar inset 2025-09-25 10:39:06 +07:00
Darcy Wong
86bf4ce85e chore(android): Merge remote-tracking branch 'origin/master' into fix/android/some-bottom-inset
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2025-09-25 10:04:16 +07:00
dependabot[bot]
ba38a27589
chore(deps-dev): bump tar-fs from 3.0.9 to 3.1.1
Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 3.0.9 to 3.1.1.
- [Commits](https://github.com/mafintosh/tar-fs/compare/v3.0.9...v3.1.1)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-version: 3.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-24 21:37:11 +00:00
Markus Greiner
ccde97213a
Merge pull request #14824 from keymanapp/fix/common/single-changes-in-gha
fix(common): registry clean-up enabled, no terminal in github action

No longer dryrun for the registry clean-up GHA workflow
docker run doesn't use a terminal in GHA (erasing -t flag)
2025-09-24 23:14:54 +02:00
Keyman Server
07fcebaf76
Merge pull request #14826 from keymanapp/auto/version-master-19.0.127
auto: increment master version to 19.0.127
2025-09-24 20:04:41 +02:00
Keyman Build Agent
c83e66c6fa auto: increment master version to 19.0.127
Test-bot: skip
Build-bot: skip
2025-09-24 14:01:22 -04:00
Markus Greiner
b8007beedc fix(common): registry clean-up enabled, no terminal in github action
No longer dryrun for the registry clean-up GHA workflow
docker run doesn't use a terminl (erasing -t flag)

Test-bot: skip
Build-bot: skip
2025-09-24 17:24:16 +02:00
Eberhard Beilharz
5cff28d28d
Merge pull request #14819 from keymanapp/maint/linux/shellcheck
This change improves our `.shellcheckrc` file so that several directives are no longer needed and source files are still found. Also remove some directives that are no longer necessary, either because the changes to `.shellcheckrc` makes them obsolete, or because the lines changed so that they no longer contain the problem.
2025-09-24 08:14:06 +02:00
Darcy Wong
0a91f50fcc fix(android): Move setting system keyboard insets to KMManager 2025-09-24 13:05:34 +07:00
Darcy Wong
ddc994857d fix(android): Fix the alignment 2025-09-24 08:43:35 +07:00
Keyman Server
66e439e777
Merge pull request #14821 from keymanapp/auto/version-master-19.0.126
auto: increment master version to 19.0.126
2025-09-23 20:02:05 +02:00
Keyman Build Agent
f3fe63779f auto: increment master version to 19.0.126
Test-bot: skip
Build-bot: skip
2025-09-23 14:01:18 -04:00
Eberhard Beilharz
db3cd5092d
maint(linux): remove several shellcheck directives and warnings
This change improves our `.shellcheckrc` file so that several directives
are no longer needed and source files are still found. Also remove some
directives that are no longer necessary, either because the changes to
`.shellcheckrc` makes them obsolete, or because the lines changed so
that they no longer contain the problem.

Also remove some shellcheck warnings.

Build-bot: skip
Test-bot: skip
2025-09-23 18:30:16 +02:00
Markus Greiner
ceea0eea46
Merge pull request #14784 from keymanapp/fix/common/tests-running-in-container
fix(common): some more tests running successfully in a container

- setting KEYMAN_ROOT
- ignoring test:linux until #13887 is fixed
- tagging default containers, instead of running a second build on the same Dockerfile
2025-09-23 13:56:15 +02:00
Darcy Wong
aa886cecba fix(android): Separate insets for inapp and system keyboard 2025-09-23 17:07:48 +07:00
Marc Durdin
4828df7c89 maint(resources): lookup 7z on path on Windows if SEVENZ_HOME is not set
Also cleans up a number of possible quoting issues and shellcheck
directives.

Note: we need to do release builds everywhere to verify that zip changes
are not going to break things.

Test-bot: skip
Build-bot: release
2025-09-23 10:44:58 +02:00
Marc Durdin
c06b5b8eea maint(windows): check code signatures only in CI builds
When building locally, code signatures will not have SIL in the name, so
will fail the build. So skip checking code signatures on local builds.

Build-bot: skip release:windows,developer
Test-bot: skip
2025-09-23 10:32:55 +02:00
Darcy Wong
440f6c9c7e fix(android): Apply bottom insets to system keyboard
Reverts part of #14619
2025-09-23 08:26:31 +07:00
Keyman Server
5b0ac449a1
Merge pull request #14812 from keymanapp/auto/version-master-19.0.125
auto: increment master version to 19.0.125
2025-09-22 20:04:19 +02:00
Keyman Build Agent
0b0ec3e67c auto: increment master version to 19.0.125
Test-bot: skip
Build-bot: skip
2025-09-22 14:01:58 -04:00
Markus Greiner
ea77b0cb5f Merge remote-tracking branch 'origin/master' into fix/common/tests-running-in-container
adding "-t" when Docker containers are not started by a Docker container
2025-09-22 14:04:26 +02:00
Eberhard Beilharz
09460c35b3
Merge pull request #14803 from keymanapp/refactor/resources/docker-args 2025-09-22 12:11:11 +02:00
Eberhard Beilharz
643a7fb984
Merge pull request #14802 from keymanapp/refactor/linux/testscript 2025-09-22 12:02:53 +02:00
Eberhard Beilharz
9f4ba0c51b
Merge pull request #14801 from keymanapp/refactor/linux/mesonwarning 2025-09-22 12:02:39 +02:00
Eberhard Beilharz
9037871235
Merge pull request #14798 from keymanapp/maint/linux/cherry-pick/cherryupload 2025-09-22 12:02:20 +02:00
Keyman Server
41fc379d65
Merge pull request #14804 from keymanapp/auto/version-master-19.0.124
auto: increment master version to 19.0.124
2025-09-19 20:02:31 +02:00
Keyman Build Agent
119a044974 auto: increment master version to 19.0.124
Test-bot: skip
Build-bot: skip
2025-09-19 14:01:20 -04:00
Eberhard Beilharz
14d47cc14d
refactor(resources): use array for Docker arguments
Test-bot: skip
2025-09-19 18:45:31 +02:00
Eberhard Beilharz
b2046e065a
refactor(linux): remove shellcheck warnings
Build-bot: skip
Test-bot: skip
2025-09-19 18:41:26 +02:00
Eberhard Beilharz
37e0491b49
refactor(linux): remove a meson deprecation warning
`meson.build_root()` is deprecated in Meson 1.0+.

Test-bot: skip
2025-09-19 18:38:54 +02:00
Eberhard Beilharz
c1c0c1f926
maint(linux): improve upload-to-debian script 🍒🍒
- directly get PR# from `gh pr create`
- add `Build-bot: skip` trailers
- 🍒-pick of the improved 🍒-pick #14785

Cherry-pick-of: #14785
Build-bot: skip
Test-bot: skip
2025-09-19 15:45:07 +02:00
Marc Durdin
ad9ab53c72 feat(windows): improve startup time by caching locale names
This was flagged years ago as a potential performance hotspot: each
locale is loaded at process start for any kmcomapi-involved process,
which takes quite a long time. This refactor moves the locale
enumeration out of kmcomapi and into the build process, so we have a
static list of locales put into locale/index.xml.

This includes a minor breaking change to Keyman Engine API on Windows:
`MessageFromID(id, locale)` now only allows the three ids
SKUILanguageName, SKUILanguageNameWithEnglish, and SKLanguageCode, for
performance reasons. At this point, only SKUILanguageNameWithEnglish is
actually used anywhere in Keyman, and it is unlikely that any other
consumers are requesting alternate IDs.

Fixes: #14787
Build-bot: skip release:windows
2025-09-19 14:11:37 +02:00