Commit graph

4544 commits

Author SHA1 Message Date
Joshua A. Horton
956e092fe8 chore(web): Merge branch 'feat/web/gesture-recognizer-base' into feat/web/gesture-recognizer-bounds 2022-07-12 12:41:15 +07:00
Joshua A. Horton
1b21994b2a chore(web): Merge branch 'feat/web/gesture-recognizer-main' into feat/web/gesture-recognizer-base 2022-07-12 12:40:51 +07:00
Joshua A. Horton
cca5be5d74 fix(web): moved build.sh lost its executable flag 2022-07-12 12:40:24 +07:00
Joshua A. Horton
c5832cf203 chore(web): Merge branch 'feat/web/gesture-recognizer-bounds' into feat/web/gesture-recognizer-rigging 2022-07-12 12:33:31 +07:00
Joshua A. Horton
c2e061b4f7 chore(web): Merge branch 'feat/web/gesture-recognizer-base' into feat/web/gesture-recognizer-bounds 2022-07-12 12:30:58 +07:00
Joshua A. Horton
0c7ac4ff3c chore(web): addresses PR concerns 2022-07-12 12:09:52 +07:00
Joshua A. Horton
f5257252ed chore(web): Merge branch 'master' into feat/web/gesture-recognizer-main 2022-07-12 12:09:11 +07:00
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
Marc Durdin
1909d92b47 chore(common): keymansentry UNICODE for Winapi 2022-07-11 11:19:53 +10: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
b700432583 fix(developer): kmdecomp stability tweaks
Adds kmdecomp to kmcomp-<version>.zip and fixes a couple of stability
issues:

* Increase buffer sizes (this fix very much a hack)
* Ensures that .bmp/.ico files are saved to correct output folder
* Disable loading sentry.dll when running on WINE
2022-07-11 10:42:33 +10: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
Marc Durdin
27eb1b9f19 fix(developer): add no-ops for symbol builds for components
Fixes the release build where we do `nmake symbols` for developer/src,
which was failing on calls to these two sets of components. (In
windows/src, the build structure is different due to an additional layer
of folders, so we end up with no `nmake symbols` call on the common
components).
2022-07-08 05:04:10 +10: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
6c39bb8b0b
Merge pull request #6877 from keymanapp/feat/developer/touch-layout-flick-and-multitap
feat(developer): add flick and multitap to touch layout schema and doc 🙊
2022-07-06 15:18:32 +10:00
Marc Durdin
a4a1e269d1
Merge pull request #6856 from keymanapp/feat/developer/keyman-touch-layout-schema
feat(developer): .keyman-touch-layout schema for 15.0 🙊
2022-07-06 15:18:23 +10: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
Marc Durdin
b2427386f1 feat(developer): tighter spec for .keyman-touch-layout 2022-06-30 14:37:43 +10:00
Marc Durdin
ebfd474d90 feat(developer): add flick and multitap to touch layout schema and doc
Does not tighten the spec for legacy data -- that should probably be a
separate schema file.
2022-06-30 11:43:51 +10:00
Marc Durdin
3d9d6f59dc chore: add documentation for keyman-touch-layout 2022-06-30 11:07:38 +10: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