Repository navigation
Stabilize Apple simulator test runs - #276
Conversation
|
Important Review skippedNo new commits to review since the last review. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughSummary
Validation
WalkthroughThe changes isolate attachment eviction notifications with dependency injection and update mailbox adapter tests to create windows from connected scenes. The shared Xcode scheme disables test parallelization. ChangesTest isolation and scene-aware fixtures
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
@codex review |
|
To use Codex here, create a Codex account and connect to github. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
UIWindowSceneRoot cause
Parallel execution launched several complete app-hosted Simulator clones. Once one test process crashed or stalled, SpringBoard and RunningBoard denied later app launches as busy. Three independent test-fixture problems amplified that failure cascade: an eviction notification escaped into the next test iteration, a generation-gate test entered the real credential service before reaching its intended rendezvous, and detached UIKit windows never produced SwiftUI row lifecycle callbacks.
Impact
The documented local Apple test command now follows the stable serial behavior already used by CI. Runtime attachment notifications still use
NotificationCenter.default; the injected center is an internal test seam.Validation
mise exec -- zsh scripts/check-apple-lint.zshmise exec -- xcodebuild test -project apps/unwired-mail/unwired-mail.xcodeproj -scheme unwired-mail -destination 'platform=iOS Simulator,name=iPhone 17'— 1,450 passed, 0 failedgit diff --checkNo documentation or changeset is required because the documented command and product behavior are unchanged.
Related to #275.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.