Marc Durdin
f0fb18a853
Merge pull request #16582 from keymanapp/maint/web/build-perf
...
maint(web): improve build perf and test params
2026-09-29 11:04:09 +02:00
Marc Durdin
1afa9aca5d
Merge pull request #16661 from keymanapp/docs/web/16660-deprecate-moveToElement
...
docs(web): deprecate `keyman.moveToElement(elem)` API
2026-09-25 15:26:24 +02:00
Marc Durdin
866ede8ea4
chore(web): clarify LanguageProcessorSpec usage
...
We had the interface but never showed where it was implemented.
Test-bot: skip
2026-09-25 08:45:32 +02:00
Marc Durdin
5e710f885c
docs(web): deprecate keyman.moveToElement(elem) API
...
Use instead `elem.focus()`.
Fixes : #16660
Test-bot: skip
2026-09-25 08:19:57 +02:00
Marc Durdin
45a0cd9469
chore(web): improve reporting on dictionary load errors
...
Some error messages do not include the URL, so it can be hard to
disambiguate them. Will not back-port to 18.0, because the errors are
currently rare.
See-also: #16628
Test-bot: skip
2026-09-24 09:36:03 +02:00
Marc Durdin
3c90c732e1
chore(android): remove unused map-polyfill.js and es6-shim.min.js polyfills
...
These files were copied in but never referenced in 19.0 source.
Fixes : #16583
Test-bot: skip
2026-09-23 11:25:13 +02:00
Joshua Horton
bf98a2f03b
Merge pull request #16600 from keymanapp/change/web/lexically-weight-prediction-search
...
change(web): add lexical weighting to prediction search
2026-09-21 21:50:24 +07:00
Joshua Horton
02274223fd
fix(android): suppress autocorrection of hardware keystroke input
...
Fixes : #16602
Build-bot: skip release:web,android
2026-09-18 09:14:59 -05:00
Joshua Horton
00a9b66b01
Merge pull request #16581 from keymanapp/change/web/remove-tokenization-corrector
...
change(web): remove TokenizationCorrector class only used in epic/boundary-correction
2026-09-18 20:08:35 +07:00
Joshua Horton
013def7d9c
change(web): add lexical weighting to prediction search
...
Fixes : #16577
From 14.0 up until now, our correction-search focused on the minimum "correction distance" to a possible text _correction_, then performed prediction _on top of that_. This PR changes the search to integrate word-frequency weighting from models within the search, allowing us to optimize for the most likely predictions. There is no additional performace cost impact of note here - the probability associated with a correction's best prediction is already accessible O(1) with operations we've already been doing.
It is likely that this will help further mitigate issues with transposition handling noted in the user tests for #16450 .
Build-bot: skip release:web,android,ios
2026-09-17 16:30:50 -05:00
Eberhard Beilharz
7b2f275eb1
Merge pull request #16524 from keymanapp/fix/web/16080_kbdoff
...
fix(web): allow to set default keyboard to 'off'
The parameters for setKeyboardForControl basically have three different modes: - an id of a keyboard/language to set that keyboard, enabling independent keyboard mode - empty string to set the system keyboard, enabling independent keyboard mode - null to disable independent keyboard mode.
Our previous code didn't properly handle the last two modes. This change fixes the problems and also clarifies and updates the documentation.
Also included is an improvement to the guide-examples e2e tests that now wait until all keyboards are loaded (which may fix #16167 ).
Partially drafted by kilo.ai.
User tests will follow in an upcoming PR for #16522 .
Fixes : #16080
2026-09-17 17:25:24 +02:00
Eberhard Beilharz
56524f1862
Apply batched suggestions from code review
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-09-17 16:50:17 +02:00
Marc Durdin
d850c913b9
maint(web): improve build perf and test params
...
Allow for additional parameters to mocha (e.g. `-f testname`) and remove
unnecessary build steps; tidy up android-harness build script.
Test-bot: skip
2026-09-17 07:22:46 +02:00
Joshua Horton
115f2dba20
change(web): remove TokenizationCorrector class only used in epic/boundary-correction
...
Build-bot: skip build:web
Test-bot: skip
2026-09-16 16:53:55 -05:00
Joshua Horton
13ae31e2e6
Merge pull request #16450 from keymanapp/fix/web/support-transposition-autocorrect
...
fix(web): support autocorrection of transposed text
2026-09-17 01:33:19 +07:00
Eberhard Beilharz
4b7c0d48e5
fix(web): address code review comments
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-16 15:37:51 +02:00
Joshua Horton
24060dbbc8
change(web): enhance unit test to help ensure transpositions aren't accidentally ignored
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-15 10:41:46 -05:00
Joshua Horton
4945ae9407
change(web): discard transposition paths that require extra inserts or deletes
2026-09-15 09:14:30 -05:00
Eberhard Beilharz
3671ab06bb
refactor(web): add header to osk views files
...
Also remove outdated mentioning of Keyman 10 and outdated copyright year.
Build-bot: skip
Test-bot: skip
2026-09-15 14:43:44 +02:00
Eberhard Beilharz
835f226aba
test(web): add e2e tests for independent/global mode
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-14 17:58:41 +02:00
Joshua Horton
1802b3aaef
Merge pull request #16548 from keymanapp/fix/web/unexpected-worker-unload-msg
...
fix(web): handle 'unload' message while attempting model 'load'
2026-09-11 20:17:42 +07:00
Eberhard Beilharz
e50fd2cf7a
chore(web): address code review comments
...
Also add links to guide examples to test page.
2026-09-11 11:35:40 +02:00
Joshua Horton
91c36f3998
feat(web): add failed model-load recovery unit test
2026-09-10 11:06:10 -05:00
Marc Durdin
fcd34d4cb9
Merge pull request #16531 from keymanapp/fix/web/16503-remove-scroll-to-top
...
fix(web): remove scroll-to-top on page load
2026-09-10 11:46:37 +07:00
Joshua Horton
18f334a60e
fix(web): handle 'unload' message while attempting model 'load'
...
Fixes: KEYMAN-WEB-MD
Build-bot: skip build:web
Test-bot: skip
2026-09-09 13:49:12 -05:00
Joshua Horton
3b626da355
change(web): allow autocorrection on input of basic whitespaces
...
Build-bot: skip
Test-bot: skip
2026-09-08 10:25:02 -05:00
Eberhard Beilharz
4d7867e61c
fix(web): allow to set default keyboard to 'off'
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
The parameters for `setKeyboardForControl` basically have three
different modes:
- an id of a keyboard/language to set that keyboard, enabling independent
keyboard mode
- empty string to set the system keyboard, enabling independent keyboard
mode
- `null` to disable independent keyboard mode.
Our previous code didn't properly handle the last two modes. This change
fixes the problems and also clarifies and updates the documentation.
Also included is an improvement to the guide-examples e2e tests that now
wait until all keyboards are loaded (which may fix #16167 ).
Partially drafted by kilo.ai.
Fixes : #16080
Build-bot: skip release:web
2026-09-08 11:56:41 +02:00
Eberhard Beilharz
d2abc847ff
refactor(web): simplify logic of prepareKeyboardForActivation
...
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-09-07 18:32:56 +02:00
Eberhard Beilharz
04a5cd13c9
chore(web): minor improvements and fixes
...
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Build-bot: skip build:web
Test-bot: skip
2026-09-07 17:05:06 +02:00
Eberhard Beilharz
bd827f8395
refactor(web): clarify function scope and update some function comments
2026-09-07 17:05:06 +02:00
Eberhard Beilharz
8ec6ba0c94
Merge pull request #16523 from keymanapp/chore/web/typesInTest
...
chore(web): adjust types in guide-examples tests
2026-09-07 17:05:03 +02:00
dependabot[bot]
cb0c368478
chore(deps): bump qs and express
...
Bumps [qs](https://github.com/ljharb/qs ) to 6.16.0 and updates ancestor dependency [express](https://github.com/expressjs/express ). These dependencies need to be updated together.
Updates `qs` from 6.15.2 to 6.16.0
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ljharb/qs/compare/v6.15.2...v6.16.0 )
Updates `express` from 4.22.2 to 5.2.1
- [Release notes](https://github.com/expressjs/express/releases )
- [Changelog](https://github.com/expressjs/express/blob/master/History.md )
- [Commits](https://github.com/expressjs/express/compare/v4.22.2...v5.2.1 )
---
updated-dependencies:
- dependency-name: express
dependency-version: 5.2.1
dependency-type: direct:production
- dependency-name: qs
dependency-version: 6.16.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-09-07 09:20:28 +00:00
Joshua Horton
c0052f8620
Merge remote-tracking branch 'origin/fix/web/support-transposition-autocorrect' into fix/web/support-transposition-autocorrect
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-09-04 16:51:59 -05:00
Joshua Horton
60f5effe6e
change(web): add transposition unit tests, loosen search correction thresholding
2026-09-04 16:50:56 -05:00
Marc Durdin
22bc09dc8b
fix(web): remove scroll-to-top on page load
...
This is a legacy behaviour from pre KeymanWeb 2.0 days, probably to deal
with buggy rendering in older browsers. Removing as an unwanted
side-effect.
Fixes : #16503
Test-bot: skip
2026-09-04 16:11:05 +02:00
Eberhard Beilharz
53540cc826
chore(web): adjust types
2026-09-03 18:25:05 +02:00
Eberhard Beilharz
75fe9b812c
Merge pull request #16521 from keymanapp/refactor/web/scope
...
refactor(web): clarify scope of PageContextAttachment functions
Also refactor function comments to follow the style we usually use, and rename some parameters.
2026-09-03 18:24:45 +02:00
Eberhard Beilharz
7f41b797f2
Merge pull request #16519 from keymanapp/chore/web/constcookie
...
chore(web): add const for cookie name
2026-09-03 18:24:12 +02:00
Eberhard Beilharz
58dbb3d1ee
refactor(web): clarify scope of PageContextAttachment functions
...
Also refactor function comments to follow the style we usually use,
and rename some parameters.
Build-bot: skip build:web
Test-bot: skip
2026-09-03 16:46:56 +02:00
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
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
Eberhard Beilharz
8e4df44aeb
chore(web): add const for cookie name
...
Build-bot: skip build:web
Test-bot: skip
2026-09-03 14:14:09 +02: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
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
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
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-02 15:23:30 +02:00