Commit graph

33825 commits

Author SHA1 Message Date
Eberhard Beilharz
fa6a795f6f
Merge pull request #15854 from keymanapp/refactor/web/kbdbaseclass
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
refactor(web): add abstract `Keyboard` base class 🎼

Also rename `JSKeyboardData` → `KeyboardData`.
2026-04-17 15:22:17 +02:00
Eberhard Beilharz
6677c2b198
refactor(web): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-04-17 14:49:10 +02:00
Eberhard Beilharz
d93fc5aa7e
refactor(web): output id in console error of playwright TC reporter
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-17 10:05:33 +02:00
Eberhard Beilharz
115ab18d71
refactor(web): add abstract Keyboard base class
Also rename `JSKeyboardData` → `KeyboardData`.

Test-bot: skip
2026-04-16 22:18:08 +02:00
Keyman Server
945556201e
Merge pull request #15850 from keymanapp/auto/A19S26-merge-master-into-web-core
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
auto: A19S26 merge master into web-core 🎼
2026-04-13 16:35:31 +02:00
Keyman Server
94e1b26825
Merge branch 'epic/web-core' into auto/A19S26-merge-master-into-web-core 2026-04-13 15:47:18 +02:00
Keyman Server
f99512c328
Merge pull request #15830 from keymanapp/auto/version-master-19.0.223
auto: increment master version to 19.0.223
2026-04-08 20:04:13 +02:00
Keyman Build Agent
f494a10e24 auto: increment master version to 19.0.223
Test-bot: skip
Build-bot: skip
2026-04-08 13:02:18 -05:00
Eberhard Beilharz
0166861f0b
Merge pull request #15823 from keymanapp/fix/linux/memmove
fix(linux): fix memory problem

This fixes a problem identified by devin.ai: Because of the operator precedence the previous code caused `memmove` to read `sizeof(commit_queue_item) - 1` bytes past the end of `commit_queue`. With this change `memmove` now reads the intended `MAX_QUEUE_SIZE - 1` `commit_queue_items`.
2026-04-08 18:03:02 +02:00
Eberhard Beilharz
b765b55660
fix(linux): fix memory problem
This fixes a problem identified by devin.ai: Because of the operator
precedence the previous code caused `memmove` to read
`sizeof(commit_queue_item) - 1` bytes past the end of `commit_queue`.
With this change `memmove` now reads the intended `MAX_QUEUE_SIZE - 1`
`commit_queue_items`.

Test-bot: skip
2026-04-07 15:14:37 +02:00
Keyman Server
0997cb826d
Merge pull request #15810 from keymanapp/auto/version-master-19.0.222
auto: increment master version to 19.0.222
2026-03-27 19:03:55 +01:00
Keyman Build Agent
da7333d8c2 auto: increment master version to 19.0.222
Test-bot: skip
Build-bot: skip
2026-03-27 13:02:24 -05:00
Marc Durdin
1e1a378231
Merge pull request #15791 from keymanapp/dependabot/npm_and_yarn/developer/src/server/src/win32/trayicon/addon-src/brace-expansion-5.0.5
chore(deps): bump brace-expansion from 5.0.4 to 5.0.5 in /developer/src/server/src/win32/trayicon/addon-src
2026-03-28 03:25:08 +11:00
Marc Durdin
9702047e8f
Merge pull request #15773 from keymanapp/dependabot/npm_and_yarn/flatted-3.4.2
chore(deps-dev): bump flatted from 3.2.5 to 3.4.2
2026-03-28 03:24:57 +11:00
Marc Durdin
b4fe9a4322
Merge pull request #15784 from keymanapp/dependabot/npm_and_yarn/picomatch-2.3.2
chore(deps): bump picomatch from 2.3.1 to 2.3.2
2026-03-28 03:23:12 +11:00
Marc Durdin
713d5e3ebb
Merge pull request #15786 from keymanapp/dependabot/npm_and_yarn/developer/src/server/src/win32/trayicon/addon-src/picomatch-4.0.4
chore(deps): bump picomatch from 4.0.3 to 4.0.4 in /developer/src/server/src/win32/trayicon/addon-src
2026-03-28 03:22:24 +11:00
Marc Durdin
24ddbf83fb
Merge pull request #15803 from keymanapp/auto/A19S25-merge-master-into-web-core
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
auto: A19S25 merge master into web-core 🎼
2026-03-27 23:12:29 +11:00
Keyman Server
ab188cd3d7
Merge pull request #15807 from keymanapp/auto/cherry-pick-18.0.249-history-to-alpha
auto: cherry-pick 18.0.249 history to alpha
2026-03-27 11:50:11 +01:00
Keyman Build Agent
ba4ff8a868 auto: cherry-pick 18.0.249 history to alpha
Build-bot: skip
Test-bot: skip
2026-03-27 05:43:49 -05:00
Marc Durdin
a5c09f40a1 chore(core): fixup test keyboard paths 2026-03-27 10:52:34 +01:00
Marc Durdin
da12c50c09
Merge pull request #15787 from keymanapp/fix/keyman-touch-layout-spec-default-prop
fix(common): add missing `default` property to keyman-touch-layout.clean.spec.json
2026-03-27 20:45:47 +11:00
Marc Durdin
8311c65077
Merge branch 'epic/web-core' into auto/A19S25-merge-master-into-web-core 2026-03-27 16:30:55 +11:00
dependabot[bot]
0205ada4aa
chore(deps): bump brace-expansion
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 5.0.4 to 5.0.5.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.4...v5.0.5)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-26 22:20:26 +00:00
Keyman Server
b8aa8de8b9
Merge pull request #15790 from keymanapp/auto/version-master-19.0.221
auto: increment master version to 19.0.221
2026-03-26 19:03:56 +01:00
Keyman Build Agent
7396de816e auto: increment master version to 19.0.221
Test-bot: skip
Build-bot: skip
2026-03-26 13:01:36 -05:00
Marc Durdin
d97fb2c5bb fix(common): add missing default property to keyman-touch-layout.clean.spec.json
Matches property in keyman-touch-layout.spec.json. Update to version 2.1.2.

Test-bot: skip
See-also: keymanapp/api.keyman.com#338
2026-03-26 14:54:20 +01:00
Shawn Schantz
a990696c3d
Merge pull request #15561 from keymanapp/fix/mac/15543-backspace
fix(mac): improved adherence to backspace rules for compliant apps
2026-03-26 07:13:28 -04:00
Shawn Schantz
7f203cd6c7 fix(mac): removed unused code and extra logging 2026-03-26 06:27:04 -04:00
sgschantz
b22b036f6b maint(mac): upgrade to Xcode 26
change cocoa-sentry version to one compatible with
Xcode 26
2026-03-26 06:17:55 -04:00
dependabot[bot]
fb8dae5090
chore(deps): bump picomatch
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-26 07:39:34 +00:00
dependabot[bot]
2ece72e2f3
chore(deps): bump picomatch from 2.3.1 to 2.3.2
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 22:27:04 +00:00
Keyman Server
12ae3bd729
Merge pull request #15783 from keymanapp/auto/version-master-19.0.220
auto: increment master version to 19.0.220
2026-03-25 19:04:20 +01:00
Keyman Build Agent
b5aa0a86dd auto: increment master version to 19.0.220
Test-bot: skip
Build-bot: skip
2026-03-25 13:01:51 -05:00
Eberhard Beilharz
3816077d0a
Merge pull request #15609 from keymanapp/fix/core/15569_ldml
fix(core): fix keydown/up handling for LDML keyboards

For LDML keyboards this change fixes the `emit_keystroke` flag so that it always has the same value for the KeyDown and the KeyUp event. This fixes some problems with stuck keys. Previously we would set `emit_keystroke=TRUE` on KeyDown but `emit_keystroke=FALSE` on KeyUp for frame keys. This caused Linux to never see the KeyUp event, resulting in a stuck key.

Also add unit tests that verifies that the actions that we get after calling `km_core_process_event` are what we expect.

Follows: #15656 
Fixes: #15569
Fixes: #15550
2026-03-25 11:20:11 +01:00
Darcy Wong
23e1e89152
Merge pull request #15762 from keymanapp/maint/gha-24
maint(common): Update GitHub actions for Node 24
2026-03-25 04:55:30 +07:00
Keyman Server
27433aee14
Merge pull request #15779 from keymanapp/auto/version-master-19.0.219
auto: increment master version to 19.0.219
2026-03-24 19:03:46 +01:00
Keyman Build Agent
fe84bab1d3 auto: increment master version to 19.0.219
Test-bot: skip
Build-bot: skip
2026-03-24 13:01:46 -05:00
Marc Durdin
a5abb7a83d
Merge pull request #15777 from keymanapp/fix/developer/compile-custom-model-globalThis
fix(developer): define globalThis for compiled custom lexical models
2026-03-25 00:10:23 +11:00
Eberhard Beilharz
aa36cfe961
fix(core): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-24 12:43:11 +01:00
Marc Durdin
1806c1baa6 fix(developer): define globalThis for compiled custom lexical models
The boilerplate code for custom lexical models has never really been
tested. For use in a browser/worker context, we need to define
`exports`. The added unit test verifies that the model will build.

Test-bot: skip
2026-03-24 10:31:07 +01:00
Eberhard Beilharz
66c5f124cf
Merge pull request #15497 from keymanapp/maint/web/jstests
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
maint(web): re-add engine .js tests

PR #15093 merged multiple engine modules into one. However, in doing so we lost the .js tests and ran only the .ts ones. This change re-adds the .js tests and fixes them where the code diverged since then.

Other changes: 
- rename `queryEngine.ts` to `cloudQueryEngine.ts` to match the class name 
- remove unused `keyboard-storage/cloud/index.ts` 
- expose `CLOUD_TIMEOUT_ERR` and `CLOUD_STUB_REGISTRATION_ERR` as `unitTestEndpoints` 
- add `test/resources` to exports in `web/package.json`. This was necessary because the compiled .ts test files are under `web/build` whereas the .js test files are under `web/src` and so the relative paths in imports no longer work. Also fix the imports in test files.
- remove `node-keyboard-loader.ts` which was just a wrapper around `NodeKeyboardLoader`.
- some cleanup and removal of default exports and aliases.
- moved `specialized-backspace.tests.js` to `specialized-backspace.tests.ts` and fixed resulting issues/warnings.
- apply fix from #15477 if KEYMAN_ROOT is not set
- inline some consts so that we don't have to export them for unit testing
- create `getKeymanRoot` and `getWebTestResourcesPath` helper functions to DRY out the code
- run `languageProcessortests.js` without coverage to prevent a failure creating the coverage report

I'm not happy to put the compiled files for `test/auto/resources` under `web/src/test/auto/resources/build`, but that's the only way I got it to work. If I put the compiled files in `web/build/test/resources` it couldn't find the types for `promise-status-async`.

Follows: #15093
2026-03-23 18:15:53 +01:00
Eberhard Beilharz
bbad490154
maint(web): cleanup imports
For the files touched in this PR:

- fix the order of the imports according to style guide
- use `node:` prefix for node modules
- add header
2026-03-23 15:43:17 +01:00
Eberhard Beilharz
06f7f22cd0
maint(web): address more code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-03-23 15:43:17 +01:00
Eberhard Beilharz
745fa36d24
chore(web): Merge branch 'epic/web-core' into maint/web/jstests
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-20 18:03:47 +01:00
Eberhard Beilharz
1d9b8cc883
maint(web): address code review comments
- inline consts so that we don't have to export them for unit testing
- create `getKeymanRoot` and `getWebTestResourcesPath` helper functions
  to DRY out the code
- run `languageProcessortests.js` without coverage to prevent a failure
  creating the coverage report.
2026-03-20 15:53:41 +01:00
dependabot[bot]
a0b7e507b9
chore(deps-dev): bump flatted from 3.2.5 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.2.5 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.2.5...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 14:35:49 +00:00
Darcy Wong
c60be3711f fix(resources): Pin sha to github-script
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-18 07:34:53 +07:00
Darcy Wong
c097d5b7d0 fix(common): pin sha versions 2026-03-18 07:32:48 +07:00
Keyman Server
9eaa775c6a
Merge pull request #15768 from keymanapp/auto/version-master-19.0.218
auto: increment master version to 19.0.218
2026-03-17 19:04:04 +01:00
Keyman Build Agent
6be3b2ad11 auto: increment master version to 19.0.218
Test-bot: skip
Build-bot: skip
2026-03-17 13:01:23 -05:00