Skip to content

[visual testing] open-example: Send the visual deep link once on iOS - #59994

Merged
cortinico merged 1 commit into
mainfrom
robhogan/visual-ios-single-link
Nov 13, 2026
Merged

cortinico merged 1 commit into
mainfrom
robhogan/visual-ios-single-link

Conversation

@robhogan

Copy link
Copy Markdown
Collaborator

#59518 sends each visual example's deep link twice, so a slow Android emulator can't drop it before RNTester's JS Linking listener is registered. On iOS though, each link raises an "Open in RNTester?" dialog and we only accept one. The second dialog makes border fail its first attempt in every iOS capture job, leaving RNTester on the Border example, which button/default-styling/default then captures - eg #59888 (comment).

This sends the second link on Android only.

Changelog: [Internal]

Test plan:
On a freshly erased iOS simulator, a single link opened the example cleanly 4/4 times, where two links reproduced the stale capture. This PR's own Test All run exercises the flows on CI - border should pass first time on iOS and button/default-styling/default should match the baseline.

#59518 sends each visual example's deep link twice, so a slow Android emulator can't drop it before RNTester's JS Linking listener is registered. On iOS, each link raises an "Open in RNTester?" dialog and only one is accepted, so `border` fails its first attempt in every iOS capture job and leaves RNTester on the Border example. `button/default-styling/default` then captures that screen, which fails the iOS visual check on unrelated PRs. The second link is now sent on Android only.

Changelog: [Internal]
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Nov 13, 2026
@cortinico
cortinico enabled auto-merge (squash) November 13, 2026 13:39
@facebook-github-tools facebook-github-tools Bot added the Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. label Nov 13, 2026
@robhogan robhogan changed the title Send the visual deep link once on iOS [visual testing] Send the visual deep link once on iOS Nov 13, 2026
@cortinico
cortinico merged commit 16424c2 into main Nov 13, 2026
76 checks passed
@robhogan robhogan changed the title [visual testing] Send the visual deep link once on iOS [visual testing] open-example: Send the visual deep link once on iOS Nov 13, 2026
robhogan added a commit that referenced this pull request Nov 14, 2026
On iOS, a single deep link can be dropped when it arrives before RNTester's JS Linking listener is registered, and a relaunch can restore the previous example instead, which has the same `example-container`. Since #59994 sent the link only once on iOS, 17 of 25 iOS capture jobs had a flow fail its first attempt this way. `open-example.yml` now takes the ID of an element only that example has, and relaunches and links again until it's visible, up to 3 times, so a missed link costs one relaunch rather than a whole flow retry. This drops the fixed 15-second wait between two links.

Changelog: [Internal]
robhogan added a commit that referenced this pull request Nov 14, 2026
RNTester ignores a deep link until its JS has rendered, but `open-example.yml` only waited for animations to end, which happens about 1.4s after relaunch, before RNTester takes links (about 2.7s). Since #59994 sent the link once on iOS, 17 of 25 iOS capture jobs had a flow fail its first attempt this way. The helper now waits for the "Components" tab label, which RNTester's tab bar shows on every screen, then links once. It also takes the ID of an element only that example has, and relaunches and links again until it's visible, up to 3 times, since a relaunch can restore the previous example, which has the same `example-container`.

Changelog: [Internal]
usama-liaqat pushed a commit to usama-liaqat/react-native that referenced this pull request Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants