Commit graph

34711 commits

Author SHA1 Message Date
Marc Durdin
a650ca4ae8
Merge pull request #16382 from keymanapp/auto/A19S35-merge-base-into-web-core
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
auto: A19S35 merge master into web-core 🎼
2026-08-18 15:39:33 +07:00
Marc Durdin
f55218fec6 chore: Merge remote-tracking branch 'origin/epic/web-core' into auto/A19S35-merge-base-into-web-core 2026-08-14 17:19:28 +02:00
Darcy Wong
669afb25b0
Merge pull request #16358 from keymanapp/chore/crowdin-es
chore(android,ios): Update Crowdin strings for Spanish - Latin America
2026-08-14 08:32:07 -05:00
Joshua Horton
15eeca081e
Merge pull request #16368 from keymanapp/fix/web/mobile-app-sourcemap-linkage
fix(web): adjust sourcemap linking pattern used for error reporting within mobile apps
2026-08-14 20:13:01 +07:00
Marc Durdin
9f8717e4f8
Merge pull request #16361 from keymanapp/fix/windows/12611-release-shift-on-osk-with-right-shift
fix(windows): release shift key on OSK when user releases physical right shift
2026-08-14 11:30:39 +02:00
Marc Durdin
9526eb72a6
Merge pull request #16365 from keymanapp/chore/windows/remove-junk-files
chore(windows): remove junk files from kmshell
2026-08-14 08:07:58 +02:00
Marc Durdin
3742e0ce9c
Merge pull request #16369 from keymanapp/chore/common/history
chore(common): add missing history
2026-08-14 08:07:30 +02:00
Marc Durdin
16559f9a31 docs(windows): update comment for TfrmOSKOnScreenKeyboard.OskModifierEvent 2026-08-14 07:54:20 +02:00
Marc Durdin
fecb3b9d73 chore(common): add missing history
Due to accidental bottom-first PR merges.

Test-bot: skip
Build-bot: skip
2026-08-14 07:49:59 +02:00
Joshua Horton
bc497a5fcf fix(web): adjust sourcemap linking pattern used for error reporting within mobile apps
Fixes: #16367

Build-bot: skip build:web release:android release:ios
Test-bot: skip
2026-08-13 14:56:33 -05:00
Keyman Server
2277196c08
Merge pull request #16366 from keymanapp/auto/version-master-19.0.267
auto: increment master version to 19.0.267
2026-08-13 20:03:43 +02:00
Keyman Build Agent
57ff337316 auto: increment master version to 19.0.267
Test-bot: skip
Build-bot: skip
2026-08-13 13:01:43 -05:00
Marc Durdin
2c5157b570 chore(windows): remove junk files from kmshell
Test-bot: skip
2026-08-13 15:26:49 +02:00
SabineSIL
5f10226179
Merge pull request #14360 from keymanapp/chore/developer/scatteredCode/cleanup_VKeys
chore(common): cleanup and merge Preprocessor constants 🧽
2026-08-13 12:31:24 +02:00
SabineSIL
1f298027fd
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys 2026-08-13 11:26:08 +02:00
Sabine
c34de1873e Merge branch 'chore/developer/scatteredCode/cleanup_VKeys' of https://github.com/keymanapp/keyman into chore/developer/scatteredCode/cleanup_VKeys 2026-08-13 11:23:16 +02:00
Sabine
7517531a3a chore(common): remove stray keylayout file 2026-08-13 11:22:52 +02:00
Marc Durdin
2e7772b87c fix(windows): release shift key on OSK when user releases physical right shift
When the user clicks either Shift key on the OSK, that emits a VK_LSHIFT
down key event. If the user subsequently presses and releases the Right
Shift key on their hardware keyboard, that does not reset the isDown
state for the Left Shift key, so the key is not released on the OSK, and
the state becomes inconsistent for apps also.

This change emits a key up event, if when Right Shift is released,
Keyman detects that Left Shift is still "down". Note that if the user
presses and holds Left Shift, and presses and releases Right Shift, the
left shift state will be reset before the users releases Left Shift. But
that's a pathological state!

Fixes: #12611
2026-08-13 10:49:13 +02:00
Marc Durdin
b75f0eefc0
Merge pull request #16351 from keymanapp/feat/web/versionInfo
feat(web): add `keyman.versionInfo` API
2026-08-13 09:14:55 +02:00
Marc Durdin
85d7b398bc chore(web): add test for versionInfo.full
Test-bot: skip
2026-08-13 08:40:21 +02:00
Marc Durdin
6c3b68ca59
Merge pull request #16353 from keymanapp/fix/web/loaduserinterface-api-consistency
fix(web): cleanup `loaduserinterface` and `unloaduserinterface` events
2026-08-13 08:22:17 +02:00
Marc Durdin
512481c473
Merge pull request #16354 from keymanapp/docs/web/cleanup
docs(web): deprecate unused and obsolete API endpoints and docs cleanup
2026-08-13 08:22:07 +02:00
Marc Durdin
0624bc900a
Merge pull request #16095 from keymanapp/dependabot/npm_and_yarn/esbuild-0.28.1
chore(deps-dev): bump esbuild from 0.25.0 to 0.28.1
2026-08-13 08:21:33 +02:00
Darcy Wong
190cde8fd0 chore(ios): Update crowdin for Spanish - Latin America
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-12 16:48:30 -05:00
Darcy Wong
e285b5aa39 chore(android): Update crowdin strings for Spanish - Latin America 2026-08-12 16:48:12 -05:00
Keyman Server
740ec33cad
Merge pull request #16357 from keymanapp/auto/version-master-19.0.266
auto: increment master version to 19.0.266
2026-08-12 20:05:46 +02:00
Keyman Build Agent
d397febeb6 auto: increment master version to 19.0.266
Test-bot: skip
Build-bot: skip
2026-08-12 13:03:34 -05:00
Darcy Wong
e2249734ea chore(common): Update Crowdin strings for Spanish (Latin America) 2026-08-12 09:20:12 -05:00
Marc Durdin
1f82507730 docs(web): deprecate unused and obsolete API endpoints and docs cleanup
Deprecate the following obsolete functions and properties:
* `keyman.helpURL`
* `keyman.util.rgba`
* `keyman.util.toFloat`
* `keyman.util.toNumber`
* `keyman.util.toNzString`

