Repository navigation
Conversation
Summary: Internal Buck builds did not link the RNTesterTabsIOS component, so React Native rendered the component as an unimplemented placeholder. Link the component and its Fabric plugin into the RNTester Apple target. Keep compact bottom-tab content aligned with the previous RNTester chrome so existing example screenshot bounds remain stable. Changelog: [Internal] Differential Revision: D123770213
|
@javache has exported this pull request. If you are a Meta employee, you can view the originating Diff in D123770213. |
|
This pull request has been merged in 8d8b8f3. |
cipolleschi
added a commit
that referenced
this pull request
Oct 7, 2026
#58900 capped the bottom content inset at 65pt for bottom tab bars, but the tab bar is 83pt tall on current iPhones. The bottom 18pt of every RNTester screen sat under the tab bar, so taps there switched tabs. flatlist-append-maintainvisible taps "Reset" at y=874 and landed on the Playground tab. Use the full bottom safe-area inset instead.
meta-codesync Bot
pushed a commit
that referenced
this pull request
Oct 7, 2026
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: b4cbfbb763edad19fe167f0295a55064b7c6786c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Internal Buck builds did not link the RNTesterTabsIOS component, so React Native rendered the component as an unimplemented placeholder. Link the component and its Fabric plugin into the RNTester Apple target.
Keep compact bottom-tab content aligned with the previous RNTester chrome so existing example screenshot bounds remain stable.
Changelog:
[Internal]
Differential Revision: D123770213