Commit graph

33264 commits

Author SHA1 Message Date
Keyman Server
5b38b1c745
Merge pull request #15709 from keymanapp/auto/cherry-pick-18.0.247-history-to-alpha
auto: cherry-pick 18.0.247 history to alpha
2026-03-09 13:39:37 +01:00
Keyman Build Agent
7e7dbc1f6d auto: cherry-pick 18.0.247 history to alpha
Build-bot: skip
Test-bot: skip
2026-03-09 07:38:27 -05:00
Marc Durdin
65f7d91e67
Merge pull request #15705 from keymanapp/fix/developer/15673-new-project-whitespace
fix(developer): use trimmed version of paths when verifying in New Project
2026-03-09 18:53:51 +07:00
Marc Durdin
36fa80f6fb
Merge pull request #15704 from keymanapp/fix/developer/15674-unlockproject-guard
fix(developer): correct INVALID_HANDLE_VALUE check in UnlockProject
2026-03-09 18:53:45 +07:00
Marc Durdin
5562f6a32c
Merge pull request #15701 from keymanapp/fix/developer/15699-await-copier-result
fix(developer): await copier result before reporting success or failure
2026-03-09 16:01:56 +07:00
Marc Durdin
f625e0b783
Merge pull request #15700 from keymanapp/fix/developer/15659-resolve-input-path-for-kmc-copy
fix(developer): resolve input project path for `kmc copy`
2026-03-09 16:01:49 +07:00
Marc Durdin
f2f3e32e69 fix(developer): use trimmed version of paths when verifying in New Project
Fixes: #15673
Build-bot: skip
Test-bot: skip
2026-03-09 07:38:13 +01:00
Marc Durdin
89c9c615e5 fix(developer): correct INVALID_HANDLE_VALUE check in UnlockProject
Fixes: #15674
Test-bot: skip
Build-bot: skip
2026-03-09 07:31:51 +01:00
Marc Durdin
a8f5ee3362 fix(developer): resolve input project path for kmc copy
Relative paths would cause `kmc copy` to fail to find sources files for
the project, because component paths would be constructed incorrectly.
The cleanest fix is to ensure that we always full resolve local file
paths before attempting to copy the project.

Fixes: #15659
2026-03-09 07:08:47 +01:00
Marc Durdin
5129a482b4 fix(developer): await copier result before reporting success or failure
Without `await`, a 'success' message is always returned, because the
Promise that is returned is not nullish. While the log message was
misleading, the outcome was already correct, because the parent function
`copyProject()` did correctly await the call to `doCopy()`.

Fixes: #15699
Test-bot: skip
2026-03-09 06:24:57 +01:00
Marc Durdin
00b0a98715
Merge pull request #15649 from keymanapp/dependabot/npm_and_yarn/fast-xml-parser-5.3.8
chore(deps): bump fast-xml-parser from 5.3.4 to 5.3.8
2026-03-09 11:55:08 +07:00
Darcy Wong
0568c6b1b8
Merge pull request #15671 from keymanapp/chore/android/cleanup-extracted-text
chore(android): Cleanup unused Extracted Text
2026-03-09 08:32:47 +07:00
Darcy Wong
13ba5c8f8e chore(android): Remove unused status vars 2026-03-09 08:20:17 +07:00
Keyman Server
e82362fc1d
Merge pull request #15697 from keymanapp/auto/version-master-19.0.212
auto: increment master version to 19.0.212
2026-03-06 19:05:23 +01:00
Keyman Build Agent
c0f09472a2 auto: increment master version to 19.0.212
Test-bot: skip
Build-bot: skip
2026-03-06 12:03:51 -06:00
Marc Durdin
8b50ac843a
Merge pull request #15650 from keymanapp/dependabot/npm_and_yarn/resources/build/pr-build-status/minimatch-9.0.9
chore(deps-dev): bump minimatch from 9.0.5 to 9.0.9 in /resources/build/pr-build-status
2026-03-06 21:59:37 +07:00
Marc Durdin
11e3e100a6
Merge pull request #15626 from keymanapp/fix/developer/15625-ngrok-upgrade
fix(developer): ngrok upgrade
2026-03-06 21:49:13 +07:00
dependabot[bot]
7df8eac192
chore(deps-dev): bump minimatch in /resources/build/pr-build-status
Bumps [minimatch](https://github.com/isaacs/minimatch) from 9.0.5 to 9.0.9.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:07:21 +00:00
Marc Durdin
deec23cfde
Merge pull request #15672 from keymanapp/fix/developer/11706-debug-memo-get-anchor-with-tom-interface
fix(developer): retrieve debug memo anchor without side effects
2026-03-06 21:01:26 +07:00
Marc Durdin
99cec792d4
Merge pull request #15669 from keymanapp/fix/developer/15063-clone-overwrite
fix(developer): prevent new projects from overwriting existing projects
2026-03-06 21:01:11 +07:00
Marc Durdin
aff6c7d686
Merge pull request #15684 from keymanapp/maint/developer/test-callbacks-cleanup-redux
maint(developer): cleanup additional TestCompilerCallbacks references
2026-03-06 21:00:48 +07:00
Marc Durdin
659e85033a
Merge pull request #15665 from keymanapp/maint/developer/test-callbacks-cleanup
maint(developer): make `TestCompilerCallbacks` usage more consistent and simplify
2026-03-06 21:00:39 +07:00
dependabot[bot]
25c3490ecd
chore(deps): bump fast-xml-parser from 5.3.4 to 5.3.8
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.4 to 5.3.8.
- [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.4...v5.3.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 13:58:59 +00:00
Marc Durdin
6058054fbb
Merge pull request #15691 from keymanapp/docs/build-bot-and-git-ignore
docs: tweak build bot docs and update imsample gitignore
2026-03-06 20:57:39 +07:00
Marc Durdin
727e621ee3
Merge pull request #15690 from keymanapp/maint/common/rollback-typescript-upgrade-5.4.5
maint(common): rollback from Typescript 5.8.2 to 5.4.x
2026-03-06 20:56:23 +07:00
Marc Durdin
281e382171 chore(developer): Merge branch 'master' into fix/developer/15625-ngrok-upgrade 2026-03-06 14:52:41 +01:00
Marc Durdin
cca8d4d21f docs: tweak build bot docs and update imsample gitignore
Just minor maintenance.

Build-bot: skip
Test-bot: skip
2026-03-06 10:21:04 +01:00
Marc Durdin
0ce96dbdcc maint(common): rollback from Typescript 5.8.2 to 5.4.x
Pull request #15647 bumped our version of tsc from 5.4.5 to 5.8.2,
because api-extractor wanted it. We have not tested yet with 5.8.2 and
there are some incompatibility warnings and a new error that was patched
in #15689.

We will upgrade to a later version of Typescript in due course, but now
is not the time.

With this patch, we rollback our Typescript version to 5.4.x.

Sample warning from build:

```
[web/src/engine/osk/gesture-processor/src/tools] ## build:test-module starting...
=============

WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.

You may find that it works just fine, or you may not.

SUPPORTED TYPESCRIPT VERSIONS: >=4.7.4 <5.5.0

YOUR TYPESCRIPT VERSION: 5.8.2

Please only submit bug reports when using the officially supported version.

=============
```

Report of typescript version usage with this patch:

```
$ npm ls typescript
root@ D:\Projects\keyman\app
├─┬ @keymanapp/auto-history-action@ -> .\resources\build\version
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/common-test-resources@ -> .\common\test\resources
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/common-types@ -> .\common\web\types
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/developer-server@ -> .\developer\src\server
│ ├─┬ tsc-watch@4.6.2
│ │ └── typescript@5.4.5 deduped
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/developer-test-helpers@ -> .\developer\src\common\web\test-helpers
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/developer-utils@ -> .\developer\src\common\web\utils
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/gesture-recognizer@ -> .\web\src\engine\osk\gesture-processor
│ ├─┬ @keymanapp/web-utils@ -> .\web\src\engine\common\web-utils
│ │ └── typescript@5.4.5 deduped
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/keyman-version@ -> .\common\web\keyman-version
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-analyze@ -> .\developer\src\kmc-analyze
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-copy@ -> .\developer\src\kmc-copy
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-generate@ -> .\developer\src\kmc-generate
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-keyboard-info@ -> .\developer\src\kmc-keyboard-info
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-kmn@ -> .\developer\src\kmc-kmn
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-ldml@ -> .\developer\src\kmc-ldml
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-model-info@ -> .\developer\src\kmc-model-info
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-model@ -> .\developer\src\kmc-model
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-package@ -> .\developer\src\kmc-package
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc@ -> .\developer\src\kmc
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/langtags@ -> .\common\web\langtags
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/lexical-model-layer@ -> .\web\src\engine\predictive-text\worker-main
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/lm-message-types@ -> .\web\src\engine\predictive-text\types
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/lm-worker@ -> .\web\src\engine\predictive-text\worker-thread
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/models-templates@ -> .\web\src\engine\predictive-text\templates
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/models-wordbreakers@ -> .\web\src\engine\predictive-text\wordbreakers
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/sourcemap-path-remapper@ -> .\common\tools\sourcemap-path-remapper
│ └── typescript@5.4.5 deduped
├─┬ @microsoft/api-extractor@7.57.6
│ └── typescript@5.8.2
├─┬ @typescript-eslint/eslint-plugin@7.13.1
│ └─┬ ts-api-utils@1.3.0
│   └── typescript@5.4.5 deduped
├─┬ eslint-config-love@53.0.0
│ └── typescript@5.4.5 deduped
├─┬ keyman@ -> .\web
│ ├─┬ @keymanapp/recorder-core@ -> .\web\src\tools\testing\recorder-core
│ │ └── typescript@5.4.5 deduped
│ └─┬ @keymanapp/web-sentry-manager@ -> .\web\src\engine\sentry-manager
│   └── typescript@5.4.5 deduped
└── typescript@5.4.5
```

Test-bot: skip
2026-03-06 09:57:36 +01:00
Marc Durdin
17377fbbba
Merge pull request #15689 from keymanapp/chore/web/remove-implicit-any-error
chore(web): remove implicit any type when setting processingConfig.itemIdentifier
2026-03-06 14:26:43 +07:00
Marc Durdin
645e1cd16f chore(web): remove implicit any type when setting processingConfig.itemIdentifier
Not exactly clear what triggered this? Perhaps related to npm package updates,
but hard to see how.

Test-bot: skip
Build-bot: skip build:web
2026-03-05 21:46:40 +01:00
Marc Durdin
274d7891e6
Merge pull request #15681 from keymanapp/dependabot/npm_and_yarn/multer-2.1.1
chore(deps): bump multer from 2.0.2 to 2.1.1
2026-03-06 03:37:52 +07:00
Marc Durdin
d5db6f5395
Merge pull request #15682 from keymanapp/dependabot/npm_and_yarn/developer/src/server/src/win32/trayicon/addon-src/tar-7.5.10
chore(deps): bump tar from 7.5.7 to 7.5.10 in /developer/src/server/src/win32/trayicon/addon-src
2026-03-06 03:28:33 +07:00
Marc Durdin
0e8f468963
Merge pull request #15648 from keymanapp/dependabot/npm_and_yarn/developer/src/server/src/win32/trayicon/addon-src/minimatch-10.2.4
chore(deps): bump minimatch from 10.1.1 to 10.2.4 in /developer/src/server/src/win32/trayicon/addon-src
2026-03-06 03:28:02 +07:00
Marc Durdin
ceeb2ef231
Merge pull request #15647 from keymanapp/dependabot/npm_and_yarn/multi-e17586116f
chore(deps): bump minimatch and @microsoft/api-extractor
2026-03-06 03:27:54 +07:00
Marc Durdin
746cfc7596
Merge pull request #15632 from keymanapp/dependabot/npm_and_yarn/rollup-4.59.0
chore(deps-dev): bump rollup from 4.22.4 to 4.59.0
2026-03-06 03:27:46 +07:00
Marc Durdin
0aa075ff0e
Merge pull request #15631 from keymanapp/dependabot/npm_and_yarn/basic-ftp-5.2.0
chore(deps-dev): bump basic-ftp from 5.0.5 to 5.2.0
2026-03-06 03:27:38 +07:00
Keyman Server
f2523af1ff
Merge pull request #15687 from keymanapp/auto/version-master-19.0.211
auto: increment master version to 19.0.211
2026-03-05 19:04:33 +01:00
Keyman Build Agent
bcba02671f auto: increment master version to 19.0.211
Test-bot: skip
Build-bot: skip
2026-03-05 12:01:35 -06:00
Marc Durdin
ad7966950d chore(developer): address review comments
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2026-03-05 15:19:01 +01:00
Marc Durdin
f1163860d1 fix(developer): address review comments 2026-03-05 15:14:54 +01:00
Marc Durdin
8f3b2b06c9
Merge pull request #15670 from keymanapp/fix/developer/13958-setup-feedback
fix(developer): improve UI feedback on upgrade
2026-03-05 19:20:51 +07:00
Marc Durdin
a4b0c02473
Merge pull request #15667 from keymanapp/fix/developer/15630-missing-description-in-windows-import
fix(developer): apply keyboard description in Windows keyboard import
2026-03-05 19:19:09 +07:00
Marc Durdin
724a8ea0f5 maint(developer): cleanup additional TestCompilerCallbacks references
Address a review comment from #15665 and cleanup additional references
that I missed the first time around, along with the `fs.readFileSync`
`Uint8Array` cast.

Follows: #15665
Test-bot: skip
2026-03-05 13:15:43 +01:00
dependabot[bot]
1a07aadc05
chore(deps): bump tar
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.7 to 7.5.10.
- [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.7...v7.5.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 09:08:11 +00:00
dependabot[bot]
0700a3e444
chore(deps): bump multer from 2.0.2 to 2.1.1
Bumps [multer](https://github.com/expressjs/multer) from 2.0.2 to 2.1.1.
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/expressjs/multer/compare/v2.0.2...v2.1.1)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 08:15:02 +00:00
Keyman Server
d3c129026b
Merge pull request #15678 from keymanapp/auto/version-master-19.0.210
auto: increment master version to 19.0.210
2026-03-04 19:04:10 +01:00
Keyman Build Agent
ba10f48694 auto: increment master version to 19.0.210
Test-bot: skip
Build-bot: skip
2026-03-04 12:01:49 -06:00
Eberhard Beilharz
87da33796a
Merge pull request #15656 from keymanapp/refactor/core/cleanup
refactor(core): cleanup 

- fix whitespace
- rename private fields of `ldml_processor` to start with underscore

Precedes: #15609
2026-03-04 15:27:47 +01:00
Marc Durdin
59f02a6a55 fix(developer): retrieve debug memo anchor without side effects
Use RichEdit's `ITextDocument` interface to retrieve the selection
anchor/caret information, and avoid the side-effects that can arise with
the hacky `EM_GETSEL` / `EM_SETSEL` pattern we used previously.

Changing the selection with `EM_SETSEL` in order to find the anchor
point causes notification messages to be generated that can arrive at an
unexpected time in some text selection scenarios, which ended up with us
having a saved selection in the debugger pointing to the wrong text
range.

The name `Anchor` was a misnomer, because it was actually returning the
caret position, not the anchor for the selection, which is the far side
of the selection from the anchor!

Fixes: #11706
Fixes: KEYMAN-DEVELOPER-18A
2026-03-04 14:01:42 +01:00
Eberhard Beilharz
bf388295ca
Merge pull request #15576 from keymanapp/feat/linux/7784_diagreport
feat(linux): implement diagnostic report

This change allows to collect data for a diagnostic report. This can be done either from the command line through the new `km-diag-report` tool, or in `km-config` from the new `Support` tab that allows to generate the report and then copy it to the clipboard or save as a file.

The diagnostic report contains installed browsers and their versions and installation methods as well as the default browser. It checks for browsers installed through apt (Ubuntu/Debian), snap, and flatpak.
    
The change also has an implementation for pacman (Arch Linux) and dnf/yum (Fedora), although these have not been tested.

Fixes: #7784
2026-03-04 10:32:47 +01:00