Commit graph

1134 commits

Author SHA1 Message Date
Eberhard Beilharz
ef1dba89a2
Merge pull request #13998 from keymanapp/refactor/web/variablestoredic 2025-06-06 12:26:10 +02:00
Eberhard Beilharz
74a29c6a07
Merge pull request #13997 from keymanapp/refactor/web/rulebehavior
This requires to move some other files around. Also move `finalize` and `mergeInDefaults` methods to processor.
2025-06-06 12:25:41 +02:00
Eberhard Beilharz
8ef3754b21
docs(web): update function comment
Addresses code review comment.
2025-06-06 10:22:56 +02:00
Eberhard Beilharz
ff28ebc55a
refactor(web): move VariableStoreDictionary to variableStore.ts 2025-06-05 17:25:51 +02:00
Eberhard Beilharz
1b14f5c0bc
refactor(web): move RuleBehavior to engine/keyboard
This requires to move some other files around. Also move `finalize`
and `mergeInDefaults` methods to processor and rename them to
`finalizeProcessorAction` and `mergeInOtherProcessorAction` (decided
to directly use the term `ProcessorAction`, to which `RuleBehavior`
will be renamed to in a following PR).

Co-authored-by: Marc Durdin <marc@durdin.net>
2025-06-05 17:25:50 +02:00
Eberhard Beilharz
cfacbb6cc5
refactor(web): rename OutputTarget interface → OutputTargetInterface 2025-06-05 13:22:32 +02:00
Eberhard Beilharz
819c9cc3fe
chore: Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-05-30 18:25:23 +02:00
Eberhard Beilharz
229dd0d802
fix(web): fix loading of KMX keyboards in browser
Browsers don't support comparing arrays.

