Repository navigation
[Android] Change Bundle Location dialog clips action buttons on landscape displays #59384
Description
Description
On Android devices with a short effective window height (for example, a landscape display with a high density), the Dev Menu's Change Bundle Location dialog renders its action buttons below the visible window.
The dialog content is built as a vertical LinearLayout and passed directly to AlertDialog.Builder.setView(). Because the content is not scrollable, users cannot reach Apply Changes or Cancel when the combined title, input, suggestions, instructions, and buttons exceed the available height.
The implementation in React Native 0.88.0 still has this structure:
https://github.com/react/react-native/blob/v0.88.0/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt
Expected behavior: all actions remain reachable; overflowing content scrolls or otherwise adapts to the available height.
Actual behavior: Apply Changes is reduced to a 19 px-high clipped region with no visible label, Cancel is completely absent, and vertical swipes do not reveal either action.
Steps to reproduce
- Create and run an unmodified React Native 0.88.0 application in the Android Debug build.
- Use an Android device in landscape with a 1920 x 1080 physical display and 408 dpi density. The reproduced window had an effective application area of 1920 x 958 and approximately 351 dp of available height after system insets.
- Open the React Native Dev Menu.
- Select Change Bundle Location.
- Observe that the instructions consume the remaining vertical space. Apply Changes has only a clipped 19 px-high region with no visible label, and Cancel is completely outside the visible window.
- Swipe up inside the dialog. The hierarchy reports every container as
scrollable=false; repeated swipes leave the hierarchy unchanged, so the actions remain unreachable.
React Native Version
0.88.0
Affected Platforms
Runtime - Android, Build - MacOS
Output of npx @react-native-community/cli info
System:
OS: macOS 26.3
CPU: (10) arm64 Apple M5
Binaries:
Node: 24.18.0
Yarn: 1.22.22
npm: 11.16.0
Watchman: 2026.07.13.00
Managers:
CocoaPods: 1.17.0
IDEs:
Android Studio: 2026.1 AI-261.25134.95.2612.15822958
Xcode: 26.6/17F113
Languages:
Java: 17.0.19
Ruby: 2.7.8
npmPackages:
@react-native-community/cli: 20.2.0
react: 19.3.0
react-native: 0.88.0
Android:
hermesEnabled: true
newArchEnabled: true
Paths and unrelated SDK inventory were omitted; versions are unchanged from the CLI result.
Stacktrace or Logs
No crash or stack trace is produced. This is a layout/accessibility failure in the Android DevSupport dialog.
Device configuration:
Android 11 (API 30)
Physical display: 1920 x 1080
Density: 408 dpi
Orientation: landscape
Application area: 1920 x 958
Effective configuration: approximately 752 dp x 351 dp
UIAutomator reports every container as scrollable=false. Two consecutive upward swipes produced byte-for-byte identical hierarchy XML.
MANDATORY Reproducer
https://github.com/react-native-community/reproducer-react-native
Screenshots and Videos
Reproduced in an unmodified stock React Native 0.88.0 application. The attached screenshot was captured with the dev server fixed to localhost so it contains no private network address.

Activity
react-native-bot commentedon Oct 23, 2026
Warning
Missing reproducer: We could not detect a reproducible example in your issue report. Reproducers are mandatory and we can accept only one of those as a valid reproducer:
You can read more about about it on our website: How to report a bug.