Commit graph

1728 commits

Author SHA1 Message Date
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
Joshua Horton
80194c022f fix(web): restore search-iteration unit tests 2025-08-25 09:08:42 -05:00
Joshua Horton
2fb96709f3 feat(web): implement search-node clone-constructor unit tests 2025-08-25 08:49:11 -05:00
Joshua Horton
057b6cbc1b refactor(web): place all partial-edge properties under single object-based property 2025-08-25 08:48:48 -05:00
Joshua Horton
aa9df34623 feat(web): batch correction-search paths by related subsets
This change should dramatically cut down on the number of heavily-mismatched paths that the correction-search engine builds during operation.  Now, whenever input characters are being matched against a character from the lexicon, they're all replaced, **together**, with a single sentinel character instance that represents them all together - with their exact accumulated probability mass.

Doing so dramatically cuts down on the rate of memory use expansion during correction-search's operation... and likely cuts down on execution time on average, allowing for more potential corrections to be considered.
2025-08-22 18:23:13 -05:00
Joshua Horton
e20bd8ebd9 feat(web): adds transform subset-building methods to predictive-text worker
These methods place a set of input Transforms into multiple subsets with common properties.  They're designed for use in upcoming enhancements to the predictive-text worker's correction-search approach.
2025-08-22 15:38:55 -05:00
Joshua Horton
e17e014815 docs(web): improve documentation for SearchSpace and SearchNode 2025-08-19 10:49:15 -05:00