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.
Something is horribly wrong here.
We've had various reports from users that a
<TextInput>
will drop user input. Then we got #2344 reported, which gave us two lucky breaks:With the repro I massively struggled to figure out the cause of this. Here are all of the bizarre behaviors:
onChange
fires and the value is updated and the correct string is passed into the<TextInput>
.<CharCounter>
wasn't updating either.I tested a variety of possible causes. I pulled out everything to do with BottomSheet. I removed all properties on the
<TextInput>
. I turned off autocomplete, autocorrect, etc. I also googled this aggressively and tried a variety of known hackfixes. None of this had any effect.The
<CharCounter>
failing to update despite the value changing was the final clue. That led me to do 569ce38 which simply sets akey
on any component in the render tree, and bizarrely that fixed both of the problems.What this suggests to me is that somehow the render is failing to make its way through the react/react-native pipeline. I have absolutely no idea how that could be happening.
UPDATE
My god. I kept digging after this and discovered that running a
setInterval
in the header of a profile would show similar characteristics -- the UI would just stop updating -- but in the header of the home screen this didn't happen. Then I noticed that scrolling down a little bit in the profile fix this problem entirely.Turns out, the
@react-native-community/blur
<BlurView>
being used for the background of the back button was to blame. As soon as that was out of view, everything worked fine.I need a drink.