Commit graph

34272 commits

Author SHA1 Message Date
Marc Durdin
77ad99ee25 feat(android): add keyman-version to package-version check
For Keyman for Android, add the new `keyman-version` parameter to the
api.keyman.com/package-version call so that updates to packages that are
not supported on the current version of Keyman will not be offered. This
supports the scenario where an updated keyboard or lexical model depends
on a newer version of Keyman. Note that an older version of the keyboard
or lexical model package will not be offered (the user can still
download and install an older version manually, but generally, the
recommended solution is to upgrade Keyman; there would be significant
cost to add support for querying and installation of older version
keyboards on the server side, for limited benefit).

Relates-to: keymanapp/api.keyman.com#325
2026-06-25 11:02:46 +02:00
Marc Durdin
d86604902e chore(developer): consolidate api-extractor usage in Developer
* Centralize the api-extractor.json files, update usage
* Support @since
* Tidy up a few warnings relating to API documentation content

Fixes: #14838
Test-bot: skip
2026-06-24 14:45:05 +02:00
Marc Durdin
cfe2e8ef06 fix(developer): consolidate user options in TypeScript code
* Remove Server's 'config.json' redundant user options handling
* Refactor options.ts in Server and kmc to share common cross-platform
  code
* Move option defaults into common code and sync with .pas defaults
* Rename config.ts to standardPaths.ts to better represent the remaining
  purpose of the module.

Fixes: #13458
2026-06-24 06:27:10 +02:00
Marc Durdin
3e345274af fix(developer): fixup references to layer after deleting in Touch Layout Editor
Also address fixup after renaming a layer so that it does not touch the
key `layer` property, because that refers actually to "modifier", not
"layer" (these terms were conflated in the original design).

Fixes: #15340
Test-bot: skip
2026-06-23 11:57:15 +02:00
Marc Durdin
25a40ab903 fix(developer): resync model and keyboard after device switch in Server
When a new OSK is attached, we need to set its active keyboard and
lexical model. These are undocumented API contracts between Keyman
Engine for Web and Keyman Developer Server, so this appears to have
changed in v.19 for keyboards (although the sync is also necessary for
v.18).

Fixes: #15217
Test-bot: skip
2026-06-23 10:41:40 +02:00
rc-swag
acf64f1897 fix(windows): add update property to remote check
This just adds the update property to the HTTP request
in the RemoteUpdateCheck call.

Fixes: #15433
2026-06-23 17:07:38 +10:00
Marc Durdin
647a9ebc98 fix(developer): prevent clone of legacy keyboards with no source
If a Keyman Cloud keyboard is legacy and has no source available, make
this more obvious to the author when they attempt to clone it. Add also
messages to help the author complete the other required steps to clone
a keyboard.

Fixes: #15606
Test-bot: skip
2026-06-22 17:17:18 +02:00
Marc Durdin
b614411045 fix(developer): map shift key nextlayer property when importing OSK
Fixes: #14227
Test-bot: skip
2026-06-22 15:48:19 +02:00
rc-swag
5946dce596
Merge branch 'master' into fix/windows/clone-state-actions-deep-copy
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-19 14:27:55 +10:00
Eberhard Beilharz
bda4b50e2a
test(web): add e2e tests for examples from guide
Build-bot: skip build:web
Test-bot: skip
2026-06-18 19:43:12 +02:00
Keyman Server
58a565be21
Merge pull request #16105 from keymanapp/auto/version-master-19.0.248
auto: increment master version to 19.0.248
2026-06-16 20:04:22 +02:00
Keyman Build Agent
06eb7dee93 auto: increment master version to 19.0.248
Test-bot: skip
Build-bot: skip
2026-06-16 13:01:42 -05:00
Marc Durdin
d505a02755
Merge pull request #16100 from keymanapp/chore/1607-multi-labeler-5.0.0
chore: update multi-labeler to 5.0.0
2026-06-16 23:47:34 +10:00
Marc Durdin
72a1770321 chore: update multi-labeler to 5.0.0
Also update actions/labeler to 6.1.0. This moves to node v24.

