Commit graph

1864 commits

Author SHA1 Message Date
Marc Durdin
35c5a34126
Update web/source/osk/browser/keytip.ts 2021-11-17 09:14:21 +11:00
Marc Durdin
c9474ceae8 fix(web): remove canvas use for iOS compatibility
Fixes #5831.

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 16:51:34 +11:00
Marc Durdin
fc8d1b3e72 fix(web): avoid error if timerid not valid
Relates to #5904.

If a call to api.keyman.com takes longer than 10 seconds, the timerid
would no longer be valid, even if the call returns successfully. This
threw a cascade of errors.

There was a secondary issue where keymanweb.com was passing in an
invalid timerid, causing the same error cascade. This is fixed in
keymanapp/keymanweb.com#38.
2021-11-15 11:17:59 +11:00
Marc Durdin
a25b9cd8eb
Merge pull request #5894 from keymanapp/feat/developer/2858-u_xxxx_yyyy
feat(developer): support for U_xxxx_yyyy
2021-11-14 15:47:55 +11:00
Marc Durdin
66be206d96 feat(developer): support for U_xxxx_yyyy 2021-11-11 13:08:39 +11:00
Darcy Wong
9136933c9e fix(web): Check parent element is defined before assigning 2021-11-02 11:22:08 +07:00
Marc Durdin
024a36da9f
Merge pull request #5787 from keymanapp/chore/sentry-io
chore: sentry.io dsn 👮‍♂️
2021-10-06 07:32:43 +11:00
Marc Durdin
dbd9787a7a
Merge branch 'master' into fix/web/popup-positioning 2021-10-05 17:41:49 +11:00
Marc Durdin
0cf4a3c512
Merge pull request #5723 from keymanapp/feat/developer/touch-layout-testing
feat(developer): touch layout testing 🎩
2021-10-05 17:40:26 +11:00
Marc Durdin
ba93a07060 chore: remove sentry exported variables (rely on build configuration) 2021-10-05 09:26:52 +11:00
Marc Durdin
f55f3fec1e chore: additional sentry.io links 2021-10-04 15:08:28 +11:00
Joshua Horton
c008d16654
Merge pull request #5739 from keymanapp/feat/web/mouse-based-banner
feat(web): enables mouse interactivity for the predictive banner 🧵
2021-09-23 10:57:13 +07:00
Joshua Horton
5f4656f2b9
Merge pull request #5665 from keymanapp/feat/web/inlined-osk
feat(web): new OSK type - the inlined OSK 🧵
2021-09-23 10:56:56 +07:00
jahorton
31ac1b7c1b chore(web): replaces literals with constants 2021-09-23 09:27:09 +07:00
jahorton
3363963f11 docs(web): addresses comment-style per review 2021-09-23 09:16:34 +07:00
jahorton
ddccb64d96 docs(web): removes old, unused (commented) code 2021-09-23 08:10:28 +07:00
Joshua Horton
b726ddac41
Merge pull request #5661 from keymanapp/refactor/web/osk-activation-and-visibility
refactor(web): osk activation and visibility modeling ✂️
2021-09-23 08:07:17 +07:00
Marc Durdin
c760fb7464 fix(web): popup positioning
Fixes three issues:

* longpress positioning for inlined OSK views where not all elements
  may be in the offset hierarchy; impacts particularly where an inlined
  OSK may be within a flex-box.

* Tweaks position of keytip, to take into account the offsetTop of the
  key element.

* Inverts test for display of longpress callout, matching Keyman 14.
2021-09-23 08:18:57 +10:00
jahorton
06bae02e2a fix(web): null guard on touchMenuPos 2021-09-22 13:35:58 +07:00
jahorton
f53df318dc feat(web): functional banner mouse interactions 2021-09-22 12:37:33 +07:00
jahorton
26d00d6c9f refactor(web): second inputEventEngine pass - new config obj 2021-09-22 12:37:32 +07:00
jahorton
be98d8718a fix(web): banner's touch-move when not embedded 2021-09-22 12:37:32 +07:00
jahorton
e87a277be8 refactor(web): first pass generalization for inputEventEngine 2021-09-22 12:37:31 +07:00
jahorton
595984c813 fix(web): desktop sil_euro_latin patchup 2021-09-22 09:20:09 +07:00
jahorton
14c2c08954 change(web): key use of innerText over innerHTML 2021-09-22 08:54:52 +07:00
jahorton
202377e79b fix(web): should not use _Box.style.maxWidth 2021-09-22 08:52:19 +07:00
Darcy Wong
6240d305b4 fix(web): Check keyboard before marking layout calibrated 2021-09-22 11:02:53 +10:00
jahorton
354e852130 feat(web): inlined OSK - target device hotswap 2021-09-21 14:04:10 +07:00
jahorton
c7ba56c23a feat(web): input alignment on layout refresh 2021-09-21 13:44:29 +07:00
jahorton
0640b60e3e chore(web): Merge branch 'refactor/web/osk-activation-and-visibility' into feat/web/inlined-osk 2021-09-21 12:51:29 +07:00
jahorton
ebd673fdb2 fix(web): osk dismissal after focus timer 2021-09-21 12:19:11 +07:00
jahorton
d687c9e1c3 fix(web): workaround for unwanted CJK pinning 2021-09-21 10:37:08 +07:00
jahorton
09f4aed77e chore(web): Merge branch 'refactor/web/active-element-integrations' into refactor/web/osk-activation-and-visibility 2021-09-21 09:59:46 +07:00
jahorton
a6289f4f0f fix(web): detaches base-page touch handlers on shutdown 2021-09-21 09:55:11 +07:00
jahorton
b452092765 refactor(web): base page touch-handlers 2021-09-21 09:43:34 +07:00
jahorton
a1516d194d fix(web): focus-timer preserves activation on Android 2021-09-21 09:23:11 +07:00
jahorton
0956fb62a7 docs(web): adds comment about prior commit's fix 2021-09-20 15:48:18 +07:00
jahorton
da8e83090a fix(web): touch-based unit test issues 2021-09-20 15:46:59 +07:00
jahorton
48fe02023c fix(web): fixes unit test issue (event's 'buttons' property) 2021-09-20 14:39:27 +07:00
jahorton
f7dc8e1140 chore(web): Merge branch 'refactor/web/osk-activation-and-visibility' into feat/web/inlined-osk 2021-09-17 15:26:03 +07:00
jahorton
3f48ae7e99 fix(web): more polish, fixes pinned position management 2021-09-17 15:15:53 +07:00
jahorton
09de360789 fix(web): missed bits of last commit, adds some polish 2021-09-17 15:02:43 +07:00
jahorton
8826bec8fe fix(web): incorporates some review suggestions 2021-09-17 14:58:18 +07:00
jahorton
ffc381fcb6 chore(web): Merge branch 'refactor/web/active-element-integrations' into refactor/web/osk-activation-and-visibility 2021-09-17 08:38:49 +07:00
jahorton
f95f732297 chore(web): Merge branch 'refactor/web/specialized-osk-views' into refactor/web/active-element-integrations 2021-09-16 14:52:45 +07:00
jahorton
c15fe2015e chore(web): Merge branch 'refactor/web/osk-view-abstraction' into refactor/web/specialized-osk-views 2021-09-16 10:03:19 +07:00
jahorton
ae0786a109 chore(web): Merge branch 'master' into refactor/web/osk-view-abstraction 2021-09-16 09:57:15 +07:00
Joshua Horton
f2e07e8add
Merge pull request #5619 from keymanapp/refactor/web/osk-view-components
refactor(web): OSK modularization - view components, layout cleanup ✂️
2021-09-16 09:56:08 +07:00
jahorton
430b636b22 fix(web): independent keyboard & touch-focus management 2021-09-15 10:28:58 +07:00
jahorton
bae7df03f3 fix(web): embedded popup + hardware keys 2021-09-15 09:17:38 +07:00