You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[useResponderEvents] A move onto a sibling of the responder never asks their parent #2916
A parent PanResponder is never asked to take a mouse drag that goes from one child responder onto a sibling child responder. A drag that stays on the first child does ask it.
It only happens when the parent is the outermost view with responder props.
Expected behavior
The parent is asked, as when the drag stays on the first child.
Steps to reproduce
react-native-web 0.21.4, Chrome.
<View{...panResponder.panHandlers}><ViewonStartShouldSetResponder={()=>true}/>{/* A */}<ViewonStartShouldSetResponder={()=>true}/>{/* B */}</View>
Press on A, drag onto B: onMoveShouldSetPanResponder is never called.
getLowestCommonAncestor (useResponderEvents/utils.js) reads the first pair twice (pathA[indexA++]), so it never compares the last one. Here the last one is the only common ancestor, so it returns null and nobody is asked:
Activity
zoontek commentedon Oct 20, 2026
@Pduhard Do you have a video / repro to show the issue?
Pduhard commentedon Oct 20, 2026
@zoontek sure !
Screencast.from.2026-10-20.11-36-42.mp4
and you can run it here https://stackblitz.com/github/Pduhard/repro-rnw-responder-lca?startScript=dev
Repro fixed: parent took the gesture over A, so a hand drag hid the bug. Now it takes only drags longer than A. Logs name the view under the pointer
Steps: press middle of A, drag slowly past B
parent asked … over A,over parent, neverover B. Parent never gets the gesturenpm run fix && npx vite --force, reload, drag again.over Blines, thenparent granted