Commit graph

1445 commits

Author SHA1 Message Date
Darcy Wong
3e18852243 fix(web): Use regex to determine display layer and functional layers 2022-01-18 08:25:30 +07:00
Marc Durdin
da32fbc255 fix(web): popupBaseKey null check
Fixes #5912.

Corresponding alpha fix coming.
2021-11-19 13:46:15 +11:00
Marc Durdin
22cd0e2675 chore: avoid error when running in unit tests 2021-11-17 07:32:49 +11:00
Marc Durdin
09a7e19913 chore: remove obsolete drawPreview 2021-11-16 17:47:16 +11:00
Marc Durdin
d55df2e630 fix(web): remove canvas use for iOS compatibility 🍒
Fixes #5831.

Cherry-pick of #5915.

iOS 15 has a significant crashing bug whereby use of a canvas element
completely crashes the browser in some contexts. In particular, we have
observed this when using a WKWebView in a keyboard extension without
'Allow Full Access' switched on.

Keyman uses canvas element to draw a nice looking key preview (key tip)
on iPhones. This is a critical issue for Keyman for iPhone. Keyman for
iPad is not affected because the iPad version does not use key previews.

The resolution here is to remove use of the canvas drawing for key tips
and use a simplified pure HTML/CSS shape. I have not conditioned this
fix on platform; I have currently opted to apply this to all platforms.

This issue will be reported to Apple for resolution. The issue applies
so far to iOS 15.0, 15.1.
2021-11-16 17:30:04 +11:00
Marc Durdin
d5b337ec1c chore: remove sentry exported variables (rely on build configuration) 2021-10-05 09:27:11 +11:00
Marc Durdin
2e75ed0270 chore: additional sentry.io links 2021-10-04 15:23:44 +11:00
Darcy Wong
87b580d998 fix(common/core/web): Remove empty rows in OSK 2021-09-16 10:29:58 +07:00
Darcy Wong
592475d839
Update web/source/kmwembedded.ts
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2021-08-30 08:35:20 +07:00
Darcy Wong
e3073a4405 fix(web): Fix layers for embedded longpress keys 2021-08-27 14:44:51 +07:00
jahorton
3bcf3039aa fix(web): restores another change lost during rebase merge conflicts 2021-07-27 11:48:23 +07:00
jahorton
1730ef6315 fix(web): restores code lost due to cherrypick rebase conflicts 2021-07-27 11:46:21 +07:00
jahorton
8b9066e109 fix(web): uninitialized layer index before OSK load 2021-07-27 11:41:39 +07:00
Marc Durdin
5e1a17f142
Merge pull request #5408 from keymanapp/feat/ios/cherry-pick/spacebar-text-controls
feat(ios): add spacebar text controls 🍒 🌌
2021-07-20 15:58:46 +10:00
Marc Durdin
ccbda9cba5
Merge pull request #5407 from keymanapp/feat/android/cherry-pick/spacebar-text
feat(android): Spacebar text controls 🍒 🌌
2021-07-20 15:58:31 +10:00
Marc Durdin
255123f5c1
Merge pull request #5406 from keymanapp/feat/cherry-pick/spacebar-text
feat(web): spacebar text controls 🍒 🌌
2021-07-19 09:02:18 +10:00
Marc Durdin
80392c4440 fix(web): clone registerStub parameter 2021-07-09 15:45:21 +10:00
jahorton
897c8d5bfe fix(web): fixes osk resize-popping effect 2021-07-06 12:54:49 +07:00
Marc Durdin
93bd778753 feat(ios): add spacebar text controls 🍒
Cherry-pick of #5365.

Relates to #949.

Mirror of #5349 (Android), for iOS.

* Adds setSpacebarText() API to Keyman Engine for iOS
* Adds displayName API to Keyman Engine for iOS
* Sets default spacebar text to keyboard name for FirstVoices Keyboards
* Does not add preference UI
2021-07-01 16:38:13 +10:00
Marc Durdin
5f7a46a326 chore(web): add spacebarText manual tests 2021-07-01 15:10:04 +10:00
Marc Durdin
3e77e84278 feat(web): spacebar text controls
Relates to #949.

* Adds optional `displayName` property to keyboard stubs: if present,
  this will override the name on the spacebar.

* Adds optional `spacebarText` member to `keyman.options`. This defaults
  to `SpacebarText.LANGUAGE_KEYBOARD`, and can be one of:

  ```
  SpacebarText.LANGUAGE
  SpacebarText.KEYBOARD
  SpacebarText.LANGUAGE_KEYBOARD
  SpacebarText.BLANK
  ```

* Sets the display pattern for LANGUAGE_KEYBOARD to be
  "language - keyboard" instead of "language (keyboard)", which
  reduces the number of parentheses visible on the spacebar.
