keymanapp / keyman

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

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

Open sentry-io[bot] opened 1 week ago

sentry-io[bot] commented 1 week 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 1 week 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)