Commit graph

1580 commits

Author SHA1 Message Date
Joshua Horton
209e4e579e
Merge pull request #13807 from keymanapp/maint/disconnect-pred-text-only-ci-config
maint(web): merge LMLayer CI build config with standard Web CI build config
2025-05-02 09:55:37 +07:00
Joshua Horton
dfe3de4ce1
chore: fix indentation in worker-main/build.sh
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-05-02 08:13:30 +07:00
Joshua Horton
14657c3894 maint(web): run LMLayer tests during standard Web module tests
Related-to: #12872

Test-bot: skip
2025-04-30 15:06:11 +07:00
Joshua Horton
843221c466 chore(web): improve clean actions
A few cases weren't properly handled, while a few others simply weren't called by the top-level script.  This PR seeks to make the top-level clean action able to fully clean all built components, perhaps save for sample and test pages.

Test-bot: skip
2025-04-30 12:18:59 +07:00
Joshua Horton
d6579495f8 change(web): address recorder-tool linter errors 2025-04-29 11:54:44 +07:00
Joshua Horton
4762429e96 change(web): address app/ui linter errors 2025-04-29 11:40:19 +07:00
Joshua Horton
da138b098d change(web): address app/browser linter errors 2025-04-29 11:38:08 +07:00
Joshua Horton
241f9655f2 change(web): address app/webview linter errors 2025-04-29 11:32:35 +07:00
Joshua Horton
19021f1419 change(web): address engine/main linter errors 2025-04-29 11:30:30 +07:00
Joshua Horton
0288048340 change(web): address engine/keyboard-storage linter errors 2025-04-29 11:29:16 +07:00
Joshua Horton
7baf8d0b69 change(web): address engine/attachment linter errors 2025-04-29 11:28:28 +07:00
Joshua Horton
f839810cc0 change(web): address engine/osk/gesture-processor linter errors 2025-04-29 11:03:59 +07:00
Joshua Horton
f6134244f2 change(web): address engine/osk linter errors 2025-04-29 11:02:23 +07:00
Joshua Horton
6ba37bc61b change(web): address engine/interfaces linter errors 2025-04-29 10:57:52 +07:00
Joshua Horton
f1ca263da2 change(web): address engine/events linter errors 2025-04-29 10:57:28 +07:00
Joshua Horton
63f6216774 change(web): address engine/element-wrappers linter errors 2025-04-29 10:55:30 +07:00
Joshua Horton
db6b61e8fc change(web): address engine/js-processor linter errors 2025-04-29 10:54:37 +07:00
Joshua Horton
7b1cfe94ff change(web): address engine/dom-utils linting errors 2025-04-29 10:52:35 +07:00
Marc Durdin
9d4214c54c chore: Merge remote-tracking branch 'origin/master' into chore/merge-beta-to-master-release-prep 2025-04-22 13:16:21 +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
Marc Durdin
4f829f5c8f chore: Merge remote-tracking branch 'origin/master' into chore/merge-beta-to-master-b18s5 2025-04-21 07:13:35 +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
b96cdf1e0f chore(web): remove dead methods regarding keyboard state 2025-04-04 15:07:08 +07: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
8a6f5ac8ab fix(web): prevent div-by-zero potential from prior commit 2025-04-03 08:12:02 +07:00
Marc Durdin
cafa503124 chore: use explicit node: prefix on more module imports 2025-04-03 08:10:50 +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
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
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
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
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
1b8c2d8776
Merge pull request #13359 from keymanapp/fix/web/bksp-auto-cancel-on-new-input
fix(web): cancel held backspace on new key input
2025-03-17 08:39:36 +07:00
Joshua Horton
fba9b236cc fix(web): cancel held backspace on new key input
As identified in the analysis for #13344, held backspaces have not been cancelled when receiving new inputs.  It's better and cleaner to have it act similarly to normal keystrokes - receiving a new key input autocompletes any currently-held output keys.

The current, existing behavior also has the potential to get particularly messy with multitaps, which restore the context at their start.  If a backspace is held and then a multitap begins, each new tap of the multitap would undo the backspaces that triggered since the first tap of the multitap.
2025-02-27 13:00:44 +07:00
Joshua Horton
94827b52b2 feat(web): adds gesture 'traces' for warning/error logging
To facilitate debugging cases where gestures don't work as intended, this adds sanitized logging for keystrokes resulting for gestures.  These are only to be output when a relevant error or warning is emitted.

This is primarily being added to facilitate investigation of #13344.
2025-02-27 12:50:35 +07:00
Joshua Horton
2db8fa089c chore(web): clean a few commented-out vars 2025-02-27 09:36:25 +07:00
Joshua Horton
f254f38440 chore(web): remove dead osk-height calculation method
Some of the OSK optimization rework in 17.0 found a better way to handle this that has proven stable; no reason to keep it around any longer.
2025-02-27 09:34:35 +07:00
Joshua Horton
b7c13bdc66 chore(web): remove dead key-target function 2025-02-27 09:31:13 +07:00
Joshua Horton
ecc3bc18e7 chore(web): remove dead bksp functions
These were replaced by the HeldRepeater gesture-handler type.
2025-02-27 09:28:18 +07:00
Joshua Horton
5db10ea436
Merge pull request #13331 from keymanapp/fix/web/init-should-not-cookie-default
fix(web): prevent cookie-default behavior from mangling engine init
2025-02-26 09:29:54 +07:00
Joshua Horton
0a8c99e322
Merge pull request #13291 from keymanapp/fix/web/engine-main-headless-tests
fix(web): reconnect, patch up engine/main headless unit tests
2025-02-25 08:17:48 +07:00
Joshua Horton
72a9e8b8fe fix(web): fix up applied suggestion - properly "fill in" Worker type 2025-02-24 13:06:17 +07:00
Joshua Horton
f3946ffc76 fix(web): prevent cookie-default behavior from mangling engine init
Fixes: #13278

The fallback default keyboard corresponding to an uninitialized cookie is `Keyboard_us:en`.   This should only occur if the site actually registers its stub before initialization - and we weren't checking/filtering for this properly.

The error itself only occurred if there _were_ stubs pre-registered before init - if none existed, the error does not result.
2025-02-24 12:37:09 +07:00
Joshua Horton
accdb3752e
change(web): apply focused try-catch suggestion from review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-02-24 09:15:50 +07:00
Joshua Horton
3d879ed295 docs(web): remove outdated comment in engine/main/build.sh 2025-02-21 08:16:21 +07:00
Joshua Horton
94df946b0e fix(web): reconnect, patch up engine/main headless unit tests 2025-02-20 12:13:11 +07:00