Commit graph

1734 commits

Author SHA1 Message Date
Marc Durdin
659e85033a
Merge pull request #15665 from keymanapp/maint/developer/test-callbacks-cleanup
maint(developer): make `TestCompilerCallbacks` usage more consistent and simplify
2026-03-06 21:00:39 +07:00
Marc Durdin
645e1cd16f chore(web): remove implicit any type when setting processingConfig.itemIdentifier
Not exactly clear what triggered this? Perhaps related to npm package updates,
but hard to see how.

Test-bot: skip
Build-bot: skip build:web
2026-03-05 21:46:40 +01:00
Marc Durdin
529a49431e maint(developer): make TestCompilerCallbacks usage more consistent and simplify
Simplify usage of `TestCompilerCallbacks` by making it responsible for
the `beforeEach` and `afterEach` incantations itself. There are a couple
of more complex usages of `TestCompilerCallbacks` which have been
excluded from this change on purpose.

Renamed `testCallbacks` to `callbacks` in the one place where it was
different.

Hoist @types/node and @types/mocha because inconsistent versions of
@types/mocha were causing compiler errors with this change.

Also added a cast to `fs.readFileSync` to `Uint8Array` to eliminate
compiler warnings/errors in test files.

Fixes: #15654
Test-bot: skip
2026-03-03 16:44:06 +01:00
Joshua Horton
5c445d470c change(web): remove temp debug shell-script echo statements 2026-02-18 12:59:17 +07:00
Joshua Horton
b7975973af maint(web): ensure Web build scripts handle paths with spaces properly
The command shortcuts that were used by Web
scripts to create bundles via `esbuild` were not
properly handling the $KEYMAN_ROOT path when it
contained a space.  These changes will rectify
this behavior and permit builds for such cases.

Build-bot: skip build:web
Test-bot: skip
2026-02-18 09:14:30 +07:00
Joshua Horton
b3e045a7a8 change(web): define, utilize cleaner Web test-resource import paths
Build-bot: skip build:web
Test-bot: skip
2026-02-05 10:11:14 -06:00
Marc Durdin
c524db41b9 maint(common): use builder_launch for child builds
Fixes: #15130
Test-bot: skip
2025-12-02 06:17:31 +01:00
Eberhard Beilharz
ef64529300
Merge pull request #15159 from keymanapp/fix/web/defaultpath
fix(web): improve determination of default path

Browser extensions can dynamically insert scripts into a web page, so it's possible that the last script is not what we expected, which can cause the path to the script to be wrong. This change fixes the determination of the default path by using the `document.currentScript` property. It also replaces the use of the deprecated `substr` function in those places.

Fixes: #15158
2025-11-14 14:50:44 +01:00
Marc Durdin
57c0fa3d03
Merge pull request #15129 from keymanapp/maint/resources/builder_launch
maint(resources): add `builder_launch` function
2025-11-14 14:24:19 +01:00
Eberhard Beilharz
fc04e2445b
fix(web): address code review comments
Deal with `currentScript` being null/undefined.
2025-11-14 12:35:59 +01:00
Eberhard Beilharz
cb1a308418
fix(web): improve determination of default path
Browser extensions can dynamically insert scripts into a web page, so
it's possible that the last script is not what we expected, which
can cause the path to the script to be wrong. This change fixes the
determination of the default path by using the `document.currentScript`
property. It also replaces the use of the deprecated `substr` function
in those places.

Fixes: #15158
Test-bot: skip
2025-11-13 18:41:27 +01:00
Eberhard Beilharz
408514daf3
Update web/src/engine/js-processor/src/deadkeys.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-10 12:00:28 +01:00
Marc Durdin
5dbc438f53 maint(resources): add builder_launch function
Use `builder_launch` to launch other builder scripts rather than calling
directly, so that inheritable state and options are passed through.

Test-bot: skip
2025-11-10 11:46:14 +01:00
Eberhard Beilharz
269d619ed9
docs(web): add another clarifying comment 2025-11-07 17:32:33 +01:00
Eberhard Beilharz
03831e4f25
fix(web): clarify meaning of parameters for isMatch 2025-11-07 13:47:23 +01:00
Eberhard Beilharz
98ed960c8f
fix(web): address code review comments 2025-11-07 13:22:45 +01:00
Eberhard Beilharz
28d3378589
fix(web): add unit tests for DeadkeyTracker and fix a few bugs
- initialize `Deadkey.matched` in c'tor
- fix `Deadkey.equal` method
- verify deadkey exists before removing it in `DeadkeyTracker.remove`
- add unit tests for DeadkeyTracker

Test-bot: skip
2025-11-07 12:09:54 +01:00
Darcy Wong
238094c4e6 fix(web): Use build/test-resources/keyboards path for web test page 2025-10-31 11:25:32 +07:00
Darcy Wong
3872f57cbf fix(common): Update references to test9469 keyboard 2025-10-30 13:03:09 +07:00
Darcy Wong
66b5aeb614 chore(common): Move test9469 keyboard to common/test/keyboards/ 2025-10-30 11:56:07 +07:00
Darcy Wong
02619c2ef5 fix(web): Update manual test page to use common platformtest.js 2025-10-28 11:31:13 +07:00
Darcy Wong
00b6c71eb4 fix(web): Create test-resources/keyboards dir 2025-10-24 10:09:46 +07:00
Darcy Wong
616092e0f7 fix(web): Copy common keyboards to test-resources 2025-10-24 09:08:31 +07:00
Darcy Wong
4bff2c81d5 chore(web): Update web test page reference to chirality.js 2025-10-22 06:53:29 +07:00
Darcy Wong
d0ea16b975 chore(web): Move chirality.js to common/test/resources/keyboards/ 2025-10-21 13:49:37 +07:00
Marc Durdin
d34f238eeb chore(web): update helpURL documentation and float ui link
Make the float UI KeymanWeb link point to the home for KeymanWeb, and
https rather than http, and update the helpURL documentation to match
the current endpoint.

