Skip to content

fix: harden iOS alert smoke scenario - #1767

Merged
thymikee merged 3 commits into
mainfrom
agent/harden-ios-alert-smoke
Aug 12, 2026
Merged

fix: harden iOS alert smoke scenario#1767
thymikee merged 3 commits into
mainfrom
agent/harden-ios-alert-smoke

Conversation

@thymikee

Copy link
Copy Markdown
Member

Summary

Harden the fixture-backed iOS simulator alert smoke scenario against UI timing races.

The scenario now waits for the alert trigger to be visible after scrolling, waits for an app-visible opened canary after the click, defers native alert presentation by one frame, and gives XCTest a bounded 10-second alert wait.

Root cause

The failed job reported a successful click, but XCTest never observed the native alert during the 5-second query window. The preceding UI was not independently synchronized with the React Native state transition, making this a timing-sensitive failure.

Validation

  • pnpm format
  • pnpm typecheck
  • pnpm exec oxlint examples/test-app/src/screens/AutomationLabScreen.tsx test/integration/ios-simulator-e2e/live-automation-scenario.ts
  • node --experimental-strip-types --test test/integration/smoke-ios-simulator-coverage.test.ts (14/14)
  • Expo test-app typecheck was not run locally because its isolated dependencies were unavailable and npm registry access failed.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
JS raw 2.18 MB 2.18 MB +18 B
JS gzip 713.3 kB 713.3 kB +13 B
npm tarball 839.3 kB 839.4 kB +12 B
npm unpacked 2.92 MB 2.92 MB +44 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 26.3 ms 26.6 ms +0.3 ms
CLI --help 64.5 ms 64.9 ms +0.4 ms

Top changed chunks:

Chunk Raw diff Gzip diff
dist/src/internal/daemon.js +38 B +19 B
dist/src/session.js -36 B -14 B

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Aug 12, 2026
@thymikee

thymikee commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

Exact-head review at 93a95bf0: the fixture/smoke hardening is coherent and no code finding remains. The scenario now proves trigger visibility, proves the click reached React state, then waits for the native alert with a bounded deadline; all code, integration, and Android/iOS/macOS/Linux smoke lanes are green. The lone red native-fingerprint job failed because the trusted-artifact lookup returned fetch failed, an infrastructure failure unrelated to this two-file test-app delta. Rerun that job; apply ready-for-human once the exact head is fully green.

@thymikee thymikee added ready-for-human Valid work that needs human implementation, judgment, or maintainer merge and removed ready-for-human Valid work that needs human implementation, judgment, or maintainer merge labels Aug 12, 2026
@thymikee
thymikee marked this pull request as ready for review August 12, 2026 10:54
@thymikee
thymikee merged commit 07d5280 into main Aug 12, 2026
27 of 28 checks passed
@thymikee
thymikee deleted the agent/harden-ios-alert-smoke branch August 12, 2026 10:54
@github-actions

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-08-12 10:54 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant