Commit graph

2864 commits

Author SHA1 Message Date
Marc Durdin
c64bdb82a6
Merge pull request #16504 from keymanapp/fix/web/16477-remove-deprecated-window-unload-handler
fix(web): remove deprecated `onunload` handler
2026-09-03 21:44:32 +07:00
Joshua Horton
b665a19e7a
Merge pull request #16436 from keymanapp/change/web/narrow-autoselection-comparisons
change(web): narrow the range of suggestions examined to determine autocompletion
2026-09-03 20:16:56 +07:00
Joshua Horton
b659a287fb
Merge pull request #16429 from keymanapp/change/web/stage-correctpredicttuple-construction
change(web): stage construction of CorrectionPredictionTuple instances
2026-09-03 20:16:35 +07:00
Eberhard Beilharz
7e6a32cdc7
Merge pull request #16495 from keymanapp/fix/web/16190_KbdNotAvailable
chore(web): tweak error message

Previously the browser component and web engine had the same error message which made it harder to know where the exception happened if a call stack or source map were missing. This change modifies the message in engine.

Related-to: #16190
2026-09-03 11:33:31 +02:00
Eberhard Beilharz
359c9270aa
chore(web): add explanations why test page only works on local test server 2026-09-03 11:16:15 +02:00
Eberhard Beilharz
9d2b9bc1ff
Update web/src/test/manual/web/keyboard-errors/index.html
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-09-03 09:22:11 +02:00
Joshua Horton
fd45e8df24 docs(web): adjust header comment to tweak build
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-02 13:33:53 -05:00
Eberhard Beilharz
a570108f85
chore(web): allow to run keyboard-errors test from build server
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-02 19:34:00 +02:00
Eberhard Beilharz
67c7bfe953
chore(web): adjust expected error message in manual test
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-02 15:23:30 +02:00
Eberhard Beilharz
a1d50b35bb
Apply batched suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-09-02 15:04:40 +02:00
Marc Durdin
405111d815 fix(web): remove deprecated onunload handler
The `onunload` event is deprecated. The only thing we do is cleanup,
which is not necessary if the page is being unloaded anyway.

Fixes: #16477
Test-bot: skip
2026-09-02 10:40:41 +02:00
Eberhard Beilharz
268b64eab5
chore(web): update file headers
Build-bot: skip
Test-bot: skip
2026-09-01 17:57:11 +02:00
Eberhard Beilharz
7a61311147
chore(web): tweak error message
Previously the browser component and web engine had the same error message
which made it harder to know where the exception happened if a call stack
or source map were missing. This change modifies the message in engine.

Related-to: $#16190
Build-bot: skip release:android,ios,web
Test-bot: skip
2026-09-01 17:29:41 +02:00
Joshua Horton
605d823349 Merge remote-tracking branch 'origin/change/web/stage-correctpredicttuple-construction' into change/web/narrow-autoselection-comparisons
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-27 07:22:55 -05:00
Joshua Horton
4e5eab7e0f
Merge pull request #16437 from keymanapp/change/web/missing-stub-error
change(web): enhance missing-stubs error
2026-08-27 19:21:05 +07:00
Joshua Horton
775b60ba4c
change(web): apply MD suggestion from code review
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-26 21:27:25 +07:00
Joshua Horton
39a7652056
change(web): apply MD suggestion from code review
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-26 20:47:57 +07:00
Joshua Horton
5481425bf4 docs(web): add predict-helpers.ts header doc
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-26 08:42:13 -05:00
Joshua Horton
27b60a4fcc change(web): enhance missing-stubs error
Relates-to: #15425