Relates-to: keymanapp/s.keyman.com#1607
2026-06-16 10:33:34 +02:00
Keyman Server
652f2ab1e4
Merge pull request #16097 from keymanapp/auto/version-master-19.0.247
auto: increment master version to 19.0.247
2026-06-15 20:04:29 +02:00
Keyman Build Agent
e9a85dfd2f auto: increment master version to 19.0.247
Test-bot: skip
Build-bot: skip
2026-06-15 13:02:00 -05:00
Marc Durdin
2d13576185
Merge pull request #16089 from keymanapp/docs/windows/help-10-base-keyboard
docs(windows): add context documentation for additional Advanced options
2026-06-15 22:17:34 +10:00
Marc Durdin
ec067a8e19
Merge pull request #16088 from keymanapp/fix/15753-meson-cross-subsystem-for-arm
fix(core): use meson subsystem and needs_exe_wrapper for cross builds on Windows
2026-06-15 22:17:19 +10:00
Marc Durdin
f52f383d93
Merge pull request #16076 from keymanapp/feat/developer/16068-run-project-validation-from-tike
feat(developer): run project validation from IDE
2026-06-15 22:17:10 +10:00
Keyman Server
062335e1c7
Merge pull request #16091 from keymanapp/auto/version-master-19.0.246
auto: increment master version to 19.0.246
2026-06-10 20:04:23 +02:00
Keyman Build Agent
624e076fe7 auto: increment master version to 19.0.246
Test-bot: skip
Build-bot: skip
2026-06-10 13:02:19 -05:00
Eberhard Beilharz
046100a5f8
Merge pull request #16067 from keymanapp/fix/web/validateForCustomKeyboard
fix(web): fix `KeyboardStub.validateForCustomKeyboard`

This change fixes a misleading error message in `validateForCustomKeyboard` - `KR` is not the region as the error implies - furthermore it doesn't make sense to check `KR` since it is the optional   [keyboard registration function](https://help.keyman.com/developer/engine/web/18.0/reference/interface/registerKeyboard),   so this change removes it.
2026-06-10 12:44:41 +02:00
Marc Durdin
6cd27503fe docs(windows): add context documentation for additional Advanced options
Add Base Keyboard, Proxy Settings, and Keyman System Settings
documentation and links to the Options context help.

Fixes: keymanapp/help.keyman.com#10
Test-bot: skip
2026-06-10 11:21:04 +02:00
Eberhard Beilharz
623a73242c
Merge pull request #16086 from keymanapp/chore/web/cleanup
chore(web): remove outdated `*_load.js` files

This change removes unused `*_load.js` files and inlines the code from `laokeys_load.js`. Current Keyman versions no longer produce _load.js files when compiling a keyboard, so these files were pretty outdated.
2026-06-10 08:14:07 +02:00
Eberhard Beilharz
0539582012
Merge pull request #16085 from keymanapp/docs/web/keyman17
docs(web): remove unnecessary mentioning of Keyman 17 from docs

Some pages were mentioning Keyman 17 although the content applies to newer versions as well. This change therefore removes the version number from those places.
2026-06-10 08:13:38 +02:00
Eberhard Beilharz
31843db6f9
Merge pull request #16083 from keymanapp/chore/web/kmxsample
chore(web): hide KMX keyboard test page
2026-06-10 08:13:13 +02:00
Marc Durdin
a47fd7d365 fix: use meson subsystem and needs_exe_wrapper for cross builds on Windows
Relates-to: mesonbuild/meson#15840
Fixes: #15753
Test-bot: skip
2026-06-10 05:43:42 +02:00
Marc Durdin
a005e45d25
chore: Apply suggestions from code review
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2026-06-09 20:58:12 +02:00
Keyman Server
e185b91568
Merge pull request #16087 from keymanapp/auto/version-master-19.0.245
auto: increment master version to 19.0.245
2026-06-09 20:04:07 +02:00
Keyman Build Agent
9d3fb7a200 auto: increment master version to 19.0.245
Test-bot: skip
Build-bot: skip
2026-06-09 13:01:55 -05:00
Eberhard Beilharz
9733ea4211
chore(web): remove outdated *_load.js files
This change removes unused `*_load.js` files and inlines the code from
`laokeys_load.js`. Current Keyman versions no longer produce _load.js
files when compiling a keyboard, so these files were pretty outdated.

