Handle special case for Vietnamese input on iOS to prevent accidental deletion of embedded objects #2580
+45
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
*On iOS, we need to handle a special case where user input modifies a previous word. For example, in Vietnamese keyboard with the Telex input method,the word "dinh" becomes "đinh" when the user types "d". iOS handles this by deleting several characters from the end of the word to the beginning (plus one extra character) and then re-inserting the updated characters.
The issue arises when the word is adjacent to an embedded object (e.g., an embedded block). iOS may accidentally remove the embedded object character (\uFFFC) during this replacement process. To prevent this, we should skip updating the text value if the change affects the starting character and is next to an embedded block.*
Related Issues
Embedded block is deleted after input a special Vietnamese character#2578.
Type of Change
Fixed demo