Issue when displaying a modal after dismissing another modal
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
Description
Before RN 0.76.5, on iOS it was possible to show a modal and after dismissing it, showing another one.
Now, when doing the exact same thing on the old architecture the second modal is not showing up.
https://github.com/facebook/react-native/issues/47694
https://github.com/facebook/react-native/issues/48245
https://github.com/facebook/react-native/issues/48559
The error is not happening on new architecture
Steps to reproduce
- Create two different modals
- Show the first one by clicking on a button
- Then, create a button that will dismiss the first modal and display the second one
- The second one won't show up
React Native Version
0.76.5
Affected Platforms
Runtime - iOS
Output of npx react-native info
System:
OS: macOS 15.2
CPU: (10) arm64 Apple M1 Max
Memory: 482.95 MB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.12.0
path: ~/.nvm/versions/node/v22.12.0/bin/node
Yarn: Not Found
npm:
version: 8.19.4
path: ~/code/yonitou/hygo/node_modules/.bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.11.2
path: /Users/yonitouboul/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.2
- iOS 18.2
- macOS 15.2
- tvOS 18.2
- visionOS 2.2
- watchOS 11.2
Android SDK: Not Found
IDEs:
Android Studio: 2024.1 AI-241.18034.62.2411.12071903
Xcode:
version: 16.2/16C5032a
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.1
path: /usr/bin/javac
Ruby:
version: 2.7.4
path: /Users/yonitouboul/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
### Stacktrace or Logs
```text
No errors logs
Reproducer
https://github.com/yonitou/modal-bug
Screenshots and Videos
When I click on the button "Close modal", it should dismiss the red one and show the blue one but the blue one never shows.
You will notice that if enabling new architecture, the problem disappears
https://github.com/user-attachments/assets/72aca692-d90d-40f7-b500-ef574ae26658
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the linked yonitou/modal-bug reproducer with the old and new architectures, following the two-modal dismissal steps. Then trace the React Native iOS modal presentation and dismissal lifecycle to identify where the second modal is lost. Done means the second modal appears after dismissing the first on iOS with the old architecture, without regressing the new architecture.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, react-native
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100