Test-bot: skip
Build-bot: skip
2025-10-15 07:57:08 +02:00
Eberhard Beilharz
229bdf8270
maint(resources): nest unit tests under parent block
This adds a modified `mocha-teamcity-reporter` that allows to nest the
unit tests under the parent block.

Fixes: #14839
Test-bot: skip
2025-10-06 16:09:47 +02:00
Eberhard Beilharz
34c43b1e15
refactor(web): cleanup in test scripts
Also use common function for running web types tests.

Test-bot: skip
2025-09-30 17:40:15 +02:00
Eberhard Beilharz
f464008326
fix(web): add check to internalHeight
The same error could potentially happen in `internalHeight`, so we
add the check for NaN there as well. Addresses code review comments.
2025-09-05 09:35:50 +02:00
Eberhard Beilharz
74ef39726b
fix(web): fix error trying to calculate style scaling effects
PR #13860 fixed a similar error by adding a check for NaN. However, it
missed doing it for `layoutWidth` and only changed `layoutHeight`. This
PR adds a similar check to `layoutWidth` and will thus fix the error
we're still seeing in Sentry.

Also add unit tests for both methods.

User Testing
============

TEST_INUKTITUT_KEYBOARD: Using Keyman for Android, install the
`inuktitut_pirurvik` and verify that no error notifications appear.

Fixes: #14108
Fixes: [KEYMAN-WEB-RA](https://keyman.sentry.io/issues/6579536471/?referrer=github_integration)
2025-09-04 17:28:15 +02:00
Joshua Horton
191db9cba9
Merge pull request #14618 from keymanapp/refactor/web/simplify-calculation-inputs
refactor(web): simplify edit-distance calculation-object inputs
2025-09-03 22:11:00 +07:00
Joshua Horton
770ac2a13f
Merge pull request #14592 from keymanapp/feat/web/search-subset-batching
feat(web): batch correction-search paths by related subsets
2025-09-03 22:10:46 +07:00
Joshua Horton
6969206701
Merge pull request #14581 from keymanapp/feat/web/transform-cataloging
feat(web): adds transform cataloging methods to predictive-text worker
2025-09-03 22:10:38 +07:00
Eberhard Beilharz
3e3cccc97d
Apply suggestions from code review
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-09-03 08:42:39 +02:00
Eberhard Beilharz
f166f11d14
docs(common): update docs Keyman Desktop → Keyman for Windows
Also change path to engine help pages. This requires a corresponding
change in help.keyman.com.

Test-bot: skip
2025-09-02 14:29:53 +02:00
Joshua Horton
6d991eeecc
fix(web): Apply unit-test suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-08-28 22:46:58 +07:00
Joshua Horton
33ae31f3a4 fix(web): prevent undefined traversal entry 2025-08-28 09:32:48 -05:00
Joshua Horton
1942309356 feat(web): add unit test for empty-char inputs, matches 2025-08-28 09:15:47 -05:00
Joshua Horton
d9aebf0213 Merge branch 'feat/web/search-subset-batching' into refactor/web/simplify-calculation-inputs 2025-08-28 09:10:11 -05:00
Joshua Horton
26c787d24d fix(web): improve unit-test setup assertions 2025-08-28 09:07:58 -05:00
Joshua Horton
820c082839
docs(web): Apply comment-oriented suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-08-28 21:03:52 +07:00
Joshua Horton
9f54ab1b25
change(web): add missing semi-colon
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-08-28 20:57:39 +07:00
Joshua Horton
82c35d0b97 refactor(web): simplify calculation-object inputs 2025-08-27 16:40:45 -05:00
Joshua Horton
a08390750f refactor(web): track traversal history on search node, not calculation object 2025-08-27 16:08:27 -05:00
Joshua Horton
129470c5ca docs(web): processSubsetEdge comment enhancements 2025-08-25 11:17:17 -05:00
Joshua Horton
0c85d0e4fa Merge branch 'feat/web/transform-cataloging' into feat/web/search-subset-batching 2025-08-25 10:54:28 -05:00
Joshua Horton
c573f26e23 docs(web): clean up comments added during subset-batch PR work 2025-08-25 10:54:11 -05:00
Joshua Horton
0c3c58ae5d docs(web): adds PartialSearchEdge type doc comment 2025-08-25 10:48:04 -05:00
Joshua Horton
e0928b2b20 feat(web): add unit tests interacting with search-term keying 2025-08-25 10:41:50 -05:00
Joshua Horton
23d682e5e2 feat(web): adds delete, substitution path unit tests for starting mid-word 2025-08-25 10:16:30 -05:00