[iOS] Hidden initial character is breaking `nul` rules
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
**Describe the bug**
In the iOS app (in-app or system keyboard), there's often a hidden character at the start of context when it's first entered... which would seem to be a regression to the issue noted by https://github.com/keymanapp/keyman/issues/1212#issuecomment-488539671.
That, or this may be the result of a similar situation being triggered by iOS 13 'paste' operations. The original fix for the previous link avoids the issue when initializing within a new input field, but it's quite likely that it didn't account for paste ops re-inserting the character. Some investigation is required to determine if this is the actual situation occurring, though.
**To Reproduce**
Steps to reproduce the behavior:
Please reference the original reproduction mentioned within #2261. Note that said repro involves copying and pasting a specific string, which may be related.
A pre-compiled version of that test .kmn code is available in a comment located further down the page for #2261.
When performed naively, you should expect to see the text `ರ್y`, as the rule will fail to trigger due to the hidden character.
**Expected behavior**
Since that hidden character shouldn't be considered by the Keyman Engine (it's likely a Unicode byte-order mark), it shouldn't be considered as part of the context. We'd expect to see `ರ್ಯ` result instead.
---
**iPhone/iPad/Android (please complete the following information):**
- Device: any
- OS: iOS 13.2
- Keyman version 13.0.22
- Target application: any (in-app or system keyboard)
Contributor guide
Assessment
This issue has not been assessed yet.