Commit graph

4447 commits

Author SHA1 Message Date
Keyman Server
b842fbd00b
Merge branch 'epic/web-core' into auto/A19S32-merge-base-into-web-core 2026-07-04 13:20:35 +02:00
Marc Durdin
36a437de93
Merge pull request #16110 from keymanapp/fix/developer/14227-map-shift-key-on-import
fix(developer): map shift key nextlayer property when importing OSK
2026-07-01 00:55:37 +10:00
Marc Durdin
4f72d7f2bb
Merge pull request #16140 from keymanapp/fix/developer/11916-warn-on-race-destroying-appsource
fix(developer): warn only on race when destroying TAppSourceHttpResponder
2026-07-01 00:55:21 +10:00
Marc Durdin
fd6e2bfc6f chore(developer): remove outdated comment
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-30 14:42:21 +02:00
Marc Durdin
c7ac68208b
Merge pull request #16129 from keymanapp/fix/developer/15340-fixup-references-after-deleting-layer
fix(developer): fixup references to layer after deleting in Touch Layout Editor
2026-06-30 00:46:38 +10:00
Marc Durdin
a55efd60b7
Merge pull request #16134 from keymanapp/fix/developer/13458-consolidate-server-options
fix(developer): consolidate user options in TypeScript code
2026-06-30 00:46:26 +10:00
Marc Durdin
b2ee534612
docs: improve comments in keyman-developer-options.ts
Build-bot: skip

Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-06-29 16:11:39 +02:00
Marc Durdin
e2f0954cd5 fix(developer): Free val in GetSourcePathFromBody
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-06-29 15:59:26 +02:00
Marc Durdin
e387588503 fix(developer): warn only on race when destroying TAppSourceHttpResponder
I uncovered one race, documented in the source. Not trying to resolve
that race at this time (it is not consequential). There is a second
condition which is unclear -- and may have other consequences. So report
a warning to Sentry when this arises, but do not crash out on the user.

Fixes: #11916
Test-bot: skip
2026-06-25 12:27:00 +02:00
Marc Durdin
267a519943
Merge branch 'epic/web-core' into auto/A19S31-merge-master-into-web-core 2026-06-25 00:06:12 +10: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
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
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
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
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
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
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
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
1da2600818 feat(developer): run project validation from IDE
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
When option 'SkipMetadataFiles' is not set in the project (inverse of
'Build metadata files for Keyman Cloud' in Project Settings dialog),
then will run the validation step and generate .keyboard_info /
.model_info from the IDE. Also add corresponding log messages (and add
formatting for some others that were missing).

Fixes: #16068
Test-bot: skip
2026-06-08 14:26:39 +02:00
Marc Durdin
f21960ef31 fix(developer): reduce km_core_keyboard_attrs size to 12
Fix regression arising from #15471, caused TIKE to crash on start. Also
fix typo in fieldname default_options (not currently used in .pas
sources).

Test-bot: skip
2026-06-08 11:20:19 +02:00
dependabot[bot]
9404a7457f
chore(deps): bump qs and express
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Bumps [qs](https://github.com/ljharb/qs) to 6.15.2 and updates ancestor dependency [express](https://github.com/expressjs/express). These dependencies need to be updated together.


Updates `qs` from 6.13.0 to 6.15.2
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.13.0...v6.15.2)

Updates `express` from 4.22.1 to 4.22.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/v4.22.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/v4.22.1...v4.22.2)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 4.22.2
  dependency-type: direct:production
- dependency-name: qs
  dependency-version: 6.15.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-02 10:53:38 +00:00
Marc Durdin
6a98a39b8a
Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
Marc Durdin
3d65485ebd chore: Merge branch 'epic/web-core' into auto/A19S29-merge-master-into-web-core
Note: rewrote state_api.tests.cpp change to match new unit test pattern.
2026-05-22 11:32:24 +02:00
Marc Durdin
1588f3747c
Merge pull request #15974 from keymanapp/docs/developer/help-1423-lexical-model-distribution
docs(developer): update links to lexical model distribution
2026-05-21 23:59:25 +10:00
Marc Durdin
47518b776c chore: address review comments 2026-05-21 14:12:30 +02:00
Marc Durdin
6642e22d56
Merge pull request #15981 from keymanapp/chore/common/15565-move-common-cpp-files
chore(common): move common cpp files and remove unused files
2026-05-21 22:10:14 +10:00
Marc Durdin
950dcf1d2b docs(developer): write up basic internal docs on kmc modules
Fixes: #13672
Test-bot: skip
Build-bot: skip
2026-05-20 14:19:16 +02:00
Marc Durdin
94723ba556 chore(common): move common cpp files and remove unused files
* Move the following files from common/windows/cpp/include/ to
  common/include/:
  * keymanversion.h
  * vkeys.h

* Move the following file from common/windows/cpp/ to common/cpp/:
  * vkeys.cpp

* Move crc32.cpp,crc32.h into kmcmplib, as they are only used there.

* Remove unused ConvertUTF.c and ConvertUTF.h.

* Update references to the above files.

* Remove precompiled header refs from vkeys.cpp and change data type to
  `char*` for types in vkeys.cpp (unless `USE_CHAR16_T` is defined), so
  that it is more cross-platform accessible, update usages accordingly,
  fixup project definitions accordingly.

