Commit graph

1254 commits

Author SHA1 Message Date
Joshua Horton
88f3a1a716 maint(web): convert models-templates, models-wordbreakers unit tests to TS 2025-08-12 10:12:10 -05:00
Marc Durdin
942b06afdd
Merge pull request #14451 from keymanapp/maint/common/14447-node.inc.sh
maint(common): rename and move node-related script functions into node.inc.sh 🐸
2025-08-12 10:41:18 +07:00
Marc Durdin
a81138c62b
Merge pull request #14449 from keymanapp/maint/common/14065-consolidate-builder-scripts
maint(common): consolidate builder scripts 🐸
2025-08-12 10:41:09 +07:00
Marc Durdin
f95b26ac1f
Merge pull request #14446 from keymanapp/maint/common/14275-rename-and-cleanup-shellHelperFunctions.sh
maint(common): rename shellHelperFunctions.sh to utils.inc.sh 🐸
2025-08-12 10:40:59 +07:00
Keyman Server
33024e4dda
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-08-11 08:26:02 -07:00
Joshua Horton
09611146dc fix(web): legacy model unit tests should use an actual legacy model 2025-08-05 10:27:48 -05:00
Marc Durdin
f3fb3ac87b maint(common): move build-utils-ci.inc.sh to ci/ci-publish.inc.sh
Removes a number of unused functions from the file, renames remaining
functions to match our builder script prefix patterns, removes unused
imports from various build scripts (e.g. Android).

Fixes: #14453
2025-08-05 12:54:56 +10:00
Marc Durdin
2726050601 maint(common): rename and move node-related script functions into node.inc.sh
Consolidates the node-related script functions into node.inc.sh, as part
of cleaning up the build scripts and making them easier to maintain into
the future.

Fixes: #14447
2025-08-02 13:34:29 +10:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Eberhard Beilharz
5969d8e693
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-03 12:47:52 +02:00
Eberhard Beilharz
307ae20790
refactor(web): move helper functions to beginning of function
The previous code showed a warning in the Firefox console: "Unreachable
code after return statement". Moving the helper functions to the
beginning of the surrounding function solves it.

Also make some variables `const`.
2025-07-02 10:29:21 +02:00
rc-swag
3983c26d20
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-06-09 14:12:30 +10:00
Eberhard Beilharz
e0122f0f89
Merge pull request #14019 from keymanapp/refactor/web/Codes 2025-06-06 12:27:38 +02:00
Eberhard Beilharz
b25121f8b5
Merge pull request #14018 from keymanapp/refactor/web/StateKeyMap 2025-06-06 12:27:16 +02:00
Eberhard Beilharz
24041e87e9
Merge pull request #14001 from keymanapp/refactor/web/processoraction 2025-06-06 12:26:32 +02:00
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
b356e52f32
refactor(web): make Codes a named export 2025-06-05 17:27:16 +02:00
Eberhard Beilharz
b4163b2ab8
refactor(web): make StateKeyMap a named export 2025-06-05 17:27:16 +02:00
Eberhard Beilharz
998236a783
refactor(web): rename RuleBehavior → ProcessorAction 2025-06-05 17:27:15 +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
19d808c6e5
refactor(web): clarify API of KeymanSentryManager
This change marks the functions of `KeymanSentryManager` as public
or private, depending on whether or not they are used outside of the
module.

Test-bot: skip
2025-06-02 18:37:22 +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