Commit graph

27982 commits

Author SHA1 Message Date
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
35adc5b970
Merge pull request #6630 from keymanapp/chore/developer/js-to-lmc
chore(developer): rename developer/js to developer/kmlmc 🎢
2022-07-06 05:42:19 +10:00
Marc Durdin
da89fe4b9b
Merge pull request #6866 from keymanapp/fix/developer/show-version-number
fix(developer): Show full version number
2022-07-06 05:41:26 +10:00
Marc Durdin
1ee5aaa63e
Merge pull request #6849 from keymanapp/fix/web/6799-caps-state-only-from-caps-layer-for-touch
fix(web): Maintain separate Caps Lock states for touch and physical
2022-07-06 05:41:18 +10:00
Marc Durdin
a0d6150922
Merge pull request #6865 from keymanapp/fix/developer/6799-readonly-groups-never-emit
fix(developer): readonly groups should never emit output
2022-07-06 05:41:08 +10:00
Marc Durdin
f2d8fd0eae
Merge pull request #6860 from keymanapp/fix/developer/dist-path-for-server
fix(developer): dist path for server 🎢
2022-07-06 05:40:58 +10:00
Marc Durdin
2bdc41892e
Merge pull request #6887 from keymanapp/fix/web/cherry/6885-unbound-handler
fix(web): properly binds 'suggestionApplied' event handler
2022-07-06 05:09:19 +10:00
Keyman Server
d49003a635
Merge pull request #6896 from keymanapp/auto/version-master-16.0.26
auto: increment master version to 16.0.26
2022-07-06 04:02:35 +10:00
Keyman Build Agent
423a5bd5f4 auto: increment master version to 16.0.26 2022-07-05 14:01:58 -04:00
Eberhard Beilharz
1f84299d08
fix(linux): Fix post-install script
This change fixes the ibus-keyman post install script which
previously failed if for whatever reason `SUDO_USER` is not set.

Fixes #6893
2022-07-05 18:14:53 +02:00
Marc Durdin
3977ffda2f fix(web): remove spurious log "No keyboard stubs exist"
This error has been logged for every start of Keyman Engine for Web in
embedded contexts, but nothing bad ever happens. It does not really seem
to be anything we need to worry about. (It may be that the
`setDefaultKeyboard()` call will never return true, but it is still
harmless in any case.)
2022-07-05 15:36:21 +10:00
Marc Durdin
88c7363ab7 fix(ios): only override console object in ios-host if debug enabled 2022-07-05 13:14:39 +10:00
Marc Durdin
10caf08919 fix(web): only report console errors if _enabled 2022-07-05 13:14:20 +10:00
Marc Durdin
f3c091a667
Merge pull request #6891 from keymanapp/chore/web/update-readme
chore(web): update readme
2022-07-05 13:00:53 +10:00
Marc Durdin
c6bb33973c chore(web): update readme 2022-07-05 12:29:13 +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
jahorton
aa8730acda fix(web): properly binds 'suggestionApplied' event handler 2022-07-04 09:19:51 +07:00
Keyman Server
05d7775e30
Merge pull request #6883 from keymanapp/auto/version-master-16.0.25
auto: increment master version to 16.0.25
2022-07-03 04:02:49 +10:00
Keyman Build Agent
81c45dd1ed auto: increment master version to 16.0.25 2022-07-02 14:02:10 -04:00
Marc Durdin
939772a670
Merge pull request #6867 from keymanapp/fix/windows/show-version-number
fix(windows): show full version number
2022-07-02 05:51:57 +10:00
Marc Durdin
378e1a341d
Merge pull request #6847 from keymanapp/fix/common/trigger-builds-stable
fix(common): trigger builds correctly for stable builds
2022-07-02 05:51:47 +10: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
Keyman Server
613c194bf9
Merge pull request #6872 from keymanapp/auto/version-master-16.0.24
auto: increment master version to 16.0.24
2022-06-30 04:02:37 +10:00
Keyman Build Agent
59b7323fd6 auto: increment master version to 16.0.24 2022-06-29 14:01:52 -04: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
Joshua Horton
658865d0af
Merge pull request #6854 from keymanapp/fix/web/6853-refresh-layout-undef-guard
fix(web): null-guard for refreshLayout
2022-06-29 13:30:01 +07:00
Joshua Horton
581bda77aa
Merge pull request #6786 from keymanapp/fix/web/6735-sticky-backspace-on-resize
fix(web): clears repeating bksp on keyboard reload ⬅️
2022-06-29 13:28:01 +07:00
Marc Durdin
5d9aea7094 chore(developer): increase label height in setup 2022-06-29 12:54:22 +10:00
Marc Durdin
f639a95e55 fix(windows): show full version number
Updated various places in Keyman for Windows to show the full
VersionWithTag rather than the short version number we had been
previously showing:

