Commit graph

2300 commits

Author SHA1 Message Date
Keyman Build Agent
602dae0827 auto: increment stable-15.0 version to 15.0.273 2022-11-01 23:07:55 -04:00
Keyman Build Agent
bf858daffd auto: increment stable-15.0 version to 15.0.272 2022-10-18 14:33:20 -04:00
Keyman Build Agent
4f1c13d77b auto: increment stable-15.0 version to 15.0.271 2022-09-12 06:08:21 -04:00
Keyman Build Agent
f76ba85e82 auto: increment stable-15.0 version to 15.0.270 2022-08-29 01:01:44 -04:00
Keyman Build Agent
c0e9ac2355 auto: increment stable-15.0 version to 15.0.269 2022-08-04 14:28:24 -04:00
Keyman Build Agent
1f1f2d46e0 auto: increment stable-15.0 version to 15.0.268 2022-07-26 01:19:43 -04:00
Eberhard Beilharz
33af8014ef
fix(common): Fix delete
GCC 12 will output an error if the wrong `delete` is used.

Fixes #6930

(cherry picked from commit 57c736f17a)
2022-07-18 17:08:29 +02:00
Joshua Horton
c5480d19b3
Merge pull request #6951 from keymanapp/chore/web/cherry/remove-invalid-warning
chore(web): remove invalid warning msg 🍒
2022-07-15 13:09:08 +07:00
Joshua A. Horton
ca1eb70cbd chore(web): remove invalid warning msg 2022-07-15 09:05:18 +07:00
Joshua A. Horton
53268c41ae fix(web): applies PR suggestions 2022-07-15 08:35:30 +07:00
jahorton
bdcaa1d011 chore(web): extra check for robustness 2022-07-15 08:35:29 +07:00
Joshua Horton
2f3ba849ef chore(web): applies code suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-07-15 08:35:26 +07:00
Joshua A. Horton
6c80da3fc3 fix(web): doModifierPress layer handling 2022-07-15 08:35:25 +07:00
Joshua A. Horton
e7f7511780 change(web): disables touch OSK auto-shift on hardware shift 2022-07-15 08:35:24 +07:00
Joshua A. Horton
0596ef15b8 fix(web): set(layer) should not trigger for hardware keystrokes 2022-07-15 08:35:23 +07:00
Joshua A. Horton
6b5ef29fcc fix(web): reverts prior commit, adds related docs 2022-07-15 08:35:21 +07:00
Joshua Horton
0eb828ed53 chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-07-15 08:35:20 +07:00
Joshua A. Horton
29f6c16c08 chore(web): unit test fix 2022-07-15 08:17:13 +07:00
Joshua A. Horton
43a21c6b7b chore(web): reduce layer-change noise 2022-07-15 08:17:12 +07:00
Joshua A. Horton
6fd9647957 fix(web): postkeystroke should use the 'context' device, not event device 2022-07-15 08:17:10 +07:00
Keyman Build Agent
d9d0d83c42 auto: increment stable-15.0 version to 15.0.267 2022-07-08 07:33:31 -04:00
Marc Durdin
70949fc38f 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:14:18 +10:00
Marc Durdin
4875fad407 chore(web): ts-ignore for downlevel Sentry calls 2022-07-07 10:58:19 +10:00
Marc Durdin
22d21e30f7 chore: Apply suggestions from code review
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2022-07-07 09:37:45 +10:00
Marc Durdin
2e38d403b3 fix(web): only report console errors if _enabled 2022-07-07 09:37:42 +10:00
Marc Durdin
e3e8039d8e 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-07 09:37:33 +10:00
Keyman Build Agent
62a20ea48b auto: increment stable-15.0 version to 15.0.266 2022-07-04 05:01:46 -04:00
Keyman Build Agent
d84434b235 auto: increment stable-15.0 version to 15.0.265 2022-07-01 00:09:13 -04:00
Marc Durdin
e5293a695c 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-30 07:03:04 +10:00
Keyman Build Agent
9b8ac0c8d8 auto: increment stable-15.0 version to 15.0.264 2022-06-24 01:02:48 -04:00
Keyman Build Agent
021c8d5e89 auto: increment stable-15.0 version to 15.0.263 2022-06-22 21:04:12 -04:00
Keyman Build Agent
86014a5ea2 auto: increment stable-15.0 version to 15.0.262 2022-06-18 00:39:25 -04:00
Marc Durdin
6867bfd492 fix(web): crash on custom modifier keys
Fixes #6788.
Fixes KEYMAN-WEB-22.
Fixes KEYMAN-DEVELOPER-BQ.
Fixes KEYMAN-ANDROID-160.

