-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix iOS text selection crash by returning nil range #55909
base: main
Are you sure you want to change the base?
Fix iOS text selection crash by returning nil range #55909
Conversation
cc @justinmc |
@chinmaygarde Thanks for that bump. Is there a chance at getting this in the review queue soon? This assertion is one of our most common crashes. Simply deselecting the text on some touches (this PR) is preferable to tossing the whole app session out. If there's desire to fix the upstream range finding, that makes sense, but we'd love to save that for focused follow-on where there's a test battery. |
@hellohuanlin can you take a look? My concern is that this regresses #16496 and b/149077991, in which case we need a different solution. |
Honest question: is a regression possible? Sessions that currently crash will simply now continue, allowing VO/non-VO users to retry input strategies. #16496 stopped a crash when using VoiceOver in a provided sample app. That sample does not crash now. Thanks for analyzing this and getting it in the queue! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honest question: is a regression possible?
Should be safe since it's removing NSAssert
@hellohuanlin NSAsserts are on in release mode in Flutter flutter/flutter#157837 (cbracken mentioned he wanted to fix that) |
shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm
Outdated
Show resolved
Hide resolved
Any progress with this one? Customers aren't very happy with crashes |
275c59f
to
a3d596a
Compare
CI failure is only on mac_android_aot_engine. I don't get a retry option, so I'll push a commit to trigger again. |
Reverts a runtime crashing assertion introduced by #16496. Defensively favors returning a nil text selection range rather than crash. See issue #138464 for crash reports and reproduction recordings.
Without this revert, to avoid a crash hit in a minority of user interactions with a text field, we must degrade experiences for all users by disabling useful iOS text field behaviors (see #138464 for workarounds).
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.
Fix iOS text selection crash by returning nil range