Description
Description
When opening the Modal by settings its visibility to true the modal's children are rendered in the top left corner for the first few frames before the children snap to the correct position.
The issue appeared after upgrading our project to the newest version of react-native with newArch enabled. The issue was not present when testing the same project under the older version from which we were updating which was react-native: 0.73.3.
Steps to reproduce
- Open the provided expo snack
- Select "Android" (the issue is not visible in the web version)
- Click the "SHOW MODAL" button
- The red box with the text is rendered in the top left corner for the first few frames, after that it is rerendered in the correct position (the center of the screen)
Since Expo Snack tends to be a bit laggy and shown to the user at a lower FPS on Android, the issue might not be immediately noticeable—it could take a few tries to see the problem properly. I've also included a video from my physical device where the issue is clearly visible.
React Native Version
0.78.2
Affected Platforms
Runtime - Android
Output of npx @react-native-community/cli info
System:
OS: Linux 6.11 Fedora Linux 39 (Workstation Edition)
CPU: (12) x64 AMD Ryzen 5 7535U with Radeon Graphics
Memory: 4.17 GB / 13.33 GB
Shell:
version: 5.2.26
path: /bin/bash
Binaries:
Node:
version: 22.14.0
path: ~/.nvm/versions/node/v22.14.0/bin/node
Yarn:
version: 1.22.22
path: /usr/bin/yarn
npm:
version: 10.9.2
path: ~/.nvm/versions/node/v22.14.0/bin/npm
Watchman:
version: 20231008.002904.0
path: /usr/local/bin/watchman
SDKs:
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Languages:
Java:
version: 17.0.9
path: /home/pavelroj/.sdkman/candidates/java/current/bin/javac
Ruby: Not Found
npmPackages:
"@react-native-community/cli":
installed: 15.0.1
wanted: 15.0.1
react:
installed: 19.0.0
wanted: 19.0.0
react-native:
installed: 0.78.2
wanted: 0.78.2
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: false
Stacktrace or Logs
No logs are needed since the issue doesn't cause a crash.
Reproducer
https://snack.expo.dev/@pavelroj/rn-modal-flicker-bug?platform=android
Screenshots and Videos
The issue reproduced on a physical device