Build-bot: skip build:web
Test-bot: skip
2026-08-25 13:22:04 -05:00
Joshua Horton
c278c3601f change(web): narrow the range of suggestions examined to determine autocompletion
Build-bot: skip build:web
2026-08-25 10:48:54 -05:00
Joshua Horton
0e41273465 change(web): stage construction of CorrectionPredictionTuple instances
Build-bot: skip build:web
Test-bot: skip
2026-08-24 13:36:49 -05:00
Eberhard Beilharz
f07e05fb15
chore(web): skip guide-examples.tests.ts until race is fixed
The guide-examples.tests.ts have a race so that they occasionally fail
(#16167). This change disables the tests until we have a fix in place.

Related-to: #16167
Build-bot: skip build:web
Test-bot: skip
2026-08-24 11:43:39 +02:00
Marc Durdin
3774b2d8ab
Merge branch 'master' into epic/autocorrect 2026-08-19 20:37:51 +07:00
Joshua Horton
9372137bee change(web): mark a couple fields private
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-18 09:12:42 -05:00
Joshua Horton
7a7ca44242 change(web): merge gesture-completion handler and cancler for HeldRepeater 2026-08-18 08:12:51 -05:00
Joshua Horton
0f666be3d5 docs(web): document GestureHandler.cancel idempotency 2026-08-17 08:21:52 -05:00
Joshua Horton
3c13dfb175 refactor(web): refactor HeldRepeater class 2026-08-17 08:12:05 -05:00
Joshua Horton
5a7b7118ff
Merge pull request #16314 from keymanapp/change/web/match-fatfingers-by-element-ids
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
change(web): lookup key-data via elementID, not reference, during fat-finger generation 🚂
2026-08-17 19:05:51 +07:00
Joshua Horton
d153ecb1c0 fix(web): cancel gestures on relayouts and context resets
Related-to: #15226

This fixes the bug underlying the repro described here: https://github.com/keymanapp/keyman/issues/15226#issuecomment-3842211229

I cannot yet confirm that it fixes the issue as a whole, however.

Build-bot: skip build:web release:android release:ios
2026-08-14 15:26:57 -05:00
Joshua Horton
30c5898eba change(web): address missing key entry in subkey correction map 2026-08-14 12:02:31 -05:00
Keyman Server
90c10d5f34
Merge branch 'epic/autocorrect' into auto/A19S35-merge-base-into-autocorrect 2026-08-14 16:18:38 +02:00
Joshua Horton
a672fa21f3 fix(web): use correct layer for key-correction, even upon nextLayer key input
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Fixes: KEYMAN-WEB-SP
Fixes: KEYMAN-WEB-SQ
2026-08-13 14:34:57 -05:00
Joshua Horton
67d7ef80e2
Merge pull request #16337 from keymanapp/change/web/rework-taillesss-penultimate-token
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
change(web): rework penultimate token handling in tailless-keystroke method 🚂
2026-08-13 20:43:15 +07:00
Marc Durdin
85d7b398bc chore(web): add test for versionInfo.full
Test-bot: skip
2026-08-13 08:40:21 +02:00
Joshua Horton
29edaa48a4 change(web): address a couple more
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-08-12 12:53:50 -05:00
Joshua Horton
fcc7c74c8f change(web): alter variable + param names per PR review 2026-08-12 12:52:10 -05:00
Joshua Horton
25f6e6694e Merge branch 'epic/autocorrect' into change/web/match-fatfingers-by-element-ids 2026-08-12 12:38:39 -05:00
Joshua Horton
25744dc226
Merge pull request #16350 from keymanapp/fix/web/complex-backspaces
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
fix(web): fix complex backspace handling, add unit tests 🚂
2026-08-13 00:37:34 +07:00
Joshua Horton
64a67078e7
Merge pull request #16349 from keymanapp/fix/web/context-token-reconstruction-transition-ids
fix(web): annotate transition ID on reconstructed context tokens 🚂
2026-08-13 00:37:12 +07:00
Joshua Horton
a3f6af9bc9 change(web): add tailless-true-keystroke method assertion
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-12 11:04:52 -05:00
Joshua Horton
4c120b9137 change(web): clean up id-tagging transform-map for-each 2026-08-12 10:57:04 -05:00
Joshua Horton
7330e2aaab
Merge pull request #16313 from keymanapp/fix/web/amharic-keyspec-mismatch
fix(web): match fat-finger keys via elementID, not by reference 🚂
2026-08-12 22:52:55 +07: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
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
Joshua Horton
2a3fb9796b
Merge pull request #16336 from keymanapp/docs/web/comment-tailless-keystroke-loop
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
docs(web): document loop within tailless-keystroke construction 🚂
2026-08-12 05:30:49 +07:00
Joshua Horton
ce0df801e7 fix(web): fix complex backspace handling, add unit tests
Fixes: #16335

The new unit tests here caught the behavior addressed by this PR's predecessor, #16349.

Meanwhile, a _different_ behavior was noted here that had added complexity - it so happens the test case I constructed managed to catch a bug in backspace handling!  Fortunately, a small tweak was able to resolve the issue.

Build-bot: skip build:web
Test-bot: skip
2026-08-11 17:26:57 -05:00
Joshua Horton
b4c9b40916 fix(web): annotate transition ID on reconstructed context tokens
Build-bot: skip build:web
Test-bot: skip
2026-08-11 17:17:38 -05:00
Joshua Horton
515994135c change(web): rework penultimate token handling in tailless-keystroke method
Build-bot: skip build:web
Test-bot: skip
2026-08-10 11:20:30 -05:00
Joshua Horton
9a8d17c090 docs(web): document loop within tailless-keystroke construction
Build-bot: skip build:web
Test-bot: skip
2026-08-10 11:16:20 -05:00