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
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
Marc Durdin
26cf278cc1
fix(developer): improve UI feedback on upgrade
...
Show a progress dialog when running the Keyman Developer upgrade
(`-au` parameter).
Fixes : #13958
Test-bot: skip
2026-03-04 06:27:36 +01:00
Marc Durdin
7a8fa1bf7f
fix(developer): prevent new projects from overwriting existing projects
...
The new project UI process detects if the target project folder already
exists in a given path, and asks if the author wants to overwrite it.
However, this has been inconsistently implemented -- in the clone
keyboard case, the process would fail with a message "error KM0B004:
Output path <PATH> already exists, not overwriting". In other cases, no
files would be removed, but existing files would be overwritten where
there was a collision, resulting in a messy project folder.
I have opted to prevent this situation in a consistent manner, requiring
the author to remove the folder themselves in Windows Explorer, even
though this is higher friction, because it pushes them into verifying
that they actually want to delete the contents of the folder.
I also took the opportunity to DRY out this verification process in the
six different New Project dialogs.
Fixes : #15063
2026-03-04 05:45:21 +01:00
Marc Durdin
a0ecd51c60
fix(developer): apply keyboard description in Windows keyboard import
...
Fixes : #15630
Test-bot: skip
2026-03-04 04:57:56 +01:00
Shawn Schantz
5a26e59add
Merge pull request #15655 from keymanapp/maint/ios/fv/xcode-26
...
maint(ios): update fv Cartfile for Xcode 26
2026-03-03 15:57:47 -05:00
Keyman Server
8b8b6b045f
Merge pull request #15666 from keymanapp/auto/version-master-19.0.209
...
auto: increment master version to 19.0.209
2026-03-03 19:03:55 +01:00
Keyman Build Agent
b0bfc6be6f
auto: increment master version to 19.0.209
...
Test-bot: skip
Build-bot: skip
2026-03-03 12:02:02 -06:00
Marc Durdin
529a49431e
maint(developer): make TestCompilerCallbacks usage more consistent and simplify
...
Simplify usage of `TestCompilerCallbacks` by making it responsible for
the `beforeEach` and `afterEach` incantations itself. There are a couple
of more complex usages of `TestCompilerCallbacks` which have been
excluded from this change on purpose.
Renamed `testCallbacks` to `callbacks` in the one place where it was
different.
Hoist @types/node and @types/mocha because inconsistent versions of
@types/mocha were causing compiler errors with this change.
Also added a cast to `fs.readFileSync` to `Uint8Array` to eliminate
compiler warnings/errors in test files.
Fixes : #15654
Test-bot: skip
2026-03-03 16:44:06 +01:00
Marc Durdin
0e0b858269
Merge pull request #15653 from keymanapp/fix/developer/15627-checkPackageInfo-null-return-values
...
fix(developer): use correct return values and nullish checks in package-validation
2026-03-03 20:25:45 +07:00
Marc Durdin
cb099d2490
Merge pull request #15622 from keymanapp/fix/developer/15621-handle-missing-package-object-in-kps-file
...
fix(developer): handle .kps file that has no `<Package>` element
2026-03-03 20:25:37 +07:00
Marc Durdin
ddb06c6f4b
Merge pull request #15616 from keymanapp/fix/developer/15601-crlf-in-ldml-debugger
...
fix(developer): handle CRLF as CR internally in LDML debugger
2026-03-03 20:25:27 +07:00
Eberhard Beilharz
8aea535d55
Merge pull request #15629 from keymanapp/docs/core/docs
...
docs(core): add keyhandling doc
This documents the state of `km_core_actions.emit_keystroke` for different keys pressed. Also some cleanup in other docs.
This documents the state after merging #15609 (for ldml keyboards) and NN (for kmn keyboards).
Follows: #15609
2026-03-02 20:22:34 +01:00
Keyman Server
aa54ce23d8
Merge pull request #15657 from keymanapp/auto/version-master-19.0.208
...
auto: increment master version to 19.0.208
2026-03-02 19:04:03 +01:00
Keyman Build Agent
e06868a622
auto: increment master version to 19.0.208
...
Test-bot: skip
Build-bot: skip
2026-03-02 12:01:33 -06:00
Eberhard Beilharz
2bd6cfd735
refactor(core): rename fields to start with underscore
...
Test-bot: skip
2026-03-02 17:27:15 +01:00
Eberhard Beilharz
d8a5f694da
refactor(core): fix whitespace
...
Build-bot: skip
Test-bot: skip
2026-03-02 17:26:14 +01:00
Shawn Schantz
dddd500052
maint(fv): update Cartfile for Xcode 26
2026-03-02 09:16:38 -05:00