Joshua Horton
60f5effe6e
change(web): add transposition unit tests, loosen search correction thresholding
2026-09-04 16:50:56 -05:00
Joshua Horton
78e3d509f4
Merge branch 'master' into fix/web/support-transposition-autocorrect
2026-09-03 09:44:18 -05: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
Joshua Horton
fd45e8df24
docs(web): adjust header comment to tweak build
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-02 13:33:53 -05: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
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
45e3df9822
fix(web): support autocorrection of transposed text
...
Fixes : #16398
Fixes : #12311
Note: will not handle transpositions that cross token boundaries.
Also note: major changes will be needed for epic/boundary-correction, as it will discontinue use of the LegacyQuotientSpur type.
Build-bot: skip release:web,android,ios
2026-08-27 12:28:18 -05:00
Joshua Horton
605d823349
Merge remote-tracking branch 'origin/change/web/stage-correctpredicttuple-construction' into change/web/narrow-autoselection-comparisons
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-27 07:22:55 -05:00
Joshua Horton
775b60ba4c
change(web): apply MD suggestion from code review
...
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
...
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
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
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
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
...
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
...
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
...
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
Joshua Horton
29edaa48a4
change(web): address a couple more
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
...
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
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
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
...
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
Joshua Horton
79c343b74b
change(web): add issue number to code comment
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-10 22:32:08 +07:00
Keyman Server
0a868ac7ff
Merge branch 'epic/autocorrect' into auto/A19S34-merge-base-into-autocorrect
2026-08-10 09:54:03 +02:00
Joshua Horton
dd0bf09cfd
change(web): lookup key-data via elementID, not reference, during fat-finger generation
...
Build-bot: skip release:web release:android
Relates-to: #16254
Relates-to: #16313
Noting that similar issues to those fixed by #16313 have occurred in other gesture-related contexts, it seems wise to implement the same sort of fix for all gesture types - perhaps the Android WebView has its own circumstances where similar "reference replacements" may occur and throw off our internal key-matching logic.
2026-08-07 15:27:32 -05:00
Joshua Horton
d55a1949c8
fix(web): match fat-finger keys via elementID, not by reference
...
Fixes : #16254
While I have not been able to find a definitive online reference, it appears that the key-spec instance attached to OSK elements may be replaced within the iOS Safari-based WebView despite no re-assignment existing within Keyman Engine for Web code.
The references should not change under any condition, but it appears that something external within the iOS WebView causes this anyway. Fortunately, we can still check against the unique element ID, which provides a way around this issue.
Build-bot: skip release:web release:ios
2026-08-07 15:23:49 -05:00
Eberhard Beilharz
870903dccb
refactor(web): fix return type of currentKeyboardSrcTextStore
...
`currentKeyboardSrcTextStore` can return `null` if the global
`textStore` should be used. This change reflects this in the return
type.
Build-bot: skip build:web
Test-bot: skip
2026-08-07 09:37:14 +02:00
Joshua Horton
6c2d873d09
change(web): relocate comment per PR review
2026-08-06 13:39:46 -05:00
Joshua Horton
2d59915030
fix(web): fix construction for suggestions emitted after left-deleting whitespace
...
Build-bot: skip release:web release:android
2026-08-05 10:52:36 -05:00
Joshua Horton
c6b55c5fcc
Merge pull request #16290 from keymanapp/fix/web/bksp-reconstruction
...
fix(web): restore backspace-input token reconstruction 🚂
2026-08-04 20:07:36 +07:00
Joshua Horton
1b8e82cee5
change(web): fix import path
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-03 14:16:36 -05:00
Eberhard Beilharz
1eb58c4ef8
chore(web): fire keyboardloaded event only once per keyboard
...
Previously we fired `keyboardloaded` twice for each loaded keyboard.
This change fixes this.
Fixes : #16292
Build-bot: skip build:web
Test-bot: skip
2026-08-03 17:50:11 +02:00