Commit graph

4489 commits

Author SHA1 Message Date
Sabine
8cffd1b18d Merge branch 'feat/developer/kmc-convert-createSeperateUtil' of https://github.com/keymanapp/keyman into feat/developer/kmc-convert-createSeperateUtil 2026-02-02 13:51:38 +01:00
Sabine
aa2e8b3c75 feat(developer): comment out ToDo msg; comment out test 2026-02-02 13:48:42 +01:00
Sabine
3fd4fb3842 feat(developer): finish rework of convertToUnicodeCharacter(); edit tests 2026-02-02 13:22:16 +01:00
SabineSIL
e90a160f72
Merge branch 'feat/developer/kmc-convert' into feat/developer/kmc-convert-createSeperateUtil 2026-01-21 18:52:05 +01:00
Sabine
9708d7a44b feat(developer): start rework function convertToUnicodeCharacter 2026-01-21 18:40:48 +01:00
Sabine
e307327e34 feat(developer): move functions convertToUnicodeCodePoint and convertToUnicodeCharacter to convert-util 2026-01-19 12:08:56 +01:00
Sabine
b8397a6738 feat(developer): changes in convertToUnicodeCharacter 2026-01-15 17:21:04 +01:00
Sabine
17704a99d7 feat(developer): delete content of kmcconvertUtils.ts for convertToUnicodeCharacter and convertToUnicodeCodePoint 2026-01-13 11:21:01 +01:00
Sabine
b5cdae52ae feat(developer): delete convert-utils.ts for convertToUnicodeCharacter and convertToUnicodeCodePoint 2026-01-13 11:12:06 +01:00
Sabine
fe516024aa feat(developer): comment out convertToUnicodeCharacter and convertToUnicodeCodePoint from utils for now and use same functions from kmn-file-writer.ts 2026-01-12 11:43:50 +01:00
Sabine
b711662121 Merge branch 'feat/developer/kmc-convert' of https://github.com/keymanapp/keyman into feat/developer/kmc-convert 2026-01-08 11:54:36 +01:00
SabineSIL
06694173fa
Merge branch 'epic/kmc-convert' into feat/developer/kmc-convert 2026-01-08 11:38:36 +01:00
Sabine
ad1d30af67 feat(developer): add ameliorated version of new file convert-utils.ts 2026-01-08 11:34:06 +01:00
Keyman Server
1a8e26f7ec
Merge branch 'epic/kmc-convert' into auto/A19S17-merge-master-into-kmc-convert 2025-12-05 07:58:56 +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
5b2571d214
Merge branch 'epic/kmc-convert' into auto/A19S16-merge-master-into-kmc-convert 2025-11-20 11:10:31 +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
80a5785408 chore: Merge branch 'epic/kmc-convert' into auto/A19S15-merge-master-into-kmc-convert 2025-11-07 14:17:47 +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
0db69eb360 chore(windows): upgrade VC++ projects to v143 (VS2022)
Test-bot: skip
Build-bot: skip release:developer,windows
2025-10-31 13:33:40 +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
Marc Durdin
0b17c632a0 fix(developer): handle exceptions loading .keyman-touch-layout files
If file is unreadable or contains invalid encoding, show a message
instead of crashing.

Build-bot: skip
Test-bot: skip
2025-10-30 15:22:47 +01:00
Marc Durdin
037e199f3c chore(developer): add breadcrumbs to trace sporadic crashes on exit
Relates-to: #11916
Test-bot: skip
2025-10-30 15:01:37 +01:00
Marc Durdin
2ba22bbe51 chore(developer): further debugging for assertion failure
Adds breadcrumbs for debug memo to try and narrow down sequence of
events leading to assertion failure with backspace.

Relates-to: #11706
Test-bot: skip
2025-10-30 14:36:25 +01:00
Marc Durdin
19264fdbe2
Merge pull request #15030 from cvosoft/test/add-osk-character-use-format-tests
test(developer): add kmc-analyze tests for AnalyzeOskCharacterUse output formats
2025-10-30 06:04:30 +01:00
Marc Durdin
df212364a2 maint(resources): add repository record for all published packages
While not documented as such, it appears that the repository record is
required with trusted publishing of npm packages.

Test-bot: skip
Build-bot: skip
2025-10-29 14:35:31 +01:00
Christoph Völker
d49c23646a Merge remote-tracking branch 'upstream/master' into test/add-osk-character-use-format-tests 2025-10-29 14:17:10 +01:00
Marc Durdin
12511894ef chore(developer): skip git date test for shallow clones
If the repository is a shallow checkout, then the only commit will be
the most recent one, and the test will fail. We could lookup the date of
the most recent test, but it's a pretty meaningless test, so instead we
will skip the test in this scenario.

For example, this happens on GitHub Actions when we do a shallow
checkout. The only risk we have is if we move all builds to shallow
checkouts and end up always skipping this test, but (a) the code is
unlikely to change, and (b) issuse would be  picked up on local builds
in that situation pretty quickly.
2025-10-29 10:30:27 +01:00
Marc Durdin
dd20ad068e maint(developer): reduce coverage threshold for node 24 for dev-utils
I am not entirely clear why the coverage dropped, but I suspect it's due
to code paths that are not activated in node 24. For now, just dropping
coverage threshold to 40%.
2025-10-29 10:29:33 +01:00
Christoph Völker
e2eb10312f test(kmc-analyze): add supplementary plane tests for stringToUnicodeSequence 2025-10-28 17:46:07 +01:00
Christoph Völker
3d10ac4b87 test(kmc-analyze): add tests for AnalyzeOskCharacterUse output formats 2025-10-28 16:50:04 +01:00
Marc Durdin
fe6e8e72a8
Merge pull request #15029 from keymanapp/maint/resources/14963-npm-publish-on-gha
maint(resources): move npm package publishing to GitHub Actions
2025-10-28 07:57:35 +01:00
Christoph Völker
ac6d305b79 format update 2025-10-27 19:10:40 +01:00
Christoph Völker
e06ac524fb test(kmc-analyze): add tests for AnalyzeOskCharacterUse output formats 2025-10-27 17:45:44 +01:00
Marc Durdin
ba411774f6 maint(resources): move NPM package publishing to GitHub Actions
Due to recent changes in NPM package publishing security requirements,
we have to move from TeamCity build to a GitHub Action to publish our
NPM packages, so we can take advantage of trusted publishing. This
change also consolidates and centralizes the npm publishing into
resources/build/ci/npm-publish.sh, which removes a lot of boilerplate
from each of the build.sh scripts, and ensures consistency.

Packages will be `npm pack`ed on PR and test builds, and published in
release builds.

Ref: https://docs.npmjs.com/trusted-publishers
Ref: https://github.blog/changelog/2025-09-29-strengthening-npm-security-important-changes-to-authentication-and-token-management/
Fixes: #14963
Test-bot: skip
Build-bot: release:developer
2025-10-27 16:31:55 +01:00