keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
398 stars 112 forks source link

bug(developer): `TypeError: this.keyboardRequisitioner is undefined` #11363

Open sentry-io[bot] opened 6 months ago

sentry-io[bot] commented 6 months ago

Sentry Issue: KEYMAN-DEVELOPER-1X8

TypeError: this.keyboardRequisitioner is undefined
  at KeymanEngine.getKeyboards (@keymanapp/keyman/web/src/app/browser/src/keymanEngine.ts:475:19)
  at buildKeyboardList (/test.js:175:26)
  at window.onload (/test.js:203:3)
mcdurdin commented 6 months ago

This looks like a race -- Keyman Developer test host is calling KeymanWeb functions in window.onload which may be before KeymanWeb.init() is ready. Needs further investigation, but probably need to refactor to make these calls when the promise returned from init() resolves.

TypeError: this.keyboardRequisitioner is undefined at KeymanEngine.getKeyboards (@keymanapp/keyman/web/src/app/browser/src/keymanEngine.ts:475:19) at buildKeyboardList (/test.js:175:26) at window.onload (/test.js:203:3)