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
fix(iOS, Stack v4): crash on modal dismiss gesture with Pressable (#3133)
## Description
Removes manual gesture cancel for modal dismiss on Fabric.
Fixessoftware-mansion/react-native-screens-labs#360.
The logic for cancelling gesture when modal will be dismissed has been
added in
#1485.
On iOS 26 + Fabric, this code causes a crash (gesture update comes after
resetting `_activeTouches` array, inconsistency is detected).
The logic seems redundant now as the case described in the comment works
without it on Fabric. I suspect this might've been patched in [this
commit in
`react-native`](facebook/react-native@379d9d4).
On Paper, it is still necesssary. During testing, I noticed another bug
- you can "catch" another pressable during animation. This however
happens only on Paper.
| Paper | Fabric |
| --- | --- |
| <video
src="https://github.com/user-attachments/assets/a29d7a59-74b1-4ae8-8250-36bb1fafd362"
/> | <video
src="https://github.com/user-attachments/assets/b264caaa-91ff-433e-8618-6d946b6370ce"
/>
There are more places where we force the reset but I don't think that
removing them all now is a good idea. We can go one-by-one, when any
problems emerge.
## Changes
- remove `presentationControllerWillDismiss` override on Fabric
## Screenshots / GIFs
| before | after |
| --- | --- |
| <video
src="https://github.com/user-attachments/assets/bb6ad158-04af-4ca2-a0c7-4cd2fae86de9"
/> | <video
src="https://github.com/user-attachments/assets/aefadd8e-6106-43b5-bf8f-dfd8a148c617"
/> |
## Test code and steps to reproduce
Run `Test3111` (that PR hasn't been merged at the moment) or `Test780`
## Checklist
- [x] Included code example that can be used to test this change
- [x] Ensured that CI passes
0 commit comments