Quick back gestures can cause screens to get stuck in a bad state on iOS
Description
https://github.com/user-attachments/assets/19dcec91-5b45-4f19-a29b-22cf4868cb7d
It's hard to see exactly what is happening here because doesn't show my touches, sorry!
I navigate from Screen A to B by pressing the button. Then I go from B to C (modal). Then I go back from that, in one of two ways:
- The first time, I do it by dismissing the modal with the X button. This works well.
- The second time, I swipe down the modal and immediately after releasing that gesture I start swiping the back gesture to go back from the underlying stack. When I do this, you'll notice that the header transitions to Screen A as expected, but the screen contents are stuck on screen B and non-interactable. You are now stuck here. This happens in both debug and release builds. I have trouble reproducing it in a simulator because you cannot swipe easily, so you should use a physical device.
Steps to reproduce
Steps provided in the description above!
Snack or a link to a repository
https://github.com/brentvatne/screens-new-arch-repro
Screens version
4.0.0-beta.14
React Native version
0.76.0
Platforms
iOS
JavaScript runtime
Hermes
Workflow
Expo bare workflow
Architecture
Fabric (New Architecture)
Build type
Debug mode
Device
Real device
Device model
iPhone 13 mini
Acknowledgements
Yes
I'm experiencing the same issue but for opposite reasons: clicking back button breaks the animation, gestures work just fine. This is on stable 4.0. Old architecture.
https://github.com/user-attachments/assets/fca978f4-b46a-45da-98b9-ad3754be5400
Hey guys, how are you?
Do we have an update on this? I'm experiencing the same issue, if the user opens and closes the modal too fast the app crashes.
https://github.com/user-attachments/assets/97d4c8f4-a2a5-4537-83fb-168128dca092