Use correct language for code blocks in Keyman Engine for Web
documentation.

Test-bot: skip
2026-08-12 16:07:22 +02:00
Marc Durdin
b40c4b376b fix(web): cleanup loaduserinterface and unloaduserinterface events
The `loaduserinterface` and `unloaduserinterface` events were
incompletely implemented, and the documentation was incomplete. This
change:

1. ensures `loaduserinterface` is called any time a UI is set, either
   during initialization or when the property is set later.
2. ensures `unloaduserinterface` is called immediately before a UI is
   shutdown.
3. updates documentation
4. removes misleading commented code in kmwuifloat.ts

Test-bot: skip
2026-08-12 15:51:55 +02:00
Eberhard Beilharz
206f023ded
Merge pull request #16344 from keymanapp/docs/core/changes-webcore
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
docs(core): update changes in Core 🎼

Some changes in epic/web-core got moved to v20, so the documentation should reflect that. Updating while I remember.
2026-08-12 14:56:23 +02:00
Marc Durdin
f1361a94f0 feat(web): add keyman.versionInfo API
KeymanWeb has long had `keyman.build` and `keyman.version`. Neither of
these properties expose the full version string, and consumers are
forced to manipulate them to get a partial version string.

This change deprecates both these properties, and introduces a new
`keyman.versionInfo` property, which returns an object with all the
version information, most importantly `full`.

Update documentation and add a unit test for this, following the unit
test pattern established throughout Keyman of a unit test filename
matching the implementation class. The `KeymanEngineBase` class is a
little difficult to instantiate so this unit test module currently has
a minimal instantiation which provides enough to fulfill the one
included test.

Test-bot: skip
2026-08-12 11:07:31 +02:00
SabineSIL
450e23aae1
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-12 10:44:53 +02:00
Sabine
a621106ef3 chore(common): remove namespace km::vkey 2026-08-12 10:04:20 +02:00
rc-swag
159a46bf6c
Merge pull request #16099 from keymanapp/feat/windows/13566/check-metered-connection
feat(windows): honour Windows "metered connection" flag for downloading updates
2026-08-12 09:40:43 +10:00
rc-swag
7e885e0db6
Merge pull request #16342 from keymanapp/fix/core/16341/unit-test-action-que-terminator
fix(core): unit test action_que insert terminated
2026-08-12 09:36:27 +10:00
rc-swag
e5312b002b
Merge pull request #16343 from keymanapp/fix/core/16340/action-clone-fail
fix(core): make coherence check a debug assert
2026-08-12 09:12:48 +10:00
Keyman Server
873a46050d
Merge pull request #16348 from keymanapp/auto/version-master-19.0.265
auto: increment master version to 19.0.265
2026-08-11 20:04:04 +02:00
Keyman Build Agent
f1acc9b7f1 auto: increment master version to 19.0.265
Test-bot: skip
Build-bot: skip
2026-08-11 13:01:40 -05:00
Marc Durdin
176d031f1b
Merge pull request #15827 from memaynor/feat/dark-mode-and-settings
feat(android): design improvement for settings, add dark mode and tool menu
2026-08-11 16:27:27 +02:00
rc-swag
4522e087a3 fix(core): fix indenting in state_api_tests 2026-08-11 20:41:15 +10:00
Sabine
b1f05b5d77 Merge branch 'chore/developer/scatteredCode/cleanup_VKeys' of https://github.com/keymanapp/keyman into chore/developer/scatteredCode/cleanup_VKeys
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-11 11:14:21 +02:00
Sabine
4e4e37ec26 chore(common): add VK_DELETE to km_vkey.h 2026-08-11 11:13:51 +02:00
SabineSIL
10aceeacb3
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys 2026-08-11 10:45:18 +02:00
Sabine
a2bf976e5e chore(common): remove commented old #defines; in some files remove paths for #include km_vkey 2026-08-11 09:46:49 +02:00
rc-swag
f223307f66 chore(core): Merge branch 'fix/core/16341/unit-test-action-que-terminator' into fix/core/16340/action-clone-fail
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2026-08-11 17:32:36 +10:00
rc-swag
8b0f6d3297 fix(core): add null check 2026-08-11 17:29:18 +10:00
Eberhard Beilharz
92751c3777
docs(core): update changes in Core
Some changes in epic/web-core got moved to v20, so the documentation
should reflect that. Updating while I remember.

Build-bot: skip
Test-bot: skip
2026-08-11 09:27:45 +02:00
rc-swag
f8be03cf8b fix(core): fix typo plus temp remove null check 2026-08-11 16:59:10 +10:00
rc-swag
16e6a5634c fix(core): make coherence check a debug assert
This also adds a null pointer check to KM_CORE_IT_PERSIST_OPT
case in km::core::action_item_list_to_actions_object

Fixes: #16340
2026-08-11 16:23:56 +10:00