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
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
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
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
Joshua Horton
67b26cb643
Merge pull request #16273 from keymanapp/fix/web/empty-prediction-cases
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
fix(web): improve prediction whitespace-input, backspace-input edge case handling 🚂
2026-07-30 23:24:12 +07:00
Joshua Horton
e1f143a619
fix(web): fix unit test issues from last commit
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-30 11:23:48 -05:00
Eberhard Beilharz
21f744f44a
Merge pull request #16286 from keymanapp/refactor/web/contextManager
...
refactor(web): adjust function visibility and variable names
2026-07-30 15:51:50 +02:00
Joshua Horton
051ef41a26
fix(web): restore backspace-input token reconstruction
...
Before epic/autocorrect, input of a pure backspacing transform would perform special operations within the predictive-text worker, reconstructing the remainder of the token and erasing fat-finger data. This PR fixes the regression.
This is notably useful when attempting to erase part of an applied suggestion, as applied suggestions wholesale-replace the original versions of affected tokens with a single transform input. Backspacing into the transform will then break that unitary transform into pieces better suited for ongoing predictive-text operations.
Build-bot: skip build:web build:android
2026-07-29 16:28:42 -05:00
Joshua Horton
7db38f93ec
fix(web): do not remove applied transition ID from original token when editing
2026-07-28 08:40:44 -05:00
Joshua Horton
f864bf293a
change(web): spin off method, add unit tests to verify handling of keep vs revert suggestions
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-27 12:11:50 -05:00
Eberhard Beilharz
8cad000e11
Merge pull request #16285 from keymanapp/chore/web/updateHelpLinks
...
chore(web): update help links to use latest version
This updates three in-code help links to point to `current-version` instead of an outdated version page.
2026-07-27 15:38:57 +02:00
Eberhard Beilharz
d9f572f92d
refactor(web): adjust function visibility and variable names
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
The functions are only used inside of the class, so this change makes
them private. Also update some variable names.
Test-bot: skip
2026-07-27 14:17:33 +02:00
Eberhard Beilharz
76058bcc52
chore(web): update help links to use latest version
...
This updates three in-code help links to point to `current-version`
instead of an outdated version page.
Build-bot: skip
Test-bot: skip
2026-07-27 13:22:04 +02:00