Skip to content

Conversation

zeyap
Copy link
Contributor

@zeyap zeyap commented Oct 1, 2025

Summary:

Changelog:

[Android] [Changed] - Defer to responder system to terminate on scroll

when FeatureFlag responderTerminateOnScrollAndroid is turned on

on ios, we don't dispatch TouchCancel at scroll to terminate scrollview's children, instead, responder system handles responder termination when it receives onScroll event

Currently, TouchCancel native event at scroll will stop any ongoing touch events dispatched from native, and will unexpectedly terminate responder even if responder has transferred from child of scrollView to parent view, because of race condition. Fixing this will require revisiting a large part of the native touch system on android.

Differential Revision: D83584281

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 1, 2025
@facebook-github-bot
Copy link
Contributor

@zeyap has exported this pull request. If you are a Meta employee, you can view the originating Diff in D83584281.

1 similar comment
Copy link

meta-codesync bot commented Oct 9, 2025

@zeyap has exported this pull request. If you are a Meta employee, you can view the originating Diff in D83584281.

Summary:

## Changelog:

[Android] [Changed] - Defer to responder system to terminate on scroll

when FeatureFlag responderTerminateOnScrollAndroid is turned on

on ios, we don't dispatch TouchCancel at scroll to terminate scrollview's children, instead, responder system handles responder termination when it receives onScroll event

Currently, TouchCancel native event at scroll will stop any ongoing touch events dispatched from native, and will unexpectedly terminate responder even if responder has transferred from child of scrollView to parent view, because of race condition. Fixing this will require revisiting a large part of the native touch system on android.

Reviewed By: sammy-SC

Differential Revision: D83584281
@zeyap zeyap force-pushed the export-D83584281 branch 2 times, most recently from 80fd199 to 7e5d03a Compare October 9, 2025 15:36
zeyap added a commit to zeyap/react-native that referenced this pull request Oct 9, 2025
Summary:

## Changelog:

[Android] [Changed] - Defer to responder system to terminate on scroll

when FeatureFlag responderTerminateOnScrollAndroid is turned on

on ios, we don't dispatch TouchCancel at scroll to terminate scrollview's children, instead, responder system handles responder termination when it receives onScroll event

Currently, TouchCancel native event at scroll will stop any ongoing touch events dispatched from native, and will unexpectedly terminate responder even if responder has transferred from child of scrollView to parent view, because of race condition. Fixing this will require revisiting a large part of the native touch system on android.

Reviewed By: sammy-SC

Differential Revision: D83584281
@meta-codesync meta-codesync bot closed this in 1e1af62 Oct 9, 2025
@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Oct 9, 2025
Copy link

meta-codesync bot commented Oct 9, 2025

This pull request has been merged in 1e1af62.

@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @zeyap in 1e1af62

When will my fix make it into a release? | How to file a pick request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants