Commit graph

4372 commits

Author SHA1 Message Date
Marc Durdin
1207a01645 docs(developer): address review comments on walkthrough
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2026-02-18 10:56:01 +01:00
Marc Durdin
c10a74cdf0 docs: feedback for walkthrough
Presenting as a commit as I made many minor edits in-place and this was
much simpler than trying to use GitHub review for this level of detail.

Test-bot: skip
Build-bot: skip
2026-02-17 14:01:17 +01:00
Marc Durdin
90f77bdbd6
Merge pull request #15589 from keymanapp/auto/A19S22-merge-master-into-web-core
auto: A19S22 merge master into web-core 🎼
2026-02-13 18:28:40 +07:00
Eberhard Beilharz
22c06a0c24
Merge pull request #15471 from keymanapp/chore/core/deprecation
chore(core): Remove `km_core_keyboard_attrs.folder_path`

PR #12769 removed `km_core_keyboard_load` that allowed loading a keyboard from a path. Instead we now pass a BLOB to core to load a keyboard. With the function gone there is no longer a need to have a field with the path.

Follow-up-of: #12497
Related-to: #12769
2026-02-13 11:27:01 +01:00
Marc Durdin
ed63b70bb4
Merge branch 'epic/web-core' into auto/A19S22-merge-master-into-web-core 2026-02-13 11:08:05 +07:00
dependabot[bot]
7f62458843
chore(deps): bump @isaacs/brace-expansion
Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.

---
updated-dependencies:
- dependency-name: "@isaacs/brace-expansion"
  dependency-version: 5.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-03 19:54:22 +00:00
DavidLRowe
0373122027
update macOS references in glossary 2026-02-02 13:52:54 -05:00
DavidLRowe
aa6f6d2fa3
update arrows and macOS references 2026-02-02 13:47:19 -05:00
DavidLRowe
8f36d07278
add TOC link
in response to Darcy's suggestion

Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2026-02-02 13:01:35 -05:00
Darcy Wong
13626ff02d
Merge branch 'master' into walkthrough 2026-02-02 10:11:16 +07:00
Marc Durdin
e8b94f147c
Merge pull request #15526 from keymanapp/dependabot/npm_and_yarn/fast-xml-parser-5.3.4
chore(deps): bump fast-xml-parser from 5.2.2 to 5.3.4
2026-02-02 01:18:12 +07:00
Keyman Server
e77d46f873
Merge branch 'epic/web-core' into auto/A19S21-merge-master-into-web-core 2026-01-31 06:31:15 +01:00
dependabot[bot]
13a59f124f
chore(deps): bump fast-xml-parser from 5.2.2 to 5.3.4
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.2.2 to 5.3.4.
- [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.2.2...v5.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 20:48:02 +00:00
dependabot[bot]
0dd1d843e2
chore(deps): bump tar
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.6 to 7.5.7.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.6...v7.5.7)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 14:03:10 +00:00
dependabot[bot]
2d3fe885b7
chore(deps): bump tar
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.3 to 7.5.6.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.3...v7.5.6)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 00:46:55 +00:00
Eberhard Beilharz
0422b3f912
chore(core): Remove km_core_keyboard_attrs.folder_path
PR #12769 removed `km_core_keyboard_load` that allowed loading a keyboard
from a path. Instead we now pass a BLOB to core to load a keyboard.
With the function gone there is no longer a need to have a field with the
path.

Follow-up-of: #12497
Related-to: #12769
Test-bot: skip
2026-01-20 15:17:38 +01:00
dependabot[bot]
0956254ecd
chore(deps): bump tar and node-gyp
Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.3 and updates ancestor dependency [node-gyp](https://github.com/nodejs/node-gyp). These dependencies need to be updated together.


Updates `tar` from 6.2.1 to 7.5.3
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.3)