* Remove unused define `KMN_KBP_EXPORTING` from kmcmplib/meson.build.

Fixes: #15565
Test-bot: skip
2026-05-20 13:44:05 +02:00
Marc Durdin
ac7c682ea9 docs(developer): update links to lexical model distribution
Recommend Keyman Cloud as primary method of distribution for lexical
models.

Test-bot: skip
Build-bot: skip
Fixes: keymanapp/help.keyman.com#1423
2026-05-19 14:56:39 +02:00
dependabot[bot]
ca12da6db1
chore(deps): bump ws from 8.18.1 to 8.20.1
Bumps [ws](https://github.com/websockets/ws) from 8.18.1 to 8.20.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.18.1...8.20.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.20.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 08:23:21 +00:00
dependabot[bot]
0419405060
chore(deps): bump brace-expansion
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 5.0.5 to 5.0.6.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.5...v5.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 16:54:07 +00:00
Marc Durdin
40ee518d54
Merge pull request #15921 from keymanapp/dependabot/npm_and_yarn/developer/src/server/src/win32/trayicon/addon-src/ip-address-10.2.0
chore(deps): bump ip-address from 10.1.0 to 10.2.0 in /developer/src/server/src/win32/trayicon/addon-src
2026-05-18 20:09:39 +10:00
Marc Durdin
6cb7cced76
Merge pull request #15868 from keymanapp/dependabot/npm_and_yarn/fast-xml-parser-5.7.1
chore(deps): bump fast-xml-parser from 5.3.8 to 5.7.1
2026-05-18 19:41:02 +10:00
dependabot[bot]
b2be91752e
chore(deps): bump ip-address
Bumps [ip-address](https://github.com/beaugunderson/ip-address) from 10.1.0 to 10.2.0.
- [Commits](https://github.com/beaugunderson/ip-address/commits)

---
updated-dependencies:
- dependency-name: ip-address
  dependency-version: 10.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 09:37:48 +00:00
Marc Durdin
152753738d chore(developer): address review comments, move to fxp 5.8.0
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-05-13 14:46:11 +02:00
Marc Durdin
1a6a96338f chore(developer): update fast-xml-parser type references
Test-bot: skip
2026-05-13 07:21:45 +02:00
Keyman Server
0d6b995130
Merge branch 'epic/web-core' into auto/A19S28-merge-master-into-web-core 2026-05-11 15:38:19 +02:00
Marc Durdin
e05a2cf637 chore(developer): mark methods as private in ldml-keyboard-xml-reader 2026-05-08 09:54:21 +02:00
Marc Durdin
33a4d4b09c chore(developer): reduce coverage threshold for kmc-ldml to 85% 2026-05-06 12:10:10 +02:00
Marc Durdin
ac56e72fa9 chore(developer): handle parse errors in loading LDML test files
Test-bot: skip
2026-05-04 13:54:34 +02:00
dependabot[bot]
c77dab10fc
chore(deps): bump path-to-regexp and express
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) to 0.1.13 and updates ancestor dependency [express](https://github.com/expressjs/express). These dependencies need to be updated together.


Updates `path-to-regexp` from 0.1.12 to 0.1.13
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/v.0.1.13/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.12...v.0.1.13)

Updates `express` from 4.21.2 to 4.22.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v4.22.1)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-version: 0.1.13
  dependency-type: indirect
- dependency-name: express
  dependency-version: 4.22.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-04 09:37:20 +00:00
dependabot[bot]
08f03a0d2b
chore(deps): bump fast-xml-parser from 5.3.8 to 5.7.1
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.8 to 5.7.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.8...v5.7.1)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.7.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-23 06:14:26 +00:00
Marc Durdin
e99813b3e3 chore(common): cleanup optionals in ldml keyboard reader
`boxArrays` had some optional chaining that was either not needed,
and/or was used in an inappropriate context, for example within the
iterable argument to a `for` statement, which would have caused an "not
iterable" error if it ever actually resolved to `undefined`.

This should have no material impact on the code, but helps to clarify
code readability.

Test-bot: skip
2026-04-22 15:33:26 +02:00
Marc Durdin
1e180a8639 chore(web): update paths to specialCharacters.ts
After epic/embed-osk-in-kmx merge into epic/web-core,
specialCharacters.ts had moved and so paths needed to be adjusted.

Test-bot: skip
2026-04-20 17:36:15 +02:00
Marc Durdin
0fb2cd2dc6 chore: Merge branch 'epic/web-core' into epic/embed-osk-in-kmx 2026-04-17 19:01:15 +02:00
Marc Durdin
0f57b8a77c chore(core): Merge branch 'epic/embed-osk-in-kmx' into chore/core/remove-jsonpp
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-17 09:12:37 +02:00
Marc Durdin
71503fa13c
Merge pull request #15822 from keymanapp/chore/developer/embed-osk/enable-constants-test
chore(developer): enable skipped test for disp key cap constants 🔱
2026-04-17 06:17:23 +10:00
Marc Durdin
24d10d06d2
Merge pull request #15821 from keymanapp/feat/developer/embed-osk/kmap
feat(developer): add kmap support to KMX+ kvk and keyman-touch-layout 🔱
2026-04-17 06:17:10 +10:00