This repository was archived by the owner on Feb 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6k
iOS Text Editing Infinite Loop #20160
Merged
justinmc
merged 22 commits into
flutter:master
from
justinmc:ios-range-overflow-infinite-loop
Oct 2, 2020
Merged
Changes from 15 commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
2a27aa1
Turn -1s into 0s instead of letting them overflow and cause weird res…
justinmc 9ab67dd
For invalid selection, set it to nil instead of zero
justinmc 65a27d8
Avoid bugs where a range is expected by setting range to 0,0 instead …
justinmc c9baf78
Avoid race condition by debouncing editing calls to framework
justinmc 145fa27
Test that calls are batched
justinmc 5de9e67
Clean up logging and comments
justinmc a979911
WIP Trying to fix tests
justinmc f6b9ea8
Merge branch 'master' into ios-range-overflow-infinite-loop
justinmc 58b0e55
Merge branch 'master' into ios-range-overflow-infinite-loop
justinmc 2e1b0b5
Merge branch 'master' into ios-range-overflow-infinite-loop
justinmc 87d2119
Merge branch 'master' into ios-range-overflow-infinite-loop
justinmc ea19ac2
fix testUITextInputCallsUpdateEditingStateOnce
justinmc da16787
Existing tests pass by waiting for debounced calls.
justinmc 3928860
Test batching
justinmc 44c766a
Clean up
justinmc 9949623
release _latestState
justinmc 43ae4eb
Merge branch 'master' into ios-range-overflow-infinite-loop
justinmc a87230b
Dont send an ack back to the framework for text changes. The reason w…
justinmc 255efbb
Test that the client isn't updated with its own text changes
justinmc bca94b6
Update return type in test
justinmc c36382c
Also test selection and composing changes
justinmc 5c01b17
Merge branch 'master' into ios-range-overflow-infinite-loop
justinmc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
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.
We reuse
FlutterTextInputViewso the cache needs to be erased every time the connection changes/resets. Also this needs to be properly deallocated I think.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.
Alright got the deallocation in 9949623. For erasing the state each time the connection changes, would that just be in resetAllClientIds?
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.
FlutterTextInputView.setClientIdI think?