Repository navigation
Commit c65fc63
Keep RNTester content clear of the iOS tab bar (#58933)
Summary:
The iOS RNTester E2E job fails on every PR. `flatlist-append-maintainvisible.yml` fails with `Element not found: Id matching regex: scroll-offset-display`. It started with #58900 (8d8b8f3).
#58900 caps the bottom content inset at 65pt when the tab bar is along the bottom (`insets.bottom = MIN(insets.bottom, LegacyBottomInset)`), but the tab bar is 83pt tall on current iPhones. The bottom 18pt of every RNTester screen sits under the tab bar. A tap there switches tabs instead of reaching the content.
That's what breaks the flow. The maintainVisibleContentPosition example pins its controls to the bottom of the screen. Its last row ("Clear (empty list)" / "Reset", y=866–882 on an iPhone 17 Pro Max) straddles the tab bar's top edge (y=873). Maestro taps "Reset" at its center, (326, 874), and that lands on the **Playground** tab. The next lookup of `scroll-offset-display` then fails because RNTester is on a different screen.
This PR changes the `MIN` to `MAX`, matching the top inset's `MAX(insets.top, LegacyTopInset)`. The bottom inset is now never smaller than the system inset, so content stays clear of the tab bar. On devices whose inset is under 65pt, it still keeps the legacy 65pt bounds that #58900 wanted.
Trade-off: on devices where the tab bar is taller than 65pt (83pt on current iPhones), examples are now 18pt shorter than #58900 intended. That's the space the tab bar covers.
## Changelog:
[INTERNAL] - Keep RNTester content clear of the iOS tab bar
Pull Request resolved: #58933
Test Plan:
On an iPhone 17 Pro Max simulator (iOS 26.5):
- With the build from `main`, ran `maestro test packages/rn-tester/.maestro/flatlist-append-maintainvisible.yml --debug-output <dir>` (Maestro 2.6.1, same as CI). It failed after `Tap on "Reset"`. The debug output shows the tap on `Reset` (bounds `[222,866][430,882]`) and the failure screenshot shows the Playground tab.
- Built RNTester Debug using the full system bottom inset and read the layout with `idb ui describe-all`. The Clear/Reset row moved from y=--sanitized--
Reviewed By: cortinico
Differential Revision: D123941583
Pulled By: cipolleschi
fbshipit-source-id: b4cbfbb763edad19fe167f0295a55064b7c6786c1 parent 2bd0106 commit c65fc63
1 file changed
Lines changed: 2 additions & 1 deletion
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
| 224 | + | |
| 225 | + | |
225 | 226 | | |
226 | 227 | | |
227 | 228 | | |
| |||
0 commit comments