Build-bot: skip build:web
Test-bot: skip
2026-06-09 18:42:47 +02:00
Eberhard Beilharz
52e6854d9f
Merge pull request #16070 from keymanapp/chore/web/improvedoc
chore(web): more improvements to documentation

- some small updates to the text
2026-06-09 18:19:00 +02:00
Eberhard Beilharz
a16e9b7f59
docs(web): remove unnecessary mentioning of Keyman 17 from docs
Some pages were mentioning Keyman 17 although the content applies to
newer versions as well. This change therefore removes the version
number from those places.

Build-bot: skip
Test-bot: skip
2026-06-09 18:16:59 +02:00
Eberhard Beilharz
517e9d26f3
Merge pull request #16064 from keymanapp/chore/web/449_rm_kmw
chore(web): improve the KeymanWeb integration documentation

- replace use of `kmw` with `keyman` 
- unify pattern to load keyboards: do it in `keyman.init().then()` instead   of in the document `onload`

Part-of: keymanapp/keyman.com#449
2026-06-09 18:08:15 +02:00
Eberhard Beilharz
1849286ace
chore(web): restore intended behavior of control-by-control example
Pending the fix for #16080.
2026-06-09 18:07:07 +02:00
Eberhard Beilharz
f697cffe58
chore(web): Merge branch 'chore/web/449_rm_kmw' into chore/web/improvedoc 2026-06-09 18:03:50 +02:00
Eberhard Beilharz
a354ba1f4a
chore(web): clean up some test headers 2026-06-09 17:39:41 +02:00
Eberhard Beilharz
52b2e676cf
chore(web): hide KMX keyboard test page
Since we removed the .kmx keyboard loading from Keyman 19 the test page
no longer works. This change hides the link to the test page.

Build-bot: skip
Test-bot: skip
2026-06-09 17:21:54 +02:00
Eberhard Beilharz
cea706c562
chore(web): address code review comments 2026-06-09 17:13:47 +02:00
Eberhard Beilharz
cf3d87d2f3
chore(web): update sample doc to match sample html
The guide examples load `keymanweb.js` from the CDN, but the documentation
explaining the examples showed loading local file. This change adjusts
the docs to show loading from CDN.

Built-bot: skip
Test-bot: skip
2026-06-09 17:11:58 +02:00
Eberhard Beilharz
135de352c4
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-06-09 17:11:43 +02:00
Eberhard Beilharz
c31cbecce1
Merge pull request #16066 from keymanapp/refactor/web/reformatting
refactor(web): reformatting of files
2026-06-09 14:38:32 +02:00
Eberhard Beilharz
4b7379c61a
Merge pull request #16063 from keymanapp/refactor/web/refactorings
refactor(web): extract function, rename variables
2026-06-09 08:44:27 +02:00
Keyman Server
476b3e3d99
Merge pull request #16081 from keymanapp/auto/version-master-19.0.244
auto: increment master version to 19.0.244
2026-06-08 20:04:04 +02:00
Keyman Build Agent
19e397de35 auto: increment master version to 19.0.244
Test-bot: skip
Build-bot: skip
2026-06-08 13:02:23 -05:00
Eberhard Beilharz
c1113ac21d
chore(web): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Also change a few places that I missed.
2026-06-08 19:27:12 +02:00
Eberhard Beilharz
15d020298e
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-06-08 18:14:25 +02:00
Eberhard Beilharz
57a0d63e47
refactor(web): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-08 17:47:45 +02:00
Marc Durdin
4344052a9c
Merge pull request #16009 from keymanapp/dependabot/npm_and_yarn/multi-f792d6d6d9
chore(deps): bump qs and express
2026-06-09 01:27:50 +10:00
Marc Durdin
87064bf552
Merge pull request #16048 from keymanapp/dependabot/npm_and_yarn/core/tests/unit/wasm/picomatch-2.3.2
chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /core/tests/unit/wasm
2026-06-09 01:09:06 +10:00