2021-07-01 15:09:33 +10:00
Darcy Wong
0505b22790 fix(web): Always pass kill_browserstack 2021-06-08 08:17:50 +07:00
Darcy Wong
99ac5c7543 chore(web): Add CI script to kill BrowserStack tunnel 2021-05-26 09:54:52 +07:00
jahorton
dc7143a4b5 docs(web): adds requested comment 2021-05-25 11:38:59 +07:00
jahorton
e8e02ad0cc fix(web): better multitouch handling 2021-05-25 11:38:58 +07:00
jahorton
ae979a9665 chore(web): removes diagnostic breadcrumbing 2021-05-25 11:38:57 +07:00
jahorton
ac69353476 fix(web): reuses OSK width calc 2021-05-17 08:05:27 +07:00
jahorton
8dff00c93d fix(web): popup key positioning logic 2021-05-17 08:05:27 +07:00
Marc Durdin
c8f779b08c
Merge pull request #4983 from keymanapp/cherrypick/web/4961-banner-init
fix(web): Make banner initialization more robust 🍒
2021-04-26 20:21:30 +10:00
Darcy Wong
b8716a21a7 fix(web): Make banner initialization more robust 2021-04-26 15:23:57 +07:00
Marc Durdin
387259523d chore: disable findTouchAliasElement logging 2021-04-26 17:39:28 +10:00
Joshua Horton
607f44d385
Merge pull request #4958 from keymanapp/fix/web/cherry/embedded-smp-after-kbd-swap
fix(web, ios): better SMP, emoji handling with frequent keyboard swaps 🍒
2021-04-22 13:27:35 +07:00
Marc Durdin
c8f67b3754
Merge pull request #4957 from keymanapp/fix/web/cherry-pick/publish-restorePosition
fix(web): publish restorePosition() function 🍒
2021-04-22 16:14:43 +10:00
jahorton
1ebfe28abd change(web): removes now-redundant SMP enablements 2021-04-22 11:54:16 +07:00
jahorton
11826f94aa change(web): SMP processing now always enabled 2021-04-22 11:54:16 +07:00
jahorton
8709f442e2 change(web): SMP enablement always on in embedded mode 2021-04-22 11:54:15 +07:00
Joshua Horton
624d6be461
Merge pull request #4955 from keymanapp/fix/web/cherry/subkey-suggestion
fix(web): fixes subkey lookup for fat-finger processing 🍒
2021-04-22 11:52:46 +07:00
Marc Durdin
ff9cdd7376 fix(web): move function 2021-04-22 14:44:40 +10:00
Marc Durdin
ecb760780e fix(web): reset dfltX and dfltY in restorePosition
Fixes #4948.

This resets `keyman.osk.dfltX` and `keyman.osk.dfltY` in the
`restorePosition()` function, except when the user clicks the pin (or
`true` passed in for `keepDefaultPosition` parameter). It also moves the
grungy `window.event` hack out of the function and into a private
handler specifically for the pin div `onclick`.

I didn't want to reset `dfltX` and `dfltY` when the user clicks on the
pin, because that is a change in behaviour.
2021-04-22 14:44:39 +10:00
Marc Durdin
5ed38180da Update web/source/osk/oskManager.ts
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2021-04-22 14:44:38 +10:00
Marc Durdin
ffdf71f6ed fix(web): publish restorePosition() function
This makes the `osk.restorePosition()` function public and makes it work
even if the OSK is not presently visible. Also DRY out the repeated
implementation.
2021-04-22 14:44:37 +10:00
jahorton
7a90ced6cf fix(web): fixes subkey lookup for fat-finger processing 2021-04-22 11:40:40 +07:00
jahorton
af78fe077b change(web): null guards for findTouchAliasTarget uses 2021-04-21 09:09:03 +07:00
jahorton
a4419fc7c1 docs(web): adjusts comments according to PR review 2021-04-20 14:57:25 +07:00
jahorton
2c03725efd change(web): only check for touch-aliases if touchable 2021-04-20 14:57:24 +07:00
jahorton
3ced825313 change(web): adds code to assist diagnosis of #4797 2021-04-20 14:57:24 +07:00
jahorton
c0495c08ed docs(web): better documents TouchAlias internals, scrollbar handling 2021-04-20 14:57:23 +07:00
jahorton
9439090205 fix(common/models): fixes overly zealous thresholding near word starts 2021-03-23 09:13:02 +07:00
jahorton
4a96254cbc fix(web): allows refresh of currently-loaded model 2021-03-19 11:40:58 +07:00
jahorton
6298bb27f6 fix(web): first-pass workaround for popup-key corrections 2021-03-17 12:58:41 +07:00