Repository navigation
Touch/Mouse Input Will Not Leak To Child Components of ScrollView After Focus is in TextInput (Since 0.62) #5867
Description
Activity
- ghost addedNeeds: Triage 🔍New issue that needs to be reviewed by the issue management team (label applied by bot)New issue that needs to be reviewed by the issue management team (label applied by bot)
on Aug 28, 2020 NickGerleman commented
on Aug 28, 2020 ContributorAuthorMore actionsConfirmed the regression started with ae37f8e which was the upgrade to 0.62.
In the above case, the ScrollView sees onResponderGrant instead of the TouchableHighlight. The responder state machine is controlled by upstream JS in RN, depending on touchStart, touchEnd, and seemingly some other factors. Confirmed that in the repro case, we still correctly send touchStart from native using the react tag for TouchableHighlight instead of the ScrollView.
NickGerleman commented
on Aug 28, 2020 ContributorAuthorMore actionsScrollResponder has some logic to take precedent over nested views if their is a TextInput focused and keyboardPersistTaps is undefined or never https://github.com/facebook/react-native/blob/0.62-stable/Libraries/Components/ScrollResponder.js#L153-L243 This is what's triggering the logic. Debugging to figure out why we weren't hitting it before.
NickGerleman commented
on Aug 28, 2020 ContributorAuthorMore actionsWe saw the behavior change because the 0.62 merge fixed the implementation of
TextInputState.currentlyFocusedField(), which triggers upstream logic around it that only really makes sense on phones. We should change this to only eat input in the case where a soft-keyboard is up, since that's the intent.- changed the title
[-]Clicks Will Sometimes Get Eaten After Selecting a TextInput Since 0.62[/-][+]Touch/Mouse Input Will Not Leak To Child Components of ScrollView After Focus is in TextInput (Since 0.62)[/+]on Aug 28, 2020 - added a commit that references this issue
on Aug 28, 2020 - added and removedNeeds: Triage 🔍New issue that needs to be reviewed by the issue management team (label applied by bot)New issue that needs to be reviewed by the issue management team (label applied by bot)
on Aug 31, 2020 - added a commit that references this issue
on Aug 31, 2020 18 remaining items
NickGerleman commented
on Nov 8, 2020 ContributorAuthorMore actionsRemoving "Partner: Office" since Stellar is no longer effected, but Garrison + Stream are both effected. Garrison has a workaround they're happy with, and there wasn't concern of a delayed upstream release. Stream still validating the workaround.
NickGerleman commented
on Nov 12, 2020 ContributorAuthorMore actionsFacebook also impacted, and Stream was having some issues getting the workaround applied.
Going back to the stance of us potentially wanting to be a bit aggressive and bring this back to 0.63, since this seems to be impacting many teams.
- addedNeeds: Triage 🔍New issue that needs to be reviewed by the issue management team (label applied by bot)New issue that needs to be reviewed by the issue management team (label applied by bot)
on Nov 12, 2020 - removedNeeds: Triage 🔍New issue that needs to be reviewed by the issue management team (label applied by bot)New issue that needs to be reviewed by the issue management team (label applied by bot)
on Nov 16, 2020 Fix is in PR to RN core, pretty bad UX; waiting to bake the fix in FB before backporting to 0.63
rectified95 commented
on Nov 16, 2020 ContributorMore actionsAdding link to PR referenced above: react/react-native#30374
- added a commit that references this issue
on Dec 7, 2020
From @KAnder425