Skip to content

test(e2e): EXPERIMENT simulate lost iOS taps for #505 (do not merge) - #506

Closed
KisaneNeko wants to merge 5 commits into
callstack:mainfrom
KisaneNeko:experiment/ios-e2e-retry-fault-injection
Closed

KisaneNeko wants to merge 5 commits into
callstack:mainfrom
KisaneNeko:experiment/ios-e2e-retry-fault-injection

Conversation

@KisaneNeko

Copy link
Copy Markdown
Contributor

Refs #505

Experiment, do not merge. I'll close it once CI has run.

Problem

#505's retry and fail-fast paths only run when the tap is lost, which is rare, so a normal CI run doesn't exercise them.

Change

  • appleAppDetoxUtils.cjs: when E2E_SIMULATE_LOST_TAP is set, skip the tap (first: only on attempt 1, all: on every attempt).
  • appleapp-road-test/action.yml: Expo 57 runs with all, Vanilla and Expo 58 with first.

Expected: Vanilla and Expo 58 log re-tapping and pass. Expo 57 fails each test after ~60 s instead of hanging for 12 min.

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

Copy link
Copy Markdown
Contributor Author

Experiment done, results are in #505.

@KisaneNeko KisaneNeko closed this Oct 19, 2026
@KisaneNeko
KisaneNeko deleted the experiment/ios-e2e-retry-fault-injection branch October 19, 2026 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant