Commit graph

1679 commits

Author SHA1 Message Date
Joshua Horton
e17e014815 docs(web): improve documentation for SearchSpace and SearchNode 2025-08-19 10:49:15 -05:00
Marc Durdin
81c807c257 chore(common): Merge branch 'master' into maint/common/14453-move-ci-scripts 2025-08-19 10:46:11 +02:00
Joshua Horton
6d27c3468d Merge branch 'refactor/web/apply-suggestion-casing' into maint/web/convert-worker-thread-tests 2025-08-14 11:01:39 -05:00
Joshua Horton
51fc6f636f Merge branch 'fix/web/suggestion-typing' into refactor/web/apply-suggestion-casing 2025-08-14 11:00:11 -05:00
Joshua Horton
aa77e4ca0b fix(web): remove unneeded sort from unit test 2025-08-14 10:59:45 -05:00
Joshua Horton
65885a4669 chore(web): add displayAs strings where previously unset 2025-08-14 08:32:11 -05:00
Joshua Horton
981905717a change(web): add MAX_PROB constant for use in 'keep'-suggestion construction 2025-08-14 08:23:40 -05:00
Joshua Horton
ae469ed1b4
change(web): apply suggestion from code-review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-08-14 20:19:53 +07:00
Joshua Horton
87eb476ecd change(web): eliminate extra tsconfig
I tried to get a multi-config setup to split off the tests that caused compilation issues in a prior commit, but I never got it working.  It's best to simplify and remove the thing that didn't work.
2025-08-13 11:00:52 -05:00
Joshua Horton
c3124ec685 change(web): use contextTracker getter internally 2025-08-13 10:57:16 -05:00
Joshua Horton
ec888dd751 Merge branch 'refactor/web/apply-suggestion-casing' into maint/web/convert-worker-thread-tests 2025-08-13 10:52:57 -05:00
Joshua Horton
519e39e327 refactor(web): move applySuggestionCasing to standalone exportable method 2025-08-13 10:45:15 -05:00
Joshua Horton
e24deefdb8 fix(web): improve typing accuracy for suggestions & suggestion-generation
Also adds doc-comments to a couple of the related types
2025-08-13 10:27:13 -05:00
Joshua Horton
a01211efa4 change(web): improve exposure of once-private members 2025-08-13 08:49:41 -05:00
Joshua Horton
e9a1f6c349 maint(web): converts worker-thread tests to TS 2025-08-12 15:38:53 -05:00
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
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
3c3ad4a088 maint(common): move github.inc.sh to ci/
Relates-to: #14453
2025-08-05 10:51:19 +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
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
623d9b1d95
Merge pull request #14034 from keymanapp/feat/web/cherry-pick/fixtests 2025-05-26 18:41:44 +02:00
Eberhard Beilharz
dba5108989
chore(web): mark some private methods as being private 2025-05-23 17:45:09 +02:00
Joshua Horton
245f2324df fix(web): update sentry-integration test page setup 2025-05-23 09:00:29 +07:00
Joshua Horton
2f3286b020 fix(web): updates android-harness test page setup to use module-bundled Sentry 2025-05-23 08:18:33 +07:00
Eberhard Beilharz
a3e919f4ac
chore(web): cleanup async methods in UI components
Cherry-pick of changes in #12291. Addresses code review comment.

Test-bot: skip
2025-05-22 19:15:54 +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
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
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
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
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
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
Eberhard Beilharz
d307051836
Merge pull request #13854 from keymanapp/maint/common/versionvars
Previously the builder scripts defined a readonly `VERSION` environment variable for the Keyman version. That caused problems when another (external) script tried to define a `VERSION` variable. We encountered this problem when trying to move the TC build steps of a configuration into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and renames `VERSION` → `KEYMAN_VERSION` etc. as well as `TIER` → `KEYMAN_TIER`. Unfortunately these variables are used in a lot of places, so this turned out to be a bit of a yak shave.
2025-05-12 08:58:19 +02:00
Joshua Horton
5d00ccdd53
Merge pull request #13860 from keymanapp/fix/web/sustain-batched-layout-on-swap
fix(web): sustain active batched-layout mode when keyboard is switched
2025-05-08 15:49:15 +07:00