Commit graph

5096 commits

Author SHA1 Message Date
Eberhard Beilharz
96918b7b93
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
Cherry-pick-of: #14237
Build-bot: skip
Test-bot: skip
2025-06-30 15:54:03 +02:00
Joshua Horton
8059970a7a
change(web): apply suggestion from code-review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-05-16 13:58:08 +07:00
Joshua Horton
ecdfba020f fix(web): empty layout fontSize property should default to 1em
Fixes: #13908
Fixes: KEYMAN-WEB-RK
Cherry-pick-of: #13959

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:19:14 +07:00
Joshua Horton
e929eb141e fix(web): sustain active batched-layout mode when keyboard is switched
Fixes: #13859
Fixes: KEYMAN-WEB-R4
Cherry-pick-of: #13860
2025-05-08 15:48:00 +07:00
Joshua Horton
04d479e5a9 change(web): use pt-style sizing for unitless touch-layout fontsizes
Cherry-pick-of: #13774
2025-05-06 09:44:31 +07:00
Joshua Horton
d58dd8e73c change(web): apply suggestion from PR review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-05-06 09:44:31 +07:00
Joshua Horton
71d179f02f fix(web): add robustness for bad touch-layout fontsize specs
Fixes: #13766
Fixes: KEYMAN-WEB-QX

It seems that at some point, Developer has been compiling raw "12" values in the touch-layout JSON as a numeric 12 for the fontsize field.  This clearly happened for the inuktitut_pirurvik keyboard; we should also inspect urdu_phonetic, which has the same raw "12".

This change ensures that Web can handle this case without spewing tons of warning/error messages.  It also adds error-logging to help with diagnosis for any related issue in the future.
2025-05-06 09:44:31 +07:00
Joshua Horton
ab2c2f51cb
chore: fix indentation in worker-main/build.sh
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-05-02 08:13:47 +07:00
Joshua Horton
a29568744c maint(web): run LMLayer tests during standard Web module tests
Fixes: #12872

Test-bot: skip
2025-04-30 15:10:02 +07:00
Joshua Horton
cdda6e8ce5
Merge pull request #13646 from keymanapp/fix/web/match-osk-and-banner-font-scaling
fix(web): match banner font scaling to osk font scaling
2025-04-21 09:10:48 +07:00
Joshua Horton
a4164d2c0f
Merge pull request #13632 from keymanapp/change/web/set-classname-on-mobile-page-trailer
change(web): add unique classname to mobile-device page-trailer element
2025-04-10 13:21:37 +07:00
Joshua Horton
30074eafe4
docs(web): fix quote consistency within the same sentence
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-04-08 08:12:07 +07:00
Joshua Horton
2beca8e3b4 docs(web): starts page for touch-keyboard gesture models, adds flowcharts
Fixes: #13628
2025-04-07 13:23:13 +07:00
Eberhard Beilharz
092b5e7001
Merge pull request #13660 from keymanapp/chore/web/logerror
chore(web): improve error logging in predictive-text worker message validation

Previously logging an error resulted in two Sentry issues to be created. This change now combines the log message and the error into one call to `console.error`, thus resulting in only one Sentry issue being created.
2025-04-04 08:58:37 +02:00
Eberhard Beilharz
c1683b4be2
chore(web): improve error logging
Previously logging an error resulted in two Sentry issues to be created.
This change now combines the log message and the error into one call to
`console.error`, thus resulting in only one Sentry issue being created.
2025-04-03 16:35:09 +02:00
Joshua Horton
970db6f823 chore(web): one more clean-up nit 2025-04-03 15:49:39 +07:00
Joshua Horton
41106a1d85 chore(web): code cleanup per review 2025-04-03 15:47:03 +07:00
Joshua Horton
e9cd0dda9c docs(web): addresses concerns from recent ermshiperete review 2025-04-03 15:42:40 +07:00
Joshua Horton
a2f57c0cf6 docs(web): improve section on motivation for gesture input serialization
Addresses a PR comment by mcdurdin on #13597 (at https://github.com/keymanapp/keyman/pull/13597#discussion_r2023971170) in regard to the motivation for gesture input serialization.

> I just don't understand how the problem described here can arise -- unless we are introducing deferral with promises -- but even then, if we consistently defer every incoming event with a promise, then the order would still be automatically enforced.

In particular, this aims to clarify how the macrotask queue gets involved and can interfere with the ordering of promises.
2025-04-03 09:05:37 +07:00
Joshua Horton
8a6f5ac8ab fix(web): prevent div-by-zero potential from prior commit 2025-04-03 08:12:02 +07:00
Joshua Horton
04e315bfa8 docs(web): adds documentation for new styling class 2025-04-02 13:45:21 +07:00
Joshua Horton
8a5c49c585 change(web): keyman-page-trailer -> kmw-page-trailer in order to match common prefix 2025-04-02 13:45:09 +07:00
Joshua Horton
831ca4eeaf fix(web): add banner font downscaling
Fixes: #13644

The banner should also double-check the height of its suggestions, applying downscaling where needed to ensure the suggestions' text does not flow out of bounds.  Additionally, if the main keyboard body's keys required downscaling due to text height, this will likely also result in similar scaling for the suggestions.
2025-04-02 13:15:24 +07:00
Joshua Horton
426e3d1d3a fix(web): apply layout font-scaling to banner
When a keyboard's layout specifies font-upscaling, that scaling should also be applied to the banner.  This was not previously being done, which could lead to font-size discrepancies between the two (as noted with `khmer_angkor` in the base issue).
2025-04-02 13:15:20 +07:00
Joshua Horton
d6dc759ee7
Merge pull request #13597 from keymanapp/docs/web/gesture-input-serialization
docs(web): document input-serialization aspects of gesture processing
2025-04-02 08:31:34 +07:00
Joshua Horton
c8e8c1320c
Merge pull request #13587 from keymanapp/docs/web/gesture-modeling-and-processing
docs(web): document internals for gesture modeling and processing
2025-04-02 08:31:22 +07:00
Joshua Horton
cd322340df change(web): add unique classname to mobile-device page-trailer element
Addresses, but does not fix, #13588.

This change provides a simple classname to the page-trailer element Keyman Engine for Web adds to pages when in mobile mode.  This "page trailer" was originally added so that the on-screen keyboard does not hide important elements near the bottom of the page when visible.  That said, we have gotten site-designer complaints about it; exposing a way for site-designers to retrieve it in queries and/or customize its properties will provide a reasonable workaround for such cases.
2025-04-01 11:45:46 +07:00
Joshua Horton
6945a264ff docs(web): improve clarity for the onNewTrackedPath section per review comment 2025-04-01 09:14:30 +07:00
Joshua Horton
63d6df6e00 Merge branch 'docs/web/gesture-modeling-and-processing' into docs/web/gesture-input-serialization 2025-04-01 08:59:25 +07:00
Joshua Horton
3ed52349d3 docs(web): addresses more review concerns 2025-04-01 08:50:40 +07:00
Joshua Horton
9034e045d6
docs(web): Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-04-01 08:41:27 +07:00
Joshua Horton
581fe688c3 docs(web): adds index link to the new doc 2025-03-31 15:39:53 +07:00
Joshua Horton
72576811d0 Merge branch 'docs/web/gesture-modeling-and-processing' into docs/web/gesture-input-serialization 2025-03-31 15:38:22 +07:00
Joshua Horton
fab49b9135 docs(web): also link the older internal-doc page 2025-03-31 15:31:57 +07:00
Joshua Horton
9fae7e9039 docs(web): central index.md start location 2025-03-31 15:28:34 +07:00
Joshua Horton
00239eaf56 docs(web): revamps the glossary 2025-03-31 14:13:33 +07:00
Joshua Horton
6dbca2a4ae docs(web): gesture-modeling intro breakdown reordering 2025-03-31 12:29:21 +07:00
Joshua Horton
8102f4bb64 docs(web): terms.md -> glossary.md 2025-03-31 10:55:33 +07:00
Joshua Horton
eae55e4fa1 fix(web): remove extra px offset from last OSK row
Fixes: #13620

Turns out there was actually a final-row pixel offset being applied for the OSK.  I _believe_ this was something originally done for touch-oriented OSKs that ended up applied to all during 17.0's OSK refactoring efforts.

kmwosk.css does define layer-group padding above and below (1 px each) for touch keyboards already.  Furthermore, things look fine when removing this extra 1px offset on the bottom from the last row.  I think we're fine to just drop this minor offset and move on for now.
2025-03-31 10:41:50 +07:00
Joshua Horton
710b823fdd docs(web): document input-serialization aspects of gesture processing 2025-03-28 10:41:27 +07:00
Joshua Horton
55dfc6e6a1 docs(web): extracts common defs to terms.md 2025-03-28 08:22:10 +07:00
Joshua Horton
9098565226
docs(web): remove out-of-place "the" artifacts
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-03-28 08:17:40 +07:00
Joshua Horton
046e2b4dfb docs(web): document internals for gesture modeling and processing 2025-03-27 13:25:56 +07:00
Joshua Horton
71df37930f
Merge pull request #13360 from keymanapp/feat/web/gesture-error-traces
feat(web): adds gesture 'traces' for warning/error logging
2025-03-19 08:13:48 +07:00
Joshua Horton
f1567018ac
Merge pull request #13534 from keymanapp/fix/web/consistent-model-loading-check
fix(web): model unload and load should use consistent, canEnable check
2025-03-19 08:12:39 +07:00
Joshua Horton
a015fd0296 change(web): context-state logging now oldest to most recent
The gesture traces themselves, within their indentation, maintain stacktrace-style ordering.
2025-03-18 14:19:37 +07:00
Joshua Horton
76a5e067e9 fix(web): unload and load should use consistent, canEnable check
Fixes: #13512
Fixes: KEYMAN-WEB-QD
2025-03-18 14:07:07 +07:00
Joshua Horton
d0c0159d56 docs(web): adds section on JS-keyboard interfacing 2025-03-18 08:31:13 +07:00
Joshua Horton
f3d15eca2d docs(web): improved doc on fat-finger correction paragraph 2025-03-18 08:07:04 +07:00
Joshua Horton
cdb3505f96 docs(web): tweak docs per review 2025-03-18 08:02:07 +07:00