keymanapp / keymanapp/keyman

feat(web): predictive-text multi-character transform modeling enhancements

Open
#4,611 0 comments 0 reactions 0 assignees View on GitHub
feat web/ web/predictive-text/
Dominant language
Pascal
Stars
534
Forks
143
Avg merge
2d 10h
Merged PRs (30d)
113

Description

**Is your feature request related to a problem? Please describe.**
When #3730 was 'fixed' with #4206, it was through a set of practical mitigations that were achievable within the timeframe of 14.0. They actually seem to work surprisingly well, at least for English-like languages. (Yes, that issue talks mostly about backspaces, but it was also where we first noted the multi-character transform problem.)

On a theoretical level, they're... well... less than ideal. When used with keyboards that perform heavy context-manipulation, it's quite possible for the actual resulting character count to strongly differ from the number of input transforms. When that difference becomes too great, predictive text will fail to provide suggestions.

**Describe the solution you'd like**
Refer to the contents of [The Correction-Search Algorithm hybrid design/spec document](https://docs.google.com/document/d/1qc_eMJ4D2QkDSod7VoA4hHDzAem3gjeO5JIx0DL36zc/edit#heading=h.4a4progfhfe1). In particular, the linked section, which details the desired solution.

**Describe alternatives you've considered**
#4206 was exactly this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.