- Support tab
- System Information, About dialog
2022-06-29 11:03:41 +10:00
Marc Durdin
7ec9859838 fix(developer): Show full version number
Updated various places in Keyman Developer to show the full
VersionWithTag rather than the short version number we had been
previously showing:

- About dialog
- Welcome screen
- Installer
- kmcomp help
- kmconvert help
- kmanalyze help
- kmdecomp help

This should help when testing to verify that we are testing the right
version.

Also fixed the keymansentry path when running command line C++ programs
from source repo.
2022-06-29 10:58:40 +10: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
Marc Durdin
2fc74ce8e0 fix(developer): dist path for server
Fixes #6859.

The production path needed to have all files under the build/dist/
folder, not just the build/ folder. Broken in the refactor in #6630.
2022-06-29 06:17:12 +10:00
Marc Durdin
7a7d1e0362 fix(developer): readonly groups should never emit output
Fixes #6799.

For KeymanWeb compiled keyboards, readonly groups should never emit any
output. Rules in these groups permitted only to:
  * `use` other readonly groups
  * `call` external functions (which MUST NOT emit output)
  * `set`, `reset` or `save` store values

The base kmx compiler does emit output for rules in readonly groups.
Thus, the KeymanWeb compiler, when it transpiles from the generated
.kmx, needs to omit output for any readonly group, while avoiding any
other potential change in behaviour.
2022-06-29 06:12:05 +10:00
Marc Durdin
17f11dfff0 fix(developer): readonly groups should never emit output
Fixes #6799.

For KeymanWeb compiled keyboards, readonly groups should never emit any
output. Rules in these groups permitted only to:
  * `use` other readonly groups
  * `call` external functions (which MUST NOT emit output)
  * `set`, `reset` or `save` store values

The base kmx compiler does emit output for rules in readonly groups.
Thus, the KeymanWeb compiler, when it transpiles from the generated
.kmx, needs to omit output for any readonly group, while avoiding any
other potential change in behaviour.
2022-06-29 06:06:12 +10:00
Marc Durdin
87cc5d42a8 feat(developer): add missing props to schema and make more lenient 2022-06-29 06:05:30 +10:00
Keyman Server
850bb2c187
Merge pull request #6864 from keymanapp/auto/version-master-16.0.23
auto: increment master version to 16.0.23
2022-06-29 04:02:25 +10:00
Keyman Build Agent
2393ecec53 auto: increment master version to 16.0.23 2022-06-28 14:01:36 -04:00
Marc Durdin
d9accbe07b feat(developer): draft .keyman-touch-layout schema 2022-06-28 11:31:20 +10:00
Joshua Horton
13d160bfba
Merge pull request #6855 from keymanapp/fix/ios/6807-known-image-height
fix(ios): eliminates conditional height for banner image
2022-06-28 08:28:31 +07:00
Keyman Server
314a1f96f8
Merge pull request #6858 from keymanapp/auto/version-master-16.0.22
auto: increment master version to 16.0.22
2022-06-28 04:02:55 +10:00
Keyman Build Agent
0151193439 auto: increment master version to 16.0.22 2022-06-27 14:02:10 -04:00