Commit graph

1254 commits

Author SHA1 Message Date
Marc Durdin
6f22415b7b chore: Merge remote-tracking branch 'origin/epic/web-core' into chore/merge-master-into-web-core 2025-04-25 07:54: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
eb7bd3adba chore(web): remove artifacts re: potential method renames 2025-04-22 11:59:16 +07:00
Joshua Horton
9993a33f1b chore(web): remove side-effect field from web-utils package.json 2025-04-22 11:52:44 +07:00
Joshua Horton
dc450cde9e chore(web): finalize removal of side-effect KMWString implementation 2025-04-22 11:40:57 +07:00
Joshua Horton
f8ea902fd9 refactor(web): refactor _kmwCharAt 2025-04-22 11:40:57 +07:00
Joshua Horton
70c1920854 refactor(web): refactor _kmwSlice, _kmwSubstr, _kmwSubstring 2025-04-22 11:40:57 +07:00
Joshua Horton
2cb6e5a191 refactor(web): refactor _kmwIndexOf, _kmwLastIndexOf 2025-04-22 11:40:57 +07:00
Joshua Horton
a53f2dcd10 chore(web): refactor _kmwCharCodeAt 2025-04-22 11:40:39 +07:00
Joshua Horton
418f3d6aec chore(web): update all Web engine uses of kmwLength, kmwCodePointToCodeUnit, kmwCodeUnitToCodePoint 2025-04-22 10:17:07 +07:00
Joshua Horton
4863e95c46 refactor(web): refactor _kmwCodePointToCodeUnit, _kmwCodeUnitToCodePoint 2025-04-22 10:17:01 +07:00
Joshua Horton
f934de23b5 refactor(web): refactor _kmwLength 2025-04-22 10:16:54 +07:00
Joshua Horton
b368f5fe6a refactor(web): refactor _kmwNextChar, _kmwPrevChar helpers 2025-04-22 10:16:47 +07:00
Joshua Horton
e5a5305946 chore(web): drop .only from test suite 2025-04-22 09:12:35 +07:00
Joshua Horton
be15fc1c3f chore(web): add unit tests for SMP-aware string-handling helper methods 2025-04-21 13:09:01 +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
5b14b858fb chore(web): replace kmwFromCharCode with its ES6 equivalent 2025-04-21 08:36:59 +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
Eberhard Beilharz
3093ccd9eb
refactor(web): rename KeyboardInterface → KeyboardInterfaceBase
Fixes: #13438
2025-04-16 19:12:08 +02:00
Joshua Horton
34a58ca9f9 fix(web): base key should emitted even if at reset-recentering trigger 2025-04-07 13:31:00 +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
Marc Durdin
ffec6a21f3 chore: Merge remote-tracking branch 'origin/epic/web-core' into chore/merge-dev-refactors-into-web-core 2025-04-03 12:19:28 +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
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
Marc Durdin
7c42887ead
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-03-31 12:13:48 +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
Marc Durdin
068da83e50 chore: Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-03-14 11:05:17 +07:00
Marc Durdin
c35e0dac5f chore: Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-03-14 11:02:37 +07:00
Eberhard Beilharz
626a43f6a1
docs(web): update parameter name in function headers
Addresses code review comment.
2025-03-05 18:23:20 +01:00
Eberhard Beilharz
3b2157cb83
refactor(web): cleanup OutputTarget class names
- rename `js-processor`'s `OutputTarget` → `OutputTargetBase`
- rename `element-wrappers`' `OutputTarget` → `OutputTargetElementWrapper`
2025-03-03 18:02:47 +01:00
Eberhard Beilharz
bd1c610d65
refactor(web): rename base KeymanEngine to KeymanEngineBase 2025-03-03 11:29:46 +01:00
Eberhard Beilharz
8e8816adc2
feat(web): fix tests 2025-03-03 11:28:39 +01:00
Eberhard Beilharz
fe3e02cf9e
feat(web): implement getting properties of KMXKeyboard 2025-03-01 17:18:31 +01: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
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