Updates `node-gyp` from 10.2.0 to 12.1.0
- [Release notes](https://github.com/nodejs/node-gyp/releases)
- [Changelog](https://github.com/nodejs/node-gyp/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nodejs/node-gyp/compare/v10.2.0...v12.1.0)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.3
  dependency-type: indirect
- dependency-name: node-gyp
  dependency-version: 12.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 08:01:45 +00:00
Marc Durdin
f6b8bfb463
Merge branch 'epic/web-core' into auto/A19S20-merge-master-into-web-core 2026-01-16 08:40:12 +01:00
DavidLRowe
441a385cb1
Add files for walkthrough tutorial 2026-01-15 19:47:22 -09:00
DavidLRowe
0844780104
Update index.md to include walkthrough 2026-01-15 19:45:56 -09:00
Jeff Heath
7158a56097
Update link to PrimerPrep in step-3.md 2026-01-13 17:40:33 -05:00
Marc Durdin
4e496d1937 feat(developer): write UTF-8 .kmn file in kmdecomp
Writes a UTF-8 format file, without BOM, matching the standard file
encoding used in Keyman for many years, rather than the legacy encoding
UTF-16LE+BOM.

Note: uses codecvt for UTF-8 conversion to avoid linking in additional
deps.

Fixes: #15336
Test-bot: skip
2025-12-23 13:45:40 +11:00
Marc Durdin
b452d589fb fix(developer): prevent duplicate layer name in Layer Properties dialog
Matches the test in New Layer dialog.

Fixes: #15188
Test-bot: skip
Build-bot: skip
2025-12-19 07:52:08 +11:00
Marc Durdin
5d5c46c85c fix(developer): clear message when selecting custom layer name in touch layout editor
Fixes: #15216
Test-bot: skip
2025-12-19 07:44:03 +11:00
Marc Durdin
2ff967f106
Merge pull request #15338 from keymanapp/fix/developer/15215-handle-submit-in-touch-editor-dialogs
fix(developer): handle Enter key in dialogs in Touch Layout Editor
2025-12-18 20:37:56 +01:00
Eberhard Beilharz
e6a6b75115
test(common): add new baseline test k_0202___alt.kmn
This is basically the same test as `k_0201___ralt_2.kmn` but uses
ALT instead of RALT in the rule.

Also update `k_0201___ralt_2.kmn` to be a bit more extensive.

Note: since the change in `k_0201___ralt_2.kmn` is only in the test
data, i.e. the comments, the .js and .kmx files don't change.

Related-to: #15358
Test-bot: skip
2025-12-16 16:52:13 +01:00
Eberhard Beilharz
6de40e903b
test(common): better group baseline tests
This change groups similar tests together. Also update `build.sh` to
compile .js files.

Follow-up-of: #15341
Test-bot: skip
2025-12-15 18:12:01 +01:00
Marc Durdin
cab9230211 fix(developer): handle Enter key in dialogs in Touch Layout Editor
Fixes: #15215
Test-bot: skip
2025-12-11 02:16:03 +08:00
Marc Durdin
7c5064af47 feat(developer): show keyboard version in web debugger
This shows the keyboard version from the loaded keyboard .js file in the
Keyman Developer Web Debugger, once the keyboard has been loaded. The
version information is not visible in the keyboard menu, because the
version data has not been loaded at that point (being available only in
the compiled .js file).

Fixes: #14212
Test-bot: skip
2025-12-10 22:28:44 +08:00
DavidLRowe
8ca724ff07
Clarify keystrokes 2025-12-08 13:28:41 -09:00
Marc Durdin
de875ff39c fix(developer): verify project file loaded successfully in analyze
Fixes: #15315
Fixes: KEYMAN-DEVELOPER-338
Test-bot: skip
Build-bot: skip
2025-12-08 08:08:08 +01:00
Marc Durdin
f813442c40
Merge pull request #15276 from keymanapp/revert-14799-change/windows/include-map2pdb-for-relevant-projects
change(windows): Revert "change(windows): include map2pdb generation for relevant Delphi projects"
2025-12-05 07:10:52 +01:00
Marc Durdin
cb8150c896
Merge pull request #15275 from keymanapp/docs/developer/api-refresh
docs(developer): add/update API docs
2025-12-03 15:02:41 +01:00
Marc Durdin
6c99f33bcc
Revert "change(windows): include map2pdb generation for relevant Delphi projects" 2025-12-03 14:13:54 +01:00
dependabot[bot]
e4606e4925
chore(deps): bump glob
Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.5 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 12:55:03 +00:00
Marc Durdin
9de8371cfe docs(developer): add/update API docs
Test-bot: skip
Build-bot: skip
2025-12-03 13:51:30 +01:00
Marc Durdin
3eaaacd706 fix(developer): handle errors in .keyman-touch-layout file when loading
If the .keyman-touch-layout file has validation errors, Keyman Developer
will now report the first validation error in the message window, rather
than silently closing the whole keyboard editor. The
.keyman-touch-layout file will be loaded in Code view, and once the
first validation error is addressed, switching to Design view will
report the next error.

For future improvement:
* reporting multiple validation errors
* reporting line number of error

Fixes: #15242
Test-bot: skip
2025-11-27 05:50:36 +01:00
Marc Durdin
eb4b10996d
Merge pull request #15087 from keymanapp/fix/developer/11363-prevent-race-on-server-load-kmw
fix(developer): avoid race in page.onload vs kmw.init in Server
2025-11-21 10:39:43 +01:00
Marc Durdin
6e470efa3e
Merge pull request #14799 from keymanapp/change/windows/include-map2pdb-for-relevant-projects
change(windows): include map2pdb generation for relevant Delphi projects
2025-11-17 17:02:25 +01:00
Marc Durdin
edca16f508 change(windows): include map2pdb generation for relevant Delphi projects
Adds a call to map2pdb for Delphi projects, if map2pdb is an executable
on the path. This way, we get .pdb files we can use for debugging and
for performance profiling. This also replaces tds2dbg.

If map2dbg is available, then the build and install actions will copy
the PDB to be alongside the corresponding executable, making most debug
actions relatively seamless for finding symbols.

Also fixes up setup.exe in Windows and Developer to extend setup.exe to
a 512-byte boundary after map2pdb patches the PE.

Relates-to: #14787
Build-bot: skip release:developer,windows
Test-bot: skip
2025-11-13 14:48:18 +01:00
Marc Durdin
5dbc438f53 maint(resources): add builder_launch function
Use `builder_launch` to launch other builder scripts rather than calling
directly, so that inheritable state and options are passed through.

Test-bot: skip
2025-11-10 11:46:14 +01:00
Marc Durdin
23b5dca1b3 fix(developer): remove package version if FollowKeyboardVersion is set in Package Editor
To reduce confusion when 'Follow Keyboard Version' is set, clear the
cached package version data from UI and .kps source when saving the
package or making changes to it.

Fixes: #11892
Test-bot: skip
2025-11-03 10:54:44 +01:00
Marc Durdin
756a0e2b58 fix(developer): avoid race in page.onload vs kmw.init in Server
Also adds `server:run` action for build.sh, and adds check for scenario
where an ad blocker/privacy extension blocks sentry javascript loading.

Fixes: #11363
Fixes: KEYMAN-DEVELOPER-30X
2025-11-03 09:52:33 +01:00
Marc Durdin
933ea5bb58 change(developer): remove kmlmc and kmlmp
These were replaced by kmc in v17.0. We kept them as legacy alternatives
in v18.0, but it is time to remove them now to reduce the maintenance of
having multiple entry points to kmc.

Fixes: #13181
Test-bot: skip
2025-10-31 17:08:56 +01:00
Marc Durdin
702a64c281
Merge pull request #15062 from keymanapp/chore/windows/vs2022
chore(windows): upgrade VC++ projects to v143 (VS2022)
2025-10-31 15:38:25 +01:00
Marc Durdin
aba67ef682
Merge pull request #15061 from keymanapp/chore/developer/kmc-package-nullish-cleanup
chore(developer): fix always-false nullish coalescing
2025-10-31 06:30:48 +01:00
Marc Durdin
344fd4bd3d
Merge pull request #15060 from keymanapp/fix/developer/handle-load-errors-for-touch-layout-builder
fix(developer): handle exceptions loading .keyman-touch-layout files
2025-10-31 06:30:42 +01:00
Marc Durdin
c255e78857
Merge pull request #15058 from keymanapp/chore/developer/11916-extra-debugging-crash-on-exit
chore(developer): add breadcrumbs to trace sporadic crashes on exit
2025-10-31 06:30:27 +01:00
Marc Durdin
9e1fe8e6de chore(windows): upgrade VC++ projects to v143 (VS2022)
Test-bot: skip
Build-bot: skip release:developer,windows
2025-10-30 16:31:45 +01:00
Marc Durdin
8e6ca01175 chore(developer): fix always-false nullish coalescing
Test-bot: skip
Build-bot: skip
2025-10-30 15:24:15 +01:00