Fixes a crash introduced in #6473 which was trying to prevent modifier
keys from triggering "fat finger" alternate lookups, due to incomplete
nullish coalescing.

Related to this, from what I can see, a secondary side-effect of the fix
in #6473 was that some key events may have never had their ruleBehaviors
finalized if they matched the `isOnlyLayerSwitchKey` heuristic, leading
to potential issues with edge case 'deadkey+layer switch' keys or keys
that set store values, for example. So this fix also makes the
`isOnlyLayerSwitchKey` test more targeted.

Identified this when adding a Caps Lock layer to sil_euro_latin and
testing the layer switching. At time of fix, the error had been raised
in KeymanWeb, Keyman Developer and Keyman for Android, but not yet
Keyman for iPhone and iPad.
2022-06-17 05:17:05 +10:00
Keyman Build Agent
d3b4cf1dcc auto: increment stable-15.0 version to 15.0.261 2022-06-14 23:30:51 -04:00
Keyman Build Agent
0a6ffa137a auto: increment beta version to 15.0.260 2022-06-10 14:02:55 -04:00
Joshua Horton
dd5dfca2fd
Merge pull request #6718 from keymanapp/change/web/browser-test-timeouts
change(web): browser test timeout tweaks
2022-06-10 15:12:06 +07:00
Keyman Build Agent
f9537ee2a2 auto: increment beta version to 15.0.259 2022-06-06 14:02:30 -04:00
jahorton
44fdec6ff5 chore(web): Merge branch 'beta' into change/web/browser-test-timeouts 2022-06-06 12:51:23 +07:00
jahorton
6e9ebb433a change(web): browser test timeout tweaks 2022-06-06 12:42:26 +07:00
Marc Durdin
6340a59d8e chore(web): add BrowserStack to command-line 2022-06-05 08:33:42 +10:00
Marc Durdin
f521b6ce19 chore(web): switch on additional BrowserStack reporting
Per support case with BrowserStack, am turning on deeper
reporting for BrowserStack-based testing in karma.
2022-06-05 07:53:20 +10:00
Keyman Build Agent
d1576e6717 auto: increment beta version to 15.0.258 2022-06-03 14:02:30 -04:00
Marc Durdin
48a4d8c2ec fix(developer): kmcomp package compiler race condition
Fixes a race condition when compiling multiple packages, where the
temp path may be re-used before the compiler has finished with it.

To take advantage of this fix, I wanted to make sure I was using the
right kmcomp.exe when building unit tests for Keyman Core. This
uncovered a couple of other things:

* Updates Keyman Core build infrastructure to use the current kmcomp.exe
  rather than a system-installed one.
* Corrects a bug that was identified by the 15.0 version of kmcomp in
  one unit test (duplicate `&NAME` stores -- the meson test script
  prepends a `&NAME` store to each source file during build).

@keymanapp-test-bot skip
2022-06-02 14:37:01 +10:00
Keyman Build Agent
99add57dda auto: increment beta version to 15.0.257 2022-06-01 14:02:17 -04:00
Keyman Build Agent
a59fa21d61 auto: increment beta version to 15.0.256 2022-05-31 14:02:28 -04:00
Keyman Build Agent
2eb0ccfcc3 auto: increment beta version to 15.0.255 2022-05-30 14:02:44 -04:00
Keyman Build Agent
cd2b32fc4d auto: increment beta version to 15.0.254 2022-05-27 14:05:13 -04:00
Keyman Build Agent
996018fe90 auto: increment beta version to 15.0.253 2022-05-25 14:02:14 -04:00
Keyman Build Agent
6ad1549167 auto: increment beta version to 15.0.252 2022-05-23 14:02:48 -04:00
Keyman Build Agent
9697f0233c auto: increment beta version to 15.0.251 2022-05-20 14:02:40 -04:00