Description (This bug report was written primarily with AI)
Some valid words are not selected correctly by the T9 prediction system, even when they exist in both:
- the dictionary/library
priority_words.txt
Example:
returns:
instead of:
This issue occurs using the default bundled trie/library and default priority_words.txt included with the project. No custom dictionary is required to reproduce it.
Expected Behavior
Typing:
should prioritize and return:
since "is" exists in the default dictionary and priority words list.
Actual Behavior
The prediction system returns:
instead.
Suspected Cause
This appears related to trie serialization/search behavior for words that are both:
- complete words
- prefixes of longer words
Example:
is also a prefix for words like:
The issue may be somewhere in how trie node state is encoded/decoded between the Kotlin trie builder and the CircuitPython runtime search logic.
Description (This bug report was written primarily with AI)
Some valid words are not selected correctly by the T9 prediction system, even when they exist in both:
priority_words.txtExample:
returns:
instead of:
This issue occurs using the default bundled trie/library and default
priority_words.txtincluded with the project. No custom dictionary is required to reproduce it.Expected Behavior
Typing:
should prioritize and return:
since
"is"exists in the default dictionary and priority words list.Actual Behavior
The prediction system returns:
instead.
Suspected Cause
This appears related to trie serialization/search behavior for words that are both:
Example:
is also a prefix for words like:
The issue may be somewhere in how trie node state is encoded/decoded between the Kotlin trie builder and the CircuitPython runtime search logic.