Test-bot: skip
2025-05-22 18:47:37 +02:00
Joshua Horton
bfb97ca0c6 maint(web): upgrade Sentry to 8.55.0
Fixes: KEYMAN-WEB-RX
(It was produced artificially after this PR's changes to validate them.)

Cross-reference with https://github.com/getsentry/sentry-javascript/blob/master/docs/migration/v7-to-v8.md in regard to minimum supported versions.

@keymanapp-test-bot skip
2025-05-22 14:02:16 +07:00
Eberhard Beilharz
8dff16ef0f
refactor(web): remove default from KeyEvent
Also make exports explicit in `index.ts`.
2025-05-20 15:13:54 +02:00
Joshua Horton
437b2019e0
Merge pull request #13959 from keymanapp/fix/web/default-layout-font-scaling
fix(web): empty layout fontSize property should default to 1em
2025-05-19 08:43:48 +07:00
Joshua Horton
f499e155c1
Merge pull request #13683 from keymanapp/fix/web/flick-cancel-during-reset
change(web): cancel flicks when both returning to and releasing at original tap location
2025-05-19 08:43:24 +07:00
Joshua Horton
7b1310a7d5
Merge pull request #13899 from keymanapp/maint/update-mocha
maint: update mocha
2025-05-19 08:42:53 +07:00
Joshua Horton
35be4c1fe4
Merge pull request #13895 from keymanapp/fix/web/inspectable-test-script-mode
fix(web): inspectable test-script mode should not be auto-enabled in local-env tests
2025-05-19 08:42:06 +07:00
Marc Durdin
3caf123604 chore(web): use const and let 2025-05-16 17:36:04 +02:00
Marc Durdin
9071190181 chore(web): Merge remote-tracking branch 'origin/epic/web-core' into chore/web/split-systemStores.ts 2025-05-16 17:25:31 +02:00
Joshua Horton
233f0c7345 change(web): apply suggestion from code review (strict '' check) 2025-05-16 13:58:50 +07:00
Joshua Horton
5a5cd20829 fix(web): empty layout fontSize property should default to 1em
Fixes: #13908
Fixes: KEYMAN-WEB-RK

Fun fact:  `Number('')` returns 0, not NaN!  I thought it would do the latter in #13838, which is what led to the issue this PR addresses.
2025-05-16 13:14:30 +07:00
Marc Durdin
9b17bc6452
Merge pull request #13953 from keymanapp/chore/merge-master-into-web-core
chore: merge master into web-core 🎼
2025-05-16 11:33:30 +07:00
Eberhard Beilharz
d052963d9c
Merge pull request #13928 from keymanapp/feat/web/kmxkbd
This PR adds the necessary code to dispose of the KMXKeyboards when we shut down KeymanEngine.
2025-05-15 18:19:15 +02:00
Marc Durdin
4309972a3a chore(web): address review comments 2025-05-15 17:48:55 +02:00
Marc Durdin
84f27a3cc2
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-05-15 22:44:28 +07:00
Marc Durdin
64d9128446 chore: Merge branch 'chore/merge-master-into-web-core' 2025-05-15 17:42:55 +02:00
Eberhard Beilharz
29b6eaf630
refactor(web): rename generic type variables
This change renames the generic type variables in `KeymanEngineBase`
to make it clearer that they are generic types rather than the actual
types.
2025-05-15 17:02:35 +02:00
Marc Durdin
d3d880b27b chore(web): split systemStores.ts
Splits systemStores.ts into stores.ts and platformSystemStore.ts under
engine/js-processor, and systemStores.ts under engine/keyboard, in
preparation for web-core use of system stores.
2025-05-15 17:02:31 +02:00
Eberhard Beilharz
7a162942aa
refactor(web): rename base KeymanEngine to KeymanEngineBase
(cherry picked from commit bd1c610d65)
2025-05-15 16:48:10 +02:00
Eberhard Beilharz
f80b3f9c13
refactor(web): rename HardKeyboard to HardKeyboardBase 2025-05-15 16:38:12 +02:00
Marc Durdin
d98814b9a8 chore(web): add accessor annotations for JSKeyboardProcessor
Preparation for epic/web-core, clarify which members of
`JSKeyboardProcessor` are private and which will need equivalent
implementations in `CoreKeyboardProcessor`.

Note: some of the publicly accessed members are not immediately obvious,
because they are accessed via interfaces declared in other modules (for
example `baseLayout` is referenced in `KeyboardState` type in
hardwareEventKeyboard.ts).
2025-05-15 16:00:25 +02:00
Eberhard Beilharz
2b2e8fc85b
feat(web): dispose KMXKeyboards on shutdown 2025-05-15 15:48:31 +02:00
Joshua Horton
155c1a2b12 maint: update mocha
Some of the npm audit warnings left after #13897 require an updated `mocha` version to remedy.  As we only really use `mocha` to do unit-testing, it should be safe to update if all of our existing tests pass with the new version.

Test-bot: skip
2025-05-13 14:02:02 +07:00
Joshua Horton
a783fbc902 maint(web): also fixes worker-thread inspectable browser test call 2025-05-13 12:44:26 +07:00
Joshua Horton
14dd36de4d fix(web): inspectable test-script mode should not be auto-enabled in local-env tests
This is a followup to the recent #13827, which automatically adds --debug to local-environment builds.  For web/ test scripts involving browser-based scripts, that same flag had been used to enable an _inspectable_ test mode that doesn't auto-return, which doesn't match the semantics of --debug for build configurations.

To rectify this, those scripts now have their --debug option renamed to --inspect, allowing them to be optionally turned on, but not automatically enabled.

Test-bot: skip
2025-05-13 12:38:47 +07:00
Joshua Horton
e9274d9874 change(web): permit flick cancellation
Fixes: #10876

This change blocks key output while a flick is in a "reset" state.  If the flick is in a direction-locked state, key output still results - be it the base key (if not slid far enough) or a target flick key.
2025-05-13 08:41:53 +07:00
Joshua Horton
e8630c2bf2 Merge branch 'master' into fix/web/flick-cancel-during-reset 2025-05-13 08:27:26 +07:00
Joshua Horton
dd563e8a11 fix(web): sustain active batched-layout mode when keyboard is switched
Fixes: #13859
Fixes: KEYMAN-WEB-R4
2025-05-08 13:56:23 +07:00
Joshua Horton
7d5a83633d fix(web): fix var declaration affected by linter strictness + length-style fix
Test-bot: skip
2025-05-06 11:29:31 +07:00
Joshua Horton
c3286ce4e1
Merge pull request #13774 from keymanapp/fix/web/layout-fontsize-robustness
fix(web): add robustness for bad touch-layout fontsize specs
2025-05-06 09:46:17 +07:00
Joshua Horton
9976af6f6c
docs(web): tweak comment per review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-05-06 08:18:42 +07:00
Joshua Horton
76da8f4e2a
Merge pull request #13805 from keymanapp/fix/web/gesture-fixture-extraction
fix(web): fix extraction of gesture-engine fixture used in DOM-based unit tests
2025-05-06 08:17:03 +07:00
Joshua Horton
b02f1d18bc
Merge pull request #13800 from keymanapp/change/web/lint-kmwstring
change(web): lint kmwstring web-utility 🧶
2025-05-06 08:16:56 +07:00
Joshua Horton
d606563a8c
Merge pull request #13820 from keymanapp/maint/web/simplify-worker-main-test-script
maint(web): simplify worker-main test.sh
2025-05-06 08:16:47 +07:00
Joshua Horton
1438704ee0
Merge pull request #13819 from keymanapp/maint/web/use-builder_is_ci_build
chore(web): replace --ci flag with builder_is_ci_build
2025-05-06 08:16:37 +07:00
Joshua Horton
e382bf45ce
Merge pull request #13785 from keymanapp/change/web/drop-usvstring-alias
change(web): replace USVString with string in predictive-text engine
2025-05-06 08:16:28 +07:00
Joshua Horton
2db4c16751
Merge pull request #13726 from keymanapp/refactor/web/eliminate-kmwstring-side-effects
refactor(web): refactor string-helper library to eliminate its module side-effect 🧶
2025-05-05 15:05:11 +07:00
Joshua Horton
18ffdef6ce
Merge pull request #13719 from keymanapp/chore/web/add-string-handling-unit-tests
chore(web): add unit tests for SMP-aware string-handling helper methods 🧶
2025-05-05 15:04:58 +07:00
Joshua Horton
f86ee91bac
Merge pull request #13716 from keymanapp/chore/web/replace-kmwfromcharcode
chore(web): replace kmwFromCharCode with its ES6 equivalent 🧶
2025-05-05 15:04:45 +07:00
Joshua Horton
eb5fefa4b4
Merge pull request #13797 from keymanapp/change/web/lint-web-utils
change(web): lint engine/common/web-utils 🧶
2025-05-05 15:04:30 +07:00
Joshua Horton
cf0b83081b change(web): use pt-style sizing for unitless touch-layout fontsizes 2025-05-02 12:49:17 +07:00
Joshua Horton
a0ce7d2934
change(web): apply suggestion from PR review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-05-02 11:58:33 +07:00
Joshua Horton
209e4e579e
Merge pull request #13807 from keymanapp/maint/disconnect-pred-text-only-ci-config
maint(web): merge LMLayer CI build config with standard Web CI build config
2025-05-02 09:55:37 +07:00