Revert "test(ios): Chief tests wait on the change, not a wall clock (#28337)"
Reverts #28337 (squash commit a7a51e04d587fa25ff35175dee1fec45865e44ee). This is the restore-base rule: the fix-forward #28586 missed its roughly one-hour window and has a red of its own.
Why:
-
At the #28337 merge, the full
CmuxMobileChiefTeststarget failed 1 of 5 runs (step 1b6fc19c):MacHomeFeedTests.theWatchdogEndsAWaitWhateverTheTick, MacHomeTests.swift:179, a wall-clock bound in a test #28337 added. It is not a crash. -
The fix-forward #28586 (head 563b97c6) then had its own red in full-kit run 7970c7d9. Four Chief tests timed out:
HomeRetryTests.failedHomeLoadRetriesTheFeedOnTheExistingLinkMacHomeFeedTests.aFailedOpenIsTriedAgainChiefOutboxTargetTests.aSendTheMacNeverConfirmedSurvivesTheLinkDroppingChiefEngineRecoveryTests.tryAgainSendsTheMessageTheFailedTurnAnswered(kind:)
One of them shows a
CancellationErrorthrown from #28337's neweventuallywait at ChiefTests.swift:369. None of them failed in 4 full-kit runs at base fe16df3f.
The diff is the exact inverse of #28337: only ChiefTests.swift and MacHomeTests.swift, set back to their blobs at 901c7698. Neither file changed on feat-cmux-next since the merge.
The eventually/timeout redesign comes back in a new PR, held until the full kit is clean under load.
Agent session: agent session
š¤ Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Reverts #28337, which made Chief tests wait on state changes instead of a wall clock. The merged change made the full CmuxMobileChiefTests target fail 1 of 5 runs, and the fix-forward #28586 had its own four timeouts traced to the new eventually wait.
Restores the previous polling wait in ChiefTests.swift and MacHomeTests.swift, removes the Observation-based wake-up tests, and reinstates the exact .delivered delivery expectation. The change-based wait redesign returns in a new PR once the full kit is stable under load.