Commit graph

5206 commits

Author SHA1 Message Date
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
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
a22de0a647
maint(developer): use add_zip_files function
This makes use of `add_zip_files` where possible.

Fixes: #14332
Follow-up-of: #14093
Test-bot: skip
2025-07-10 17:53:16 +02: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
f324431754
fix(web): change env variable name
The build agents have the env variable `SEVENZ_HOME` set instead of
`SEVEN_Z_HOME`. That name is also used elsewhere, so this PR changes it
to the more widespread name.

Fixes: #14242
Follow-up-of: #14225
Build-bot: skip
Test-bot: skip
2025-07-01 16:21:21 +02:00
Eberhard Beilharz
4937362fdd
fix(web): deploy web/build/publish folder
This fixes a deployment problem which seems have been around since 17.0.
We also have to deploy the `web/build/publish` folder which contains all
the files necessary to load and run the test keyboards.

The fix can only be tested after a release build has happened and the
files have been deployed.

Fixes: #14234
Build-bot: skip
Test-bot: skip
2025-06-30 15:50:11 +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
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
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
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. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02:00
Eberhard Beilharz
ad3747cede
Merge pull request #13844 from keymanapp/maint/common/tcvars
This change makes use of the new builder script function to detect if the script is running on TeamCity. Also use the
`TEAMCITY_GIT_PATH` environment consistently to check if we're running on TC.
2025-05-07 11:06:06 +02:00
Joshua Horton
b8db20fddd
Merge pull request #13759 from keymanapp/docs/web/keystroke-lifecycle
docs(web): add a Web engine keystroke lifecycle internal doc
2025-05-07 10:18:08 +07:00
Joshua Horton
ea88aaeb3e
docs(web): apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-05-07 08:25:52 +07:00
Eberhard Beilharz
460de65f0d
maint(common): use same TC variable everywhere
Standardize on `TEAMCITY_GIT_PATH` environment variable to detect
if we're running on TeamCity.

Test-bot: skip
2025-05-06 17:42:25 +02: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