spiegel-keyman/web/source
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
..
dom docs(web): adds requested comment 2021-05-25 11:38:59 +07:00
fonts Move KMBM variable out of KV member in keyboards to match compiler behaviour 2017-10-20 10:42:54 +07:00
keyboards fix(web): clone registerStub parameter 2021-07-09 15:45:21 +10:00
osk fix(web): remove canvas use for iOS compatibility 🍒 2021-11-16 17:30:04 +11:00
resources fix(web): remove canvas use for iOS compatibility 🍒 2021-11-16 17:30:04 +11:00
text fix(web): allows refresh of currently-loaded model 2021-03-19 11:40:58 +07:00
utils change(web/engine): splits off the core/web/keyboard-processor module 2020-04-24 13:45:04 +07:00
.editorconfig Start adding banner module 2019-03-14 15:42:38 +07:00
build.sh chore: remove sentry exported variables (rely on build configuration) 2021-10-05 09:27:11 +11:00
build_dev_resources.sh change(web): better recorder build management 2020-05-01 08:06:12 +07:00
build_kill_browserstack.sh fix(web): Always pass kill_browserstack 2021-06-08 08:17:50 +07:00
keymanweb.ts change(web): SMP processing now always enabled 2021-04-22 11:54:16 +07:00
kmwapi.ts fix(web/engine): final PR review fixes 2020-05-01 08:01:14 +07:00
kmwbase.ts feat(web): spacebar text controls 2021-07-01 15:09:33 +10:00
kmwdebug.js change(web/engine): kbdProcessor.core => core.keyboardProcessor 2020-04-06 13:17:32 +07:00
kmwdebugstub.js KeymanWeb 10.0 alpha (#124) 2017-07-26 07:36:58 +07:00
kmwdevice.ts fix(web): OS assignment fail-safe 2021-02-22 12:04:46 +07:00
kmwembedded.ts Update web/source/kmwembedded.ts 2021-08-30 08:35:20 +07:00
kmwexthtml.ts fix(web): Fixes #2322, updates to tsc 3.7.2 2019-11-18 12:22:43 +07:00
kmwhotkeys.ts refactor(web/engine): starts DOM pre-processor 2020-03-26 13:01:14 +07:00
kmwinit.ts KeymanWeb - versioning update for beta. 2019-01-15 08:52:43 +07:00
kmwnative.ts change(web/engine): splits off the core/web/keyboard-processor module 2020-04-24 13:45:04 +07:00
kmwreleasestub.js KeymanWeb - versioning update for beta. 2019-01-15 08:52:43 +07:00
kmwrotation.ts fix(web): Fixes #3931 - adds in-rotation null guard 2020-11-24 10:22:26 +07:00
kmwtypedefs.ts change(web/engine): splits off the core/web/keyboard-processor module 2020-04-24 13:45:04 +07:00
kmwuibutton.ts fix(web): default kbd ui name is now generic 2021-01-19 13:35:39 +07:00
kmwuifloat.ts change(web): removes unused variable 2021-01-19 14:04:55 +07:00
kmwuimanager.ts Applies namespacing to the bulk of currently-refactored KMW code. 2018-03-05 09:51:20 +07:00
kmwuitoggle.ts fix(web): default kbd ui name is now generic 2021-01-19 13:35:39 +07:00
kmwuitoolbar.ts fix(web): use language code correctly in toolbar 2021-03-08 21:39:16 +11:00
kmwutils.ts fix(web): getComputedStyle for fontSize backup 2021-01-21 10:36:00 +07:00
singleton.ts Initial reorganization of OSK code complete. Regressions exist, though. 2019-01-10 11:54:47 +07:00
tsconfig.base.json change(web): reworks source-map root 2020-03-11 08:44:43 +07:00
tsconfig.dev_resources.json refactor(web/engine): fixes DOM-web, recorder 2020-06-17 10:51:33 +07:00
tsconfig.embedded.json refactor(web/engine): fixes DOM-web, recorder 2020-06-17 10:51:33 +07:00
tsconfig.json Refactors TS compile defs, converts the UI element sources. 2017-12-15 10:19:53 +07:00
tsconfig.ui.json fix(web): fixes UI modules' compilation 2020-04-24 13:45:16 +07:00
tsconfig.web.json refactor(web/engine): fixes DOM-web, recorder 2020-06-17 10:51:33 +07:00
version.txt Move KeymanWeb project to web/ 2017-05-26 11:00:34 +07:00