keymanapp / keymanapp/keyman

bug(web): `TypeError: Cannot read properties of undefined (reading 'insert')` in `TransformUtils.isEmpty`

Open
#16,585 1 comment 0 reactions 0 assignees View on GitHub
bug web/
Dominant language
Pascal
Stars
534
Forks
143
Avg merge
2d 10h
Merged PRs (30d)
113

Description

This appears to be related to whitespace issues in the ait.mnw.mon model.

Captured when I pressed spacebar. This is on an internal local build, but does not appear to be related to my changes on the local build. Not reported to Sentry -- perhaps because it's in the worker?

```
worker-thread-ait.mnw.mon.model.js:1895 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'insert')
at TransformUtils.isEmpty (worker-thread-ait.mn…on.model.js:1895:24)
at ContextTokenization.mapWhitespacedTokenization (worker-thread-ait.mn…n.model.js:4607:107)
at precomputeTransitions (worker-thread-ait.mn…on.model.js:5234:55)
at ContextState.analyzeTransition (worker-thread-ait.mn…on.model.js:5551:71)
at determineContextTransition (worker-thread-ait.mn…on.model.js:5703:37)
at worker-thread-ait.mn…on.model.js:5790:26
at Generator.next ()
at worker-thread-ait.mnw.mon.model.js:46:63
at new Promise ()
at __async (worker-thread-ait.mnw.mon.model.js:30:12)
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the error by pressing the spacebar with the ait.mnw.mon model and inspect the worker stack at TransformUtils.isEmpty, ContextTokenization.mapWhitespacedTokenization, and precomputeTransitions. Trace why the value used by isEmpty is undefined; done means the transition completes without the reported TypeError.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.