Repository navigation
test(e2e): retry the iOS "Open React Native" tap and fail fast - #505
Merged
Merged
Conversation
On CI the XCUITest tap on "Open React Native" is sometimes delivered but the NavigationLink doesn't push. The test then re-enabled Detox synchronization in a finally block, and that call never returned: DetoxSync keeps the app busy on "React Native (bundle load)" until RN content appears. The test hung until the 720s Jest timeout. Retry the tap (up to 3 attempts within the existing timeout, only while the button is still visible) and only re-enable synchronization once RN is visible. Refs callstack#498
KisaneNeko
marked this pull request as ready for review
October 19, 2026 11:46
KisaneNeko
added a commit
to KisaneNeko/react-native-brownfield
that referenced
this pull request
Oct 19, 2026
hurali97
approved these changes
Oct 20, 2026
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.
Refs #498
Problem
iOS E2E tests (Expo 57, Expo 58 and Vanilla) sometimes hang for 12 minutes. In all 4 failed runs I checked, the XCUITest tap on "Open React Native" reached the app but the
NavigationLinkdidn't push. The test then calleddevice.enableSynchronization(), which never returned, because DetoxSync keeps the app busy on "React Native (bundle load)" until RN content appears.Change
appleAppDetoxUtils.cjs(openReactNative): retry the tap up to 3 times within the existing timeout (10 s per attempt for Vanilla, 20 s for Expo). It only re-taps while the button is still visible, and the log says which case it was (re-tappingorbutton gone, still waiting).appleAppDetoxUtils.cjs(openReactNative): re-enable synchronization only after RN is visible. If RN never shows up, the test fails after about a minute instead of hanging until the 720 s Jest timeout.Verified
re-tappingand passed (5/5 and 3/3).Not covered
Why the tap gets lost. The 4 lost taps were the slowest ones (55 to 106 s while the XCUITest runner started), but the logs don't show the cause.