Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Fix deleting Thai vowel bug on iOS#11807

Merged
GaryQian merged 4 commits intoflutter:masterfrom
HelloCore:fix/delete-backward-special-character-again
Sep 4, 2019
Merged

Fix deleting Thai vowel bug on iOS#11807
GaryQian merged 4 commits intoflutter:masterfrom
HelloCore:fix/delete-backward-special-character-again

Conversation

@HelloCore
Copy link
Contributor

@HelloCore HelloCore commented Aug 31, 2019

It seems the issue about deleting Thai vowel appeared again, and It also happens in other languages that have combined characters as well.
flutter/flutter#39399
flutter/flutter#39169

This PR attempts to skip "string range sanitization" logic because we wanted to delete only a part of the grapheme cluster.

Result https://youtu.be/D-yLuRG7pyE
Related PR #7982

@HelloCore
Copy link
Contributor Author

CC @cbracken @GaryQian

@GaryQian
Copy link
Contributor

GaryQian commented Sep 3, 2019

Let me verify this with some more obscure languages/scripts and I'll get back to you shortly! Thanks for the PR!

@GaryQian
Copy link
Contributor

GaryQian commented Sep 4, 2019

This change LGTM, Verified it is functional with most keyboards. We don't yet have proper testing in the ios embedder, but in the future we should test for changes like this to prevent regression.

@GaryQian GaryQian merged commit 27955f2 into flutter:master Sep 4, 2019
@GaryQian
Copy link
Contributor

GaryQian commented Sep 4, 2019

Thanks a lot for your contribution! This is very important for lots of languages, and I greatly appreciate this as I am not familiar with Thai at all.

@HelloCore
Copy link
Contributor Author

Thank you for reviewing my PR.

I think the root cause of this problem was rangeOfComposedCharacterSequenceAtIndex and rangeOfComposedCharacterSequencesForRange didn't split the text based on UAX#29.

I found that there's a function minikin::GraphemeBreak::isGraphemeBreak could do this, but I couldn't find the way to import it 😥

engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Sep 5, 2019
[email protected]:flutter/engine.git/compare/e7f9ef6aa0b9...cd92039

git log e7f9ef6..cd92039 --no-merges --oneline
2019-09-04 [email protected] Handle new navigation platform messages (flutter/engine#11880)
2019-09-04 [email protected] Android 10+ View.getSystemGestureExclusionRects (flutter/engine#11451)
2019-09-04 [email protected] Fix deleting Thai vowel bug on iOS (skip string range sanitization) (flutter/engine#11807)
2019-09-04 [email protected] Roll src/third_party/dart 4bd13a74d9..c3db2e3ee0 (4 commits)
2019-09-04 [email protected] Roll src/third_party/skia c2dc9c864844..e7366841663b (2 commits) (flutter/engine#11878)
2019-09-04 [email protected] [flutter_runner] Add common libs to the test far (flutter/engine#11875)
2019-09-04 [email protected] Roll src/third_party/dart fd27e795ba..4bd13a74d9 (5 commits)
2019-09-04 [email protected] Provide dart vm initalize isolate callback so that children isolates belong to parent's isolate group. (flutter/engine#9888)
2019-09-04 [email protected] Add style guide and formatting information (flutter/engine#11669)
2019-09-04 [email protected] Roll fuchsia/sdk/core/linux-amd64 from BR_-u... to LKWtB... (flutter/engine#11874)
2019-09-04 [email protected] Roll fuchsia/sdk/core/mac-amd64 from dRCdb... to m-hNV... (flutter/engine#11873)
2019-09-04 [email protected] Roll src/third_party/skia 77743492418e..c2dc9c864844 (22 commits) (flutter/engine#11872)
2019-09-04 [email protected] Add a sample unit test target to flutter runner (flutter/engine#11847)
2019-09-04 [email protected] Support building standalone far packages with autogenerating manigests (flutter/engine#11849)
2019-09-04 [email protected] Roll src/third_party/dart 622747502e..fd27e795ba (9 commits)
2019-09-04 [email protected] Roll src/third_party/dart 54fdd559d8..622747502e (1 commits)
2019-09-04 [email protected] Roll fuchsia/sdk/core/linux-amd64 from KqidK... to BR_-u... (flutter/engine#11845)
2019-09-04 [email protected] Roll src/third_party/skia 452ce044f0db..77743492418e (12 commits) (flutter/engine#11837)
2019-09-04 [email protected] Roll fuchsia/sdk/core/mac-amd64 from -kKi5... to dRCdb... (flutter/engine#11840)
2019-09-04 [email protected] Roll src/third_party/dart 36985859e4..54fdd559d8 (65 commits)
2019-09-04 [email protected] Minor tweaks to the Doxygen theme. (flutter/engine#11576)
2019-09-04 [email protected] Updated API usage in scenario app by deleting unnecessary method. (flutter/engine#11844)
2019-09-03 [email protected] Fix RTL justification alignment with newline (flutter/engine#11842)
2019-09-03 [email protected] Rename first frame method and notify FlutterActivity when full drawn (#38714 #36796). (flutter/engine#11357)
2019-09-03 [email protected] Roll src/third_party/skia 8050d94ae227..452ce044f0db (1 commits) (flutter/engine#11834)
2019-09-03 [email protected] Roll fuchsia/sdk/core/linux-amd64 from a8wlq... to KqidK... (flutter/engine#11833)
2019-09-03 [email protected] Roll fuchsia/sdk/core/mac-amd64 from pVy4h... to -kKi5... (flutter/engine#11832)
2019-09-03 [email protected] Roll src/third_party/skia 033c4014b788..8050d94ae227 (2 commits) (flutter/engine#11831)
2019-09-03 [email protected] Roll src/third_party/skia 94c66475560d..033c4014b788 (2 commits) (flutter/engine#11830)


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants