Commit graph

5120 commits

Author SHA1 Message Date
Marc Durdin
ffec6a21f3 chore: Merge remote-tracking branch 'origin/epic/web-core' into chore/merge-dev-refactors-into-web-core 2025-04-03 12:19:28 +07:00
Marc Durdin
cafa503124 chore: use explicit node: prefix on more module imports 2025-04-03 08:10:50 +07:00
Marc Durdin
7c42887ead
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-03-31 12:13:48 +07:00
Marc Durdin
a52437c407 chore: Merge branch 'master' into chore/b18s4-merge-beta-to-master 2025-03-29 05:38:08 +07:00
Joshua Horton
71df37930f
Merge pull request #13360 from keymanapp/feat/web/gesture-error-traces
feat(web): adds gesture 'traces' for warning/error logging
2025-03-19 08:13:48 +07:00
Joshua Horton
f1567018ac
Merge pull request #13534 from keymanapp/fix/web/consistent-model-loading-check
fix(web): model unload and load should use consistent, canEnable check
2025-03-19 08:12:39 +07:00
Joshua Horton
a015fd0296 change(web): context-state logging now oldest to most recent
The gesture traces themselves, within their indentation, maintain stacktrace-style ordering.
2025-03-18 14:19:37 +07:00
Joshua Horton
76a5e067e9 fix(web): unload and load should use consistent, canEnable check
Fixes: #13512
Fixes: KEYMAN-WEB-QD
2025-03-18 14:07:07 +07:00
Joshua Horton
d0c0159d56 docs(web): adds section on JS-keyboard interfacing 2025-03-18 08:31:13 +07:00
Joshua Horton
f3d15eca2d docs(web): improved doc on fat-finger correction paragraph 2025-03-18 08:07:04 +07:00
Joshua Horton
cdb3505f96 docs(web): tweak docs per review 2025-03-18 08:02:07 +07:00
Eberhard Beilharz
8124cd6b6b
Merge pull request #13408 from keymanapp/test/web/core-stresstest
test(web): add stress-test page for loading KMX keyboard from blob 🎼
2025-03-17 16:03:48 +01:00
Joshua Horton
6c72a30a84 docs(web): add internal documentation for context state and keystroke processing
Fixes: #13518
2025-03-17 15:37:40 +07:00
Joshua Horton
1b8c2d8776
Merge pull request #13359 from keymanapp/fix/web/bksp-auto-cancel-on-new-input
fix(web): cancel held backspace on new key input
2025-03-17 08:39:36 +07:00
Marc Durdin
676967e95c chore(web): rename KeyboardInterface to JSKeyboardInterface in one test 2025-03-15 15:12:00 +07:00
Marc Durdin
068da83e50 chore: Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-03-14 11:05:17 +07:00
Marc Durdin
c35e0dac5f chore: Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-03-14 11:02:37 +07:00
Eberhard Beilharz
18aed967cc
Update web/src/test/manual/web/index.html 2025-03-05 18:27:43 +01:00
Eberhard Beilharz
a8d37843e5
Update web/src/test/manual/web/core/stress.html
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-03-05 18:25:08 +01:00
Eberhard Beilharz
626a43f6a1
docs(web): update parameter name in function headers
Addresses code review comment.
2025-03-05 18:23:20 +01:00
Marc Durdin
024f1a918e test(web): remove unnecessary import map standalone file 2025-03-04 13:51:03 +01:00
Marc Durdin
e16452b784 test(web): polish stress test for KM_Core
Makes use of modules to make it easier to make additional tests,
establishes an import map, renames to stress.html, and adds the stress
test link to the manual testing home page.
2025-03-04 13:47:20 +01:00
Eberhard Beilharz
30fc5db6f6
test(web): add stress-test page for loading KMX keyboard from blob
This currently occasionally fails when run with WebKit (e.g. Epiphany
browser).
2025-03-03 18:06:17 +01:00
Eberhard Beilharz
3b2157cb83
refactor(web): cleanup OutputTarget class names
- rename `js-processor`'s `OutputTarget` → `OutputTargetBase`
- rename `element-wrappers`' `OutputTarget` → `OutputTargetElementWrapper`
2025-03-03 18:02:47 +01:00
Eberhard Beilharz
bd1c610d65
refactor(web): rename base KeymanEngine to KeymanEngineBase 2025-03-03 11:29:46 +01:00
Eberhard Beilharz
8e8816adc2
feat(web): fix tests 2025-03-03 11:28:39 +01:00
Eberhard Beilharz
fe3e02cf9e
feat(web): implement getting properties of KMXKeyboard 2025-03-01 17:18:31 +01:00
Marc Durdin
f61a104acf
Merge branch 'master' into chore/merge-beta-into-master-B18S2 2025-03-01 15:45:19 +07:00
Joshua Horton
fba9b236cc fix(web): cancel held backspace on new key input
As identified in the analysis for #13344, held backspaces have not been cancelled when receiving new inputs.  It's better and cleaner to have it act similarly to normal keystrokes - receiving a new key input autocompletes any currently-held output keys.

The current, existing behavior also has the potential to get particularly messy with multitaps, which restore the context at their start.  If a backspace is held and then a multitap begins, each new tap of the multitap would undo the backspaces that triggered since the first tap of the multitap.
2025-02-27 13:00:44 +07:00
Joshua Horton
94827b52b2 feat(web): adds gesture 'traces' for warning/error logging
To facilitate debugging cases where gestures don't work as intended, this adds sanitized logging for keystrokes resulting for gestures.  These are only to be output when a relevant error or warning is emitted.

This is primarily being added to facilitate investigation of #13344.
2025-02-27 12:50:35 +07:00
Joshua Horton
2db8fa089c chore(web): clean a few commented-out vars 2025-02-27 09:36:25 +07:00
Joshua Horton
f254f38440 chore(web): remove dead osk-height calculation method
Some of the OSK optimization rework in 17.0 found a better way to handle this that has proven stable; no reason to keep it around any longer.
2025-02-27 09:34:35 +07:00
Joshua Horton
b7c13bdc66 chore(web): remove dead key-target function 2025-02-27 09:31:13 +07:00
Joshua Horton
ecc3bc18e7 chore(web): remove dead bksp functions
These were replaced by the HeldRepeater gesture-handler type.
2025-02-27 09:28:18 +07:00
Joshua Horton
5db10ea436
Merge pull request #13331 from keymanapp/fix/web/init-should-not-cookie-default
fix(web): prevent cookie-default behavior from mangling engine init
2025-02-26 09:29:54 +07:00
Joshua Horton
0a8c99e322
Merge pull request #13291 from keymanapp/fix/web/engine-main-headless-tests
fix(web): reconnect, patch up engine/main headless unit tests
2025-02-25 08:17:48 +07:00
Joshua Horton
72a9e8b8fe fix(web): fix up applied suggestion - properly "fill in" Worker type 2025-02-24 13:06:17 +07:00
Joshua Horton
f3946ffc76 fix(web): prevent cookie-default behavior from mangling engine init
Fixes: #13278

The fallback default keyboard corresponding to an uninitialized cookie is `Keyboard_us:en`.   This should only occur if the site actually registers its stub before initialization - and we weren't checking/filtering for this properly.

The error itself only occurred if there _were_ stubs pre-registered before init - if none existed, the error does not result.
2025-02-24 12:37:09 +07:00
Joshua Horton
accdb3752e
change(web): apply focused try-catch suggestion from review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-02-24 09:15:50 +07:00
Joshua Horton
3d879ed295 docs(web): remove outdated comment in engine/main/build.sh 2025-02-21 08:16:21 +07:00
Joshua Horton
94df946b0e fix(web): reconnect, patch up engine/main headless unit tests 2025-02-20 12:13:11 +07:00
Joshua Horton
a5c987116b fix(web): patches up affected unit test 2025-02-20 12:11:41 +07:00
Joshua Horton
baf2150542 fix(web): properly support workerless use of Web engine
Fixes: #13262
Fixes: KEYMANWEB-COM-1VH
2025-02-20 12:06:28 +07:00
Joshua Horton
f630cd161c
Merge pull request #13269 from keymanapp/fix/web/undefined-engine-error-propagation
fix(web): provide informative error + message when loading UI without the engine
2025-02-19 10:03:48 +07:00
Joshua Horton
8421409c25 docs(web): adjusts manual-control example to use promise-chaining
Fixes: #13267
2025-02-18 11:33:47 +07:00
Joshua Horton
94023cd692 fix(web): provide informative error + message when loading UI without the engine
Fixes: #13261
2025-02-18 09:47:17 +07:00
Joshua Horton
14bca9fffd
Merge pull request #13196 from keymanapp/chore/web/fix-coverage-reporting
chore(web): fix coverage-reporting artifact
2025-02-14 14:57:05 +07:00
Joshua Horton
90b4318d84
Merge pull request #13158 from keymanapp/chore/web/top-level-clean-predictive-text
chore(web): ensure /web/build.sh clean triggers all predictive-text child actions
2025-02-14 14:56:52 +07:00
Joshua Horton
7feb496718
Merge pull request #13141 from keymanapp/change/web/drop-CI-unit-test-concurrency
change(web): drop 'dom' unit test concurrency when run in CI mode
2025-02-14 14:56:37 +07:00
Marc Durdin
d6e7c0b9d1 chore: Revert "Merge branch 'master' into beta"
This reverts commit fae3932e15, reversing
changes made to 793daddb48.
2025-02-14 07:45:28 +07:00