Commit graph

15334 commits

Author SHA1 Message Date
Marc Durdin
0741b88dc2 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:22:19 +10:00
Keyman Server
50d591e3ff
Merge pull request #6779 from keymanapp/auto/version-master-16.0.14
auto: increment master version to 16.0.14
2022-06-16 04:02:42 +10:00
Keyman Build Agent
a26f5d78df auto: increment master version to 16.0.14 2022-06-15 14:01:52 -04:00
Marc Durdin
179142591e
Merge pull request #6771 from keymanapp/chore/beta-to-master-A16S4
chore: beta to master merge A16S4
2022-06-15 14:58:42 +10:00
Marc Durdin
0212727b98 chore: Merge branch 'master' into chore/beta-to-master-A16S4 2022-06-15 12:54:35 +10:00
Marc Durdin
1199c5602a
Merge pull request #6704 from keymanapp/fix/android/getKeyboardInfo-with-invalid-index
fix(android): check index validity in getCurrentKeyboardInfo
2022-06-15 06:17:52 +10:00
Marc Durdin
4dc65a8082
Merge pull request #6761 from keymanapp/chore/android/6703-additional-logging
chore(android): adds diagnostic logging to assist a fix for #6703
2022-06-15 06:17:22 +10:00
Marc Durdin
14a9f1c525
Merge pull request #6763 from keymanapp/fix/web/6699-layergroup-padding-side-effects
fix(web): row height layout calcs now consider layer-group padding
2022-06-15 06:17:10 +10:00
Joshua Horton
3cd5ae2b33
chore(web): applies code suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-06-14 12:52:39 +07:00
Keyman Server
9d7a22ed55
Merge pull request #6767 from keymanapp/auto/version-master-16.0.13
auto: increment master version to 16.0.13
2022-06-14 14:43:50 +10:00
Keyman Build Agent
0fa018bc0d auto: increment master version to 16.0.13 2022-06-14 00:43:08 -04:00
Marc Durdin
8aa5e7e867
Merge pull request #6762 from keymanapp/fix/common/increment-version-node-ts-version-bump
fix(common): update increment-version for new tsc, node versions 🎡
2022-06-14 14:37:06 +10:00
jahorton
d23b349106 fix(web): row height layout calcs now consider layer-group padding 2022-06-13 13:30:13 +07:00
Marc Durdin
9e1d8c6e9a chore(common): npm install 2022-06-13 16:12:43 +10:00
Marc Durdin
a9c5b4ecb7 fix(common): update increment-version for new tsc, node versions
* Addresses some Typescript-specific breaking changes in destructured
  types.
* Removes npm version calls and package*.json updates -- these are no
  longer required.
* Adds resources/build/version as a workspace to root package.json.
* Runs `npm ci` on the repo root for resources/build/version.
* Adds additional logging.
2022-06-13 15:54:18 +10:00
jahorton
3738519412 chore(android): adds diagnostic logging to assist a fix for #6703 2022-06-13 10:50:32 +07:00
Marc Durdin
47da7685f2
Merge pull request #6525 from keymanapp/chore/web/no-more-lerna
chore(web): replace lerna with npm workspaces and ts projects 🎡
2022-06-13 13:39:12 +10:00
Marc Durdin
8cc9291bba chore(web): Merge branch 'master' into chore/web/no-more-lerna 2022-06-13 13:38:08 +10:00
Keyman Server
a1fab75721
Merge pull request #6748 from keymanapp/auto/version-beta-15.0.260
auto: increment beta version to 15.0.260
2022-06-11 04:03:37 +10: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
Joshua Horton
3a73a12561
Merge pull request #6714 from keymanapp/change/web/6646-longpress-flick-thresholding
change(web): adjusts minimum distance needed for quick-display of subkeys
2022-06-10 13:30:24 +07:00
rc-swag
e2edb7db0e
Merge pull request #6727 from keymanapp/fix/windows/6619/install-tip-crash-bcp47tag
fix(windows): Install TIP crash with inconsistent bcp47tag
2022-06-10 09:24:28 +10:00
Marc Durdin
4a9b529562
Merge pull request #6671 from keymanapp/fix/android/hardware-key-no-vibrate
fix(android/engine): Disable haptic feedback on hardware keystrokes
2022-06-10 07:24:51 +10:00
Ross
9dcffdb904 fix(windows): BCP47tag is canonicalized in GetUserDefaultLanguage
The BCP47tag is canonicalized in GetUserDefaultLanguage.
Comments updated for the function to make developer aware.

Comments added to GetKeyboardLanguage to make clear that it
can actuall Add/Set a langague in the com object.
2022-06-08 15:35:59 +10:00
Keyman Server
7af30432e8
Merge pull request #6722 from keymanapp/auto/version-beta-15.0.259
auto: increment beta version to 15.0.259
2022-06-07 04:03:17 +10: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
Joshua Horton
3841ddbbda
Merge pull request #6689 from keymanapp/fix/web/6685-ui-module-osk-display-issues
fix(web): fixes OSK-interaction issues in Float, Toolbar UI modules
2022-06-06 12:42:46 +07:00
jahorton
6e9ebb433a change(web): browser test timeout tweaks 2022-06-06 12:42:26 +07:00
Marc Durdin
962ff0f7d5
Merge pull request #6707 from keymanapp/chore/web/browserstack-reporting
chore(web): switch on additional BrowserStack reporting
2022-06-06 14:29:19 +10:00
Marc Durdin
2c92c98661
Merge pull request #6705 from keymanapp/chore/beta-history
chore: add 14.0 entries to beta HISTORY.md
2022-06-06 14:27:49 +10:00
jahorton
15ae34a0c8 change(web): increases min dist for a longpress-flick timer shortcut 2022-06-06 08:58:56 +07:00
Joshua Horton
b8a1beb2b9
chore(web): commits PR suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-06-06 08:06:20 +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
Marc Durdin
949f2cf403 chore: add 14.0 entries to beta HISTORY.md 2022-06-05 07:11:31 +10:00
Marc Durdin
958fbd3e40 fix(android): check index validity in getCurrentKeyboardInfo
This fixes crash reported as #6703. This issue was first reported in
14.0.282-stable. I have done a careful review of changes in 14.0.282
(and 14.0.281) but have been unable to find any changes that could have
bearing on this.

The basic issue is that there appears to be some circumstances where
`KMManager` thinks that it has a keyboard loaded (ref
`SystemKeyboardLoaded` variable), but `KMKeyboard.currentKeyboard` is
still `null`.

The crash has been reported for only a very small set of users, 119 at
time of fix, but average reports per user is over 100. As is usual with
this type of thing, a small fraction of those users are reporting the
majority of crashes. I have not found any real commonality across the
error reports -- they are geographically dispersed, across multiple
device types and Android versions.

Note that this addresses the error at hand but as I am unable to
reproduce the issue, does not necessarily address the root problem, so
there may still be other issues reported even after this is fixed.

A longer-term refactor would eliminate `SystemKeyboardLoaded` because
from what I can tell, we should always be able to determine that from
the state of `KMKeyboard.currentKeyboard`. However, the state
entanglement is a lot deeper than just those two variables, with cross
references to keyboard indexes between `KMManager` and `KMKeyboard`
which need to be resolved (`KMKeyboard` should *never* refer to
`KMManager`).
2022-06-05 06:46:39 +10:00
Marc Durdin
b69872d589 fix(android): move hardware keystroke flag to JS module 2022-06-04 08:44:24 +10:00
Keyman Server
bd35942d4d
Merge pull request #6702 from keymanapp/auto/version-beta-15.0.258
auto: increment beta version to 15.0.258
2022-06-04 04:03:21 +10:00
Keyman Build Agent
d1576e6717 auto: increment beta version to 15.0.258 2022-06-03 14:02:30 -04:00
Marc Durdin
3766eac305
Merge pull request #6691 from keymanapp/fix/developer/install-keyboard-quote-kmshell-path
fix(developer): install keyboard call should quote kmshell.exe path
2022-06-03 09:45:39 +10:00
Marc Durdin
deb6695ea0
Merge pull request #6696 from keymanapp/fix/developer/kmcomp-package-compiler-race-condition
fix(developer): kmcomp package compiler race condition
2022-06-03 09:42:24 +10: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 Server
8980e889f9
Merge pull request #6693 from keymanapp/auto/version-beta-15.0.257
auto: increment beta version to 15.0.257
2022-06-02 04:03:04 +10:00
Keyman Build Agent
99add57dda auto: increment beta version to 15.0.257 2022-06-01 14:02:17 -04:00
Darcy Wong
da507b77c2
Merge pull request #6650 from keymanapp/chore/common/crowdin-es-419-with-mac
chore(android,ios,mac): Update crowdin strings for Spanish (Latin America)
2022-06-01 19:49:17 +07:00
jahorton
ad60fe8c92 chore(web): addresses PR review comments 2022-06-01 13:08:20 +07:00
Marc Durdin
8fe7234e1d
fix(developer): install keyboard call should quote kmshell.exe path 2022-06-01 15:33:44 +10:00
jahorton
92d1c10209 fix(web): osk display-state setting tracking 2022-06-01 12:24:22 +07:00