Skip to content

fix(e2e): stabilize flaky iOS AppleApp Detox tests#428

Merged
artus9033 merged 7 commits into
mainfrom
fix/ios-e2e-test
Jul 16, 2026
Merged

fix(e2e): stabilize flaky iOS AppleApp Detox tests#428
artus9033 merged 7 commits into
mainfrom
fix/ios-e2e-test

Conversation

@cinekkilarski

@cinekkilarski cinekkilarski commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Vanilla: fix a flaky test caused by an RN home layout issue.
  • Expo 55/56: raise the Detox timeout for slow CI cold launches.
  • Detox sync: handle sync manually for the RN screen inside the native host.

Test plan

  • CI Passes

@cinekkilarski cinekkilarski changed the title WIP fix(e2e): defer detox synchronization during iOS cold start WIP fix(e2e): stabilize flaky iOS AppleApp Detox tests Jul 16, 2026
@cinekkilarski cinekkilarski changed the title WIP fix(e2e): stabilize flaky iOS AppleApp Detox tests fix(e2e): stabilize flaky iOS AppleApp Detox tests Jul 16, 2026
@artus9033 artus9033 requested review from Copilot and hurali97 July 16, 2026 15:31
@artus9033 artus9033 self-requested a review July 16, 2026 15:31
@artus9033 artus9033 marked this pull request as ready for review July 16, 2026 15:31

@artus9033 artus9033 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solid work, thanks!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to stabilize flaky iOS Detox E2E tests for the AppleApp brownfield host by adjusting RN layout behavior on the Home screen, tuning Detox timing budgets, and taking more explicit control over Detox synchronization during embedded RN/Expo readiness checks.

Changes:

  • Adjust RNApp Home screen layout styles to avoid flaky/unstable rendering of the message section/list.
  • Add an option to keep Detox synchronization disabled after launch, and use manual sync handling during AppleApp readiness waits.
  • Increase shared E2E timing budgets to better tolerate slow CI cold starts.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
apps/RNApp/src/HomeScreen.tsx Tweaks flex layout for the message section/list to stabilize visibility/layout.
apps/brownfield-example-shared-tests/e2e/detoxUtils.cjs Adds enableSync option to app launch helper and keeps sync enabling conditional.
apps/brownfield-example-shared-tests/e2e/detoxTiming.cjs Raises shared timeouts used by Detox/Jest configuration.
apps/brownfield-example-shared-tests/e2e/appleAppExpoBrownfield.e2e.js Launches AppleApp with sync initially disabled for embedded Expo readiness.
apps/brownfield-example-shared-tests/e2e/appleAppDetoxUtils.cjs Disables sync during AppleApp readiness waits and adjusts readiness polling behavior.
apps/brownfield-example-shared-tests/e2e/appleAppBrownfield.e2e.js Launches AppleApp with sync initially disabled for embedded RN (Vanilla) readiness.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 287 to 292
messageSection: {
flex: 1,
minHeight: 0,
flexGrow: 1,
flexBasis: 'auto',
width: '100%',
marginTop: 12,
},
* fails because Detox is not connected to the app yet.
*/
async function launchBrownfieldAppForDetox({ newInstance = true } = {}) {
async function launchBrownfieldAppForDetox({
Comment on lines +231 to +232
60_000
);

/** Timeout for the entire E2E test suite (detox + Jest + Maestro). */
TEST_TIMEOUT_MS: 300_000,
TEST_TIMEOUT_MS: 720_000,
@artus9033 artus9033 merged commit 4e0bdbe into main Jul 16, 2026
27 checks passed
@artus9033 artus9033 deleted the fix/ios-e2e-test branch July 16, 2026 15:35
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.

3 participants