You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As discovered during user-testing of #10589, properties of the iOS textDocumentProxy interface, its asynchronous management of the active, jumping context window, and of Swift's handling of String data all come together to cause some nasty unwanted effects in certain scenarios.
While the exact cut-off point where the internal 'context window' jumps may vary from iOS device to device, the following repro should exhibit the problem pretty simply:
Find a keyboard that can emit exposed, free-standing diacritics or combining marks. For example, my diacritic_rota keyboard used for testing the implementation of gestures.
Press ENTER, then type a diacritic.
(optional) Deactivate the Keyman keyboard - you can do this next part with the actual iOS system keyboard!
Press Backspace.
One of two things will happen (assuming the context-window bit is properly set up):
The application and keyboard will instantly crash:
RPReplay_Final1709196283.MP4
The ENTER key's newline will also be deleted.
Note - this is with Keyman fully deactivated! Naturally, the same things happen when Keyman is active, likely for the same reasons.
Part of me wonders if it's possible to work around by tracking the context manually on the iOS side and undoing the newline's deletion by use of our tracked data. It's only an idea, though, and it's likely too big a project to tackle during the beta cycle.
The text was updated successfully, but these errors were encountered:
As discovered during user-testing of #10589, properties of the iOS
textDocumentProxy
interface, its asynchronous management of the active, jumping context window, and of Swift's handling ofString
data all come together to cause some nasty unwanted effects in certain scenarios.While the exact cut-off point where the internal 'context window' jumps may vary from iOS device to device, the following repro should exhibit the problem pretty simply:
One of two things will happen (assuming the context-window bit is properly set up):
RPReplay_Final1709196283.MP4
Note - this is with Keyman fully deactivated! Naturally, the same things happen when Keyman is active, likely for the same reasons.
For some other thoughts on this, #10589 (comment)
Part of me wonders if it's possible to work around by tracking the context manually on the iOS side and undoing the newline's deletion by use of our tracked data. It's only an idea, though, and it's likely too big a project to tackle during the beta cycle.
The text was updated successfully, but these errors were encountered: