Commit graph

2265 commits

Author SHA1 Message Date
Joshua A. Horton
7db9743d8f chore(web): addresses PR concerns 2022-07-12 12:05:43 +07:00
Joshua A. Horton
4ba11ced92 chore(web): Merge branch 'master' into feat/web/gesture-recognizer-base 2022-07-12 11:48:26 +07:00
Joshua A. Horton
7342f7f9e6 fix(web): applies PR suggestions 2022-07-12 11:01:14 +07:00
Joshua A. Horton
ba7dd2f104 feat(web): visible safe-proximity, looser safe-zones 2022-07-11 13:07:45 +07:00
Joshua A. Horton
d4577698c9 change(web): moved recognizer host page to web/testing, retooled index 2022-07-11 13:02:02 +07:00
Joshua A. Horton
d1aa5a74b8 fix(web): mouse event sequence polishing 2022-07-11 13:02:02 +07:00
Joshua A. Horton
ecf03b915a feat(web): initial page integration! 2022-07-11 13:02:02 +07:00
Joshua A. Horton
9091d71682 feat(web): lightgray -> whitesmoke 2022-07-11 13:02:02 +07:00
Joshua A. Horton
e9d05fd254 feat(web): preps logging zone 2022-07-11 13:02:02 +07:00
Joshua A. Horton
7976e5242a change(web): mini-tweak 2022-07-11 13:02:02 +07:00
Joshua A. Horton
be037aee4d feat(web): auto-roam-range select on receiver form change 2022-07-11 13:02:02 +07:00
Joshua A. Horton
6e35523b76 feat(web): added popup modeling mode 2022-07-11 13:02:02 +07:00
Joshua A. Horton
163ec71ba6 feat(web): interactive selection for page config 2022-07-11 13:02:01 +07:00
Joshua A. Horton
ee63b55740 feat(web): initial skeleton for gesture-recognizer host page 2022-07-11 13:02:01 +07:00
Joshua A. Horton
70f6626392 fix(web): missed config type-check 2022-07-11 13:01:09 +07:00
Joshua Horton
be7c9c58a9
Merge pull request #6808 from keymanapp/fix/web/6792-chiral-modifier-mapping
fix(web): maps touch-layout chiral alt, ctrl to non-chiral when non-chiral keyboard is active
2022-07-11 08:12:46 +07:00
Marc Durdin
ace0cbd1d6 fix(web): ncaps rules not matching on touch
Fixes #6910.

Regression introduced in #6874 / #6849 (which themselves were improving
the Caps Lock situation).

Ensures that either `NO_CAPS` or `CAPS` is always set in the modifier
flags.
2022-07-08 16:09:28 +10:00
jahorton
648acc9273 chore(web): extra check for robustness 2022-07-08 10:14:35 +07:00
Joshua Horton
620cbb54ab
chore(web): applies code suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-07-07 08:39:28 +07:00
Marc Durdin
8ba11f608d
Merge pull request #6890 from keymanapp/fix/web/improve-console-error-reporting
fix(web): improve `console.error()` reporting
2022-07-07 09:40:06 +10:00
Joshua A. Horton
a1a43f80c1 fix(web): doModifierPress layer handling 2022-07-06 13:20:14 +07:00
Joshua A. Horton
a4b32705d8 fix(web): reverts prior commit, adds related docs 2022-07-06 12:56:09 +07:00
Joshua Horton
b9a47bfaf7
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-07-06 12:54:06 +07:00
Joshua A. Horton
4489337cd6 change(web): disables touch OSK auto-shift on hardware shift 2022-07-06 12:25:08 +07:00
Marc Durdin
ace3e2c6b0
chore: Apply suggestions from code review
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2022-07-06 15:15:09 +10:00
Joshua A. Horton
4c0ab7ab1a fix(web): set(layer) should not trigger for hardware keystrokes 2022-07-06 12:11:30 +07:00
Joshua A. Horton
a9d52e42d2 chore(web): unit test fix 2022-07-06 11:55:19 +07:00
Joshua A. Horton
90b7b4ce5f chore(web): reduce layer-change noise 2022-07-06 11:38:20 +07:00
Joshua A. Horton
aba150ddba fix(web): postkeystroke should use the 'context' device, not event device 2022-07-06 11:38:14 +07:00
Marc Durdin
10caf08919 fix(web): only report console errors if _enabled 2022-07-05 13:14:20 +10:00
Marc Durdin
0b64871be3 fix(web): improve console.error() reporting
The back story:

Currently Keyman for Android reports errors sent to the console via
`console.error()` into Sentry but sentry-manager itself does not. This
means that Keyman for iPhone and iPad and other users of sentry-manager
do not report these errors. Many of these errors are important.

What's worse is that Keyman for Android's error reporting here (via the
`sendKMWError()` function in Keyman Engine for Android) does not capture
stack traces, and so many of the errors we get do not have enough
information to resolve them.

Furthermore, by having `sendKMWError()` in Keyman for Android, we
capture exceptions and other program errors twice -- once on the web
side, and once on the Java side -- this adds noise to our error
reporting. Sentry also tends to lump many unrelated `sendKMWError()`
events together, so tracking resolution to the errors is painful.

The fix:

This adds a patch to sentry-manager to capture `console.error()` and
`console.warning()` events and report them through Sentry's normal error
reporting, and disables the `sendKMWError()` report (although we leave
the breadcrumb in place for when there are later, related Java errors).
There is a Sentry integration called CaptureConsole, but it does not
support capturing stack traces until v6.14
(https://github.com/getsentry/sentry-javascript/pull/4034). Updating
Sentry to 6.14 or newer is a bigger job (due to ES6 baseline req. etc.)

Note that Keyman for iOS currently has some other stubs in place
overriding the `console.*` functions. These should be removed for
release builds, so that we can use this pattern instead. I will try and
tackle this in a follow-up PR (I will build it on my mac so I can test
it).

A sample error report captured with this mechanism (no sourcemaps here
because this is a -local build):

https://sentry.io/organizations/keyman/issues/3401287467/events/c40fd2cebb7743cc8dfe72e0dd34bf65/?project=5983524

I am proposing we back-port this to 15.0-stable as we are missing a lot
of data in many of our error reports on Android.
2022-07-05 10:57:42 +10:00
Joshua A. Horton
120d48e2af fix(web): bounds detection logic 2022-07-04 10:27:06 +07:00
Joshua A. Horton
124dcc108b fix(web): config field handling 2022-07-04 10:27:06 +07:00
Joshua A. Horton
be28b54954 fix(web): let's get it right this time 2022-06-29 15:26:55 +07:00
Joshua A. Horton
4a10fde758 fix(web): fixed dimension ordering to match CSS style 2022-06-29 15:17:13 +07:00
Marc Durdin
60d4ceb5e6 fix(web): Maintain separate Caps Lock states for touch and physical
Fixes #6799.

Caps Lock state management for touch layouts was not quite right -- it
touched the base Caps state variables rather than just the event Lstates
property. This meant that it was impossible to track the physical Caps
Lock key separately to the touch layout layer, and that the two states
would interfere with each other.
2022-06-29 06:20:45 +10:00
Joshua A. Horton
d97281fafa feat(web): implements abstracted bound-check logic 2022-06-27 15:28:17 +07:00
Joshua A. Horton
49bc584ad9 feat(web): another iteration on boundary zone design/logic 2022-06-27 14:24:40 +07:00
Joshua A. Horton
6e45ca9a18 feat(web): start of input boundary generalization 2022-06-27 11:47:20 +07:00
Joshua A. Horton
6b424362d9 chore(web): cleans out replaced callbacks 2022-06-27 11:46:42 +07:00
Joshua A. Horton
cf34fa6b49 refactor(web): input tracking publishes update events 2022-06-27 11:46:42 +07:00
Joshua A. Horton
98f129c3d5 feat(web): starts unification, combined config 2022-06-27 11:46:42 +07:00
Joshua A. Horton
4a5f775dc5 fix(web): script must be executable 2022-06-27 11:44:44 +07:00
Joshua A. Horton
5142f80080 docs(web): started a change-tracking doc 2022-06-27 11:44:44 +07:00
Joshua A. Horton
df2a403d27 chore(web): baseline build script for gesture-recognizer 2022-06-27 11:44:44 +07:00
Joshua A. Horton
8e9ee39063 chore(web): disables OSK helper funcs 2022-06-27 11:44:44 +07:00
Joshua A. Horton
25ef83ef64 chore(web): raw copy of relevant, isolatable KMW code 2022-06-27 11:44:44 +07:00
Joshua A. Horton
98b6ff0ec5 feat(web): baseline file organization 2022-06-27 11:44:44 +07:00
Marc Durdin
9b4eedc2ea chore(web): update kmlmc path ref 2022-06-25 07:40:22 +10:00
Marc Durdin
4f36c3c2df chore(developer): Merge branch 'master' into chore/developer/js-to-lmc 2022-06-25 05:48:57 +10:00