Commit graph

35617 commits

Author SHA1 Message Date
Eberhard Beilharz
e2009e262b
Merge pull request #16497 from keymanapp/chore/web/fileheaders
chore(web): update file headers
2026-09-02 15:46:36 +02:00
SabineSIL
8d6162358a
feat(developer): remove TODO-kmc-convert 😎 (#16460)
removes  comment  
`TODO-KMC-CONVERT: Support <action> sub-element 'anonymous actions' in
the future`
from keylayout-xml.ts since this concept is not used in kmc-convert at
present and probably not planned to be worked on in near future

Test-bot: skip
2026-09-02 12:17:46 +02:00
Marc Durdin
250116cc53
Merge pull request #16481 from keymanapp/fix/developer/11052-project-help-f1
fix(developer): open context help when F1 pressed in Project window
2026-09-02 16:01:18 +07:00
Marc Durdin
cf96bceefa
Merge pull request #16475 from keymanapp/fix/developer/12669-model-editor-copy-link-disable
fix(developer): disable Copy Link in Model Editor if no link to copy
2026-09-02 16:01:09 +07:00
Marc Durdin
7a9983d958
Merge pull request #16456 from keymanapp/fix/developer/12423-ldml-validate-layer-attributes
fix(developer): validate id and modifiers attributes in Layr compiler
2026-09-02 15:59:40 +07:00
Marc Durdin
429011b8e5
Merge pull request #16455 from keymanapp/fix/developer/16454-validate-hardware-layout-count-only-in-layrs
fix(developer): validate the number of hardware layers only in Layr compiler
2026-09-02 15:59:29 +07:00
Marc Durdin
4426d4e64a
Merge pull request #16453 from keymanapp/feat/developer/kmc-out-dir
feat(developer): support output folder and `--continue-on-error`
2026-09-02 15:59:18 +07:00
Keyman Server
cda1b98fbf
Merge pull request #16498 from keymanapp/auto/version-master-19.0.278
auto: increment master version to 19.0.278
2026-09-01 20:06:02 +02:00
Keyman Build Agent
abf18cc8e0 auto: increment master version to 19.0.278
Test-bot: skip
Build-bot: skip
2026-09-01 13:03:58 -05:00
Eberhard Beilharz
268b64eab5
chore(web): update file headers
Build-bot: skip
Test-bot: skip
2026-09-01 17:57:11 +02:00
Marc Durdin
945d2cf6d5
Merge pull request #16493 from keymanapp/fix/developer/16492-kmcmplib-message-pattern
fix(developer): add missing message parameters and cleanup kmc-kmn messages further
2026-09-01 22:33:15 +07:00
Marc Durdin
b2e72e94b9
Merge pull request #16445 from keymanapp/change/developer/14211-deprecate-fix-clearcontext
change(developer): deprecate `fix`, `clearcontext`, bump max .kmx version to 19.0
2026-09-01 22:32:31 +07:00
Marc Durdin
d496f8d59b
Merge pull request #16443 from keymanapp/maint/windows/16433-remove-koSwitchLanguageForAllApplications-and-cleanup
maint(windows): remove `koSwitchLanguageForAllApplications`, `koAutoSwitchOSKPages`, osVista, osWin7, osWin8, cleanup
2026-09-01 16:11:29 +07:00
Marc Durdin
947dbe9910
Merge pull request #16439 from keymanapp/refactor/windows/15333-cleanup
refactor(windows): cleanup unused wm_keyman_control values
2026-09-01 16:11:18 +07:00
Marc Durdin
9b80c56810
Merge pull request #16435 from keymanapp/fix/windows/15333-simplify-keyboard-refresh
fix(windows): simplify keyboard refresh and make it more on-demand
2026-09-01 16:10:39 +07:00
Marc Durdin
5c2702c51b
Merge pull request #16482 from keymanapp/fix/developer/10562-make-toolwindows-non-topmost-on-deactivate
fix(developer): make tool windows non-topmost when TIKE is deactivated
2026-09-01 15:50:33 +07:00
Marc Durdin
998574ef1a
Merge pull request #16480 from keymanapp/chore/developer/11249-strip-printing-support
chore(developer): strip out defunct printing support
2026-09-01 15:50:22 +07:00
Marc Durdin
3c44f8ab5b
Merge branch 'master' into fix/windows/15333-simplify-keyboard-refresh 2026-09-01 15:44:05 +07:00
Marc Durdin
b7f124a6c0
Merge pull request #16444 from keymanapp/refactor/windows/16434-rename-to-RefreshModifierState
refactor(windows): rename `GetCapsAndNumlockState()` to `RefreshModifierState()`
2026-09-01 15:37:51 +07:00
Marc Durdin
e8fa870778 chore(developer): address review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-09-01 10:22:56 +02:00
Marc Durdin
f438a519e1 fix(developer): add missing message parameters and cleanup kmc-kmn messages further
* kmcmplib messages need to use a standard pattern for parameters, which
  cannot be named. Several of the messages had the wrong pattern
* Tidy up the kmn-compiler-messages module and make it more consistent
  to reduce risk of this happening in the future
* Add a unit test to further verify the structure of the module as far
  as possible

Fixes: #16492
Test-bot: skip
2026-09-01 10:14:11 +02:00
Eberhard Beilharz
cb7bbe7495
Merge pull request #16449 from keymanapp/chore/web/uploadsourcemaps
chore(android): upload webview source map during android and ios build

Previously we uploaded the webview source map during a web build. This can lead to problems because that is not the actual artifact used for Android and iOS.

This change therefore moves uploading the webview source map to Sentry to the android and ios builds.
2026-09-01 09:01:20 +02:00
Marc Durdin
750ad89611 fix(developer): use KmcmpLibMessageParameters pattern for deprecation error message
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-01 07:42:50 +02:00
Marc Durdin
1e8cd24960
Merge pull request #16446 from keymanapp/fix/developer/13721-u16tok-targets-store-leading-whitespace
fix(developer): handle leading delimiters correctly in `u16tok()`
2026-09-01 12:27:16 +07:00
Marc Durdin
dd40dfcfbd
Merge pull request #16478 from keymanapp/chore/developer/server-remove-environment-version-duplication
chore(developer): remove duplicated versioning information from Server
2026-09-01 12:26:38 +07:00
Marc Durdin
1d83399b59
Merge pull request #16476 from keymanapp/fix/developer/12165-server-root-path-not-pwd
fix(developer): use path not dependent on pwd for starting Server
2026-09-01 12:26:27 +07:00
Marc Durdin
5a33d65081
Merge pull request #16483 from keymanapp/fix/windows/9694-show-console-window-twice
fix(developer): call 'Show Console' twice to make the console actually show on first use
2026-09-01 12:26:07 +07:00
Marc Durdin
941507ba97
Merge pull request #16474 from keymanapp/fix/developer/14159-charmap-scroll-wheel
fix(developer): improve scroll wheel behavior in Character Map
2026-09-01 12:04:22 +07:00
Marc Durdin
27d4acd0ad
Merge pull request #16479 from keymanapp/fix/developer/12070-handle-comment-without-trailing-space
fix(developer): handle comment without trailing whitespace
2026-09-01 12:03:06 +07:00
Eberhard Beilharz
7a0fa55a75
chore(web): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-31 19:02:05 +02:00
Marc Durdin
0f3e84bcc7 fix(windows): call 'Show Console' twice to make the console actually show on first use
The underlying issue may be in the node-hide-console-window component.
This fix is adequate in my view, for a low-use code path.

Fixes: #9694
Test-bot: skip
2026-08-31 14:56:12 +02:00
Marc Durdin
d1558946dd fix(developer): make tool windows non-topmost when TIKE is deactivated
When TIKE deactivates, any undocked tool windows retain their
WS_EX_TOPMOST exstyle, which means they stay on top of other
applications. To be polite, remove the topmost style when Keyman
Developer is deactivated - and set it on again when Keyman Developer is
reactivated, so that the windows continue to behave as expected
otherwise.

Fixes: #10562
Test-bot: skip
2026-08-31 14:38:29 +02:00
Marc Durdin
da8d7eff4f fix(developer): open context help when F1 pressed in Project window
Fixes: #11052
Test-bot: skip
2026-08-31 13:34:35 +02:00
Marc Durdin
3d3a5ca1fb chore(developer): strip out defunct printing support
Printing has not been supported from Keyman Developer for quite some
time. This does not appear to have been raised as a user issue. Remove
printing support, and cleanup user interface. As a side-effect, this
will fix #11249, as Delphi's printer support will no longer poll for
default printer on start.

Fixes: #11249
2026-08-31 10:36:00 +02:00
Marc Durdin
efedd63fa4 chore(developer): remove version-data tests and add environment tests
Server lacks tests at present. Removing version-data tests as no longer
relevant meant that there were no tests! So, added environment tests
which relate to changes in #16476.
2026-08-31 10:25:10 +02:00
Marc Durdin
4c2ba9f8e0 fix(developer): handle comment without trailing whitespace
Fixes: #12070
Test-bot: skip
2026-08-31 10:07:00 +02:00
Marc Durdin
9f7beafc57 chore(developer): remove duplicated versioning information from Server
Use `KEYMAN_VERSION` instead of parsing version information.

Test-bot: skip
2026-08-31 09:52:30 +02:00
Marc Durdin
f65299cb36 fix(developer): use path not dependent on pwd for starting Server
Fixes: #12165
Test-bot: skip
2026-08-31 09:28:34 +02:00
Marc Durdin
4b581c1e65 fix(developer): disable Copy Link in Model Editor if no link to copy
Also reorder the buttons more logically, so Copy Link is next to Test
Keyboard, so that the Email Links button which applies to all items in
the list is separate from the Test Keyboard and Copy Link buttons.

Fixes: #12669
Test-bot: skip
2026-08-31 08:05:40 +02:00
Marc Durdin
d7b4084438 fix(developer): improve scroll wheel behavior in Character Map
The Character Map scroll will now scroll from current scroll position
when the scroll wheel is used, one row at a time, rather than moving the
currently selected cell. This behavior is more natural and allows mixed
use of the scrollbar and the scrollwheel.

Fixes: #14159
Test-bot: skip
2026-08-31 07:55:16 +02:00
Keyman Server
f8a5164c57
Merge pull request #16461 from keymanapp/auto/version-master-19.0.277
auto: increment master version to 19.0.277
2026-08-28 20:04:24 +02:00
Keyman Build Agent
932deccff4 auto: increment master version to 19.0.277
Test-bot: skip
Build-bot: skip
2026-08-28 13:01:38 -05:00
Marc Durdin
2f60544835 docs(developer): tweak comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
Co-authored-by: Sabine Schmitt <SabineSIL@users.noreply.github.com>
2026-08-28 17:31:06 +02:00
Eberhard Beilharz
20e651fd99
chore(web): add publishing symbols to TC ios release build
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Build-bot: skip release:web,android,ios
2026-08-28 15:36:37 +02:00
Marc Durdin
57f0dc4597 fix(developer): validate id and modifiers attributes in Layr compiler
Per the spec, the `id` attribute is required for touch layers, and
`modifiers` attribute is required for hardware layers. There is
ambiguity in the spec at present as to whether they should be allowed
for the alternative type.

* Validate that the attributes are present where required.
* Tighten validation of `modifiers` attribute - it cannot be empty or
  missing for hardware; "" != "none".
* Hint if the attribute is present when it probably shouldn't be (to be
  potentially raised to warning or error after spec clarified).
* Fixup all keyboard3 xml files to conform to spec and eliminate hints.
* Add unit tests.
* Removed threshold warning for coverage as kmc-ldml is already > 90%.

Fixes: #12423
2026-08-28 13:21:12 +02:00
Marc Durdin
369911397a fix(developer): validate the number of hardware layers only in Layr compiler
`KeysCompiler` runs before `LayrCompiler` so this verification needs to
defer rather than throw. We can assume that the `LayrCompiler` will
catch it.

Fixes: KEYMAN-DEVELOPER-3XD
Fixes: #16454
Test-bot: skip
2026-08-28 11:49:59 +02:00
Marc Durdin
cf22d460ff feat(developer): support output folder and --continue-on-error
Add support for specifying an output folder instead of filename for the
`--out-file` parameter of kmc. This allows for batch builds, which can
be much faster than invoking kmc for each file separately.

Alongside that, add a `--continue-on-error` parameter that allows for
batch builds to continue even if a single file fails to build. (Note
that if a fatal error is encountered, kmc aborts with exit code 70).
2026-08-28 10:29:28 +02:00
Marc Durdin
3a6b5fd9a9
Merge branch 'master' into refactor/windows/16434-rename-to-RefreshModifierState
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-28 12:37:35 +07:00
rc-swag
15e91ab452
Merge pull request #16423 from MattGyverLee/fix/windows/16422-caps-lock-state-on-keyboard-switch
fix(windows): resync caps lock state when Keyman keyboard is activated
2026-08-28 15:31:03 +10:00
rc-swag
9abf6d23c3
Merge pull request #16430 from keymanapp/fix/windows/15187/msi-uninstaller-access-helper
fix(windows): add manifest to insthelper and set trustinfo to asInvoker
2026-08-28 09:44:00 +10:00