Commit graph

4939 commits

Author SHA1 Message Date
Joshua Horton
887a47930f
Merge pull request #11318 from keymanapp/chore/web/chai-update
chore(web): updates chai, @types/chai dependencies 🏃
2024-05-15 14:10:27 +07:00
Darcy Wong
725231c80f chore: Merge remote-tracking branch 'origin/beta' into chore/beta-to-master-a18s1-part2 2024-05-10 07:41:54 +07:00
Joshua Horton
dd3763b240
Merge pull request #11385 from keymanapp/fix/web/unexpected-null-element 2024-05-10 07:32:09 +07:00
Darcy Wong
cbf1fd5cb1 chore(common): Merge beta to master for sprint A18S1 part 2 2024-05-10 06:27:02 +07:00
Joshua A. Horton
e9631c4fb2 chore(web): adjustments per code review 2024-05-09 10:24:31 +07:00
Joshua A. Horton
ce650c8b9c fix(web): headless tests should properly do CI-style reporting 2024-05-09 09:11:56 +07:00
Joshua A. Horton
a34e5c9100 fix(web): EventEmitter import pattern update 2024-05-09 08:49:50 +07:00
Joshua A. Horton
ad8bdaa4c1 chore(web): updates eventemitter3 to v5, when it provides esmodule exports 2024-05-09 08:49:50 +07:00
Joshua A. Horton
01d0019d86 chore(web): removes package.json references to old @npm/types versions 2024-05-07 14:38:41 +07:00
Joshua A. Horton
3989298e69 fix(web): fixes Web's Karma test:integrated suite (last one) 2024-05-07 14:35:12 +07:00
Joshua A. Horton
ffba4a6f14 fix(web): regression-test test-builder adjustment 2024-05-07 14:35:12 +07:00
Joshua A. Horton
c7445984d3 fix(web): dom (single-browser) Karma test adjustments 2024-05-07 14:35:11 +07:00
Joshua A. Horton
398b9e0ae2 chore(common): drops package-specific 'chai', '@types/chai' versions
chore(web): missed leaving these out of the rebase
2024-05-07 14:35:09 +07:00
Joshua A. Horton
4fe71921a1 fix(web): fixes illegal KMW event state - can't focus a null element 2024-05-07 09:11:51 +07:00
Eberhard Beilharz
acfc6866bb
Merge pull request #11355 from keymanapp/chore/web/test-sh
chore(web): Improve web/test.sh script
2024-05-06 11:34:17 +02:00
Marc Durdin
7a0ab01469 fix(web): support SVG elements when checking className
Fixes #11364.

Instead of using `className` which may be of type `SVGAnimatedString` if
the element is an SVG element, use `getAttribute('class')`. As that
function can return `null` if the class attribute is not defined, use
optional chaining to avoid a new error...

Uses the same pattern in hardwareEventKeyboard.ts, although I suspect
the problem may never arise there.

I audited the uses of className in our KeymanWeb source and found only
these three instances which may be problematic. I have not searched
elsewhere.
2024-05-06 10:05:39 +07:00
Eberhard Beilharz
0967915175
chore(web): Improve web/test.sh script
- previously there was an extra `--browsers` flag - `$BROWSERS` already
  contains the flag.
- previously we specified `$KARMA_FLAGS` twice if we set
  `$KARMA_EXT_FLAGS`
- some cleanup
2024-05-03 10:38:45 +02:00
Marc Durdin
cd8121ef65 chore(common): builder scripts now use /resources/build/builder.inc.sh
Note: there is a bit of potential confusion about the difference between
/resources/builder.inc.sh (the full implementation for builder scripts),
and /resources/build/builder.inc.sh (the source script that builder
scripts should always use).

This allows us to make assumptions that will always be true for builder
scripts that may not be true for other scripts, such as setting base
folder.
2024-05-02 15:54:31 +07:00
Marc Durdin
0f390d47cc chore(common): maintenance on build scripts - cd
Fixes #11324.

* Always `cd "$THIS_SCRIPT_PATH"`
* Remove unnecessary `cd` from all build.sh
* Remove unnecessary `set -eu` from all build.sh (and `# set -x`)
* Replace old build-utils.sh incantation in a few build.sh scripts
2024-05-02 15:54:29 +07:00
Marc Durdin
f119682cf0
Merge branch 'master' into chore/a18s1-merge-beta-into-master 2024-05-02 14:48:58 +10:00
Joshua A. Horton
8d2a1e8b93 change(web): longpress up-flick now has two components, requires greater distance 2024-04-29 08:53:32 +07:00
Eberhard Beilharz
b2c3b99f68
Merge pull request #11266 from keymanapp/fix/web/subkey-menus
fix(web): Fix layout for subkey menus with unusually-sized keys
2024-04-26 10:21:44 +02:00
Joshua A. Horton
e686dbe67d fix(web): longpress shortcut activation should be based on purely-northward component
change(web): stricter threshold for up-flick shortcut
2024-04-26 10:25:03 +07:00
Eberhard Beilharz
eb9b34cdd6
fix(web): Small refactorings based on code review comments 2024-04-24 15:02:22 +02:00
Eberhard Beilharz
0e1493906e
fix(web): export internals for unit tests as separate module
Addresses code review comments.
2024-04-24 10:47:46 +02:00
Eberhard Beilharz
c5efad0ca8
fix(web): Cleanup imports
Addresses code review comments.
2024-04-23 12:38:23 +02:00
Joshua A. Horton
bb0420109f feat(web): touch-layout layer spec processing now deferred until needed 2024-04-23 10:31:53 +07:00
Joshua A. Horton
44c178f94b fix(web): unit-test / test-engine patchup 2024-04-23 10:30:44 +07:00
Joshua A. Horton
41bbdfb5e9 feat(web): lazy construction of OSK layers 2024-04-23 10:30:43 +07:00
Joshua A. Horton
bef266548a fix(web): default multitap fix + sets one layout field private 2024-04-23 10:29:33 +07:00
Joshua A. Horton
b9cfaa156b change(web): more efficient key-spec processing 2024-04-23 10:29:32 +07:00
Eberhard Beilharz
23622697fb
chore(web): Update test keyboard
Add two longpress menus to the `diacritic_rota` keyboard:

- longpress on <kbd>1</kbd>: one subkey that is too wide to fit in the
  osk. Keyman is expected to resize the key so that it does fit.
- longpress on <kbd>2</kbd>: Subkeys for A-Z. Subkeys B and Y are
  double wide. The keys are expected to be displayed in multiple rows
  so that each row fits within the width. Note that there are too many
  keys so that the rows don't fit vertically.

Already existing is the longpress on <kbd>.</kbd>. Since the base
keys are wider they won't fit in one row. Keyman is expected to display
them in two rows.
2024-04-22 16:30:19 +02:00
Eberhard Beilharz
9818472c80
fix(web): Fix layout for subkey menus with unusually-sized keys
The previous code didn't check that the keys we put in a subkey menu
actually fit within the width of the osk. Additionally the subkey menu
was limited to two rows. This change checks the total width of the keys
in a row. If it gets too wide we continue in the next row.

Fixes #10126.
2024-04-22 16:30:19 +02:00
Joshua A. Horton
37196b1103 chore(web): Merge branch 'beta' into fix/web/visible-empty-osk 2024-04-22 15:36:31 +07:00
Joshua Horton
122351bea4
Merge pull request #11277 from keymanapp/feat/web/gesture-engine-history
feat(web): add recent-history log to gesture engine
2024-04-22 15:29:44 +07:00
Joshua A. Horton
6fa3d907e1 chore(web): drops redundant builder-dependency from early gesture dev 2024-04-22 11:28:55 +07:00
Joshua A. Horton
7bf6826a64 feat(web): adds recent-history log to gesture engine + clean JSON version 2024-04-22 10:57:37 +07:00
Joshua Horton
09a65a497b
Merge pull request #11174 from keymanapp/change/web/init-osk-with-keyboard
change(web): initializes OSK with keyboard if available during init 🪠
2024-04-19 12:41:48 +07:00
Joshua A. Horton
770c9da3e9 fix(web): osk-view hidden by default on construction 2024-04-19 12:36:21 +07:00
Joshua Horton
801359ce72
Merge pull request #11235 from keymanapp/fix/web/empty-string-length-style
fix(web): default parse of length styling for empty string
2024-04-19 11:25:34 +07:00
Joshua A. Horton
c4b240ac2d chore(web): applies PR suggestions 2024-04-19 09:22:03 +07:00
Joshua Horton
4772541d61
Merge pull request #11245 from keymanapp/fix/web/dropped-keys-on-rapid-typing 2024-04-18 21:01:21 +07:00
Joshua A. Horton
f4fe095f10 change(web): adjusts multitap timings 2024-04-18 11:58:13 +07:00
Joshua A. Horton
006151f054 fix(web): longpress cancellation on extra touch should not cancel the extra touch 2024-04-18 10:15:22 +07:00
Joshua A. Horton
b107daab22 chore(web): Merge branch 'beta' into change/web/init-osk-with-keyboard 2024-04-18 08:15:30 +07:00
Joshua Horton
67dfa93364
Merge pull request #11210 from keymanapp/fix/web/rotation-causes-osk-target-overlap
fix(web): now auto-scrolls if target element would be hidden after device rotation
2024-04-18 08:07:35 +07:00
Joshua A. Horton
1963ecfa11 change(web): drops need for closures to optimize layout-reflow 2024-04-17 12:58:05 +07:00
Joshua A. Horton
eead04351f chore(web): simple layout reflow polish 2024-04-17 12:20:43 +07:00
Joshua A. Horton
c5c7efffe7 chore(web): drops added redundancy 2024-04-17 11:52:35 +07:00
Joshua A. Horton
0490777886 change(web): a more focused empty-string fix 2024-04-17 11:52:02 +07:00