Revert "test(ios): Chief tests wait on the change, not a wall clock (#28337)"

Closed
TE
6d ago
+17-103

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 CmuxMobileChiefTests target 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.failedHomeLoadRetriesTheFeedOnTheExistingLink
    • MacHomeFeedTests.aFailedOpenIsTriedAgain
    • ChiefOutboxTargetTests.aSendTheMacNeverConfirmedSurvivesTheLinkDropping
    • ChiefEngineRecoveryTests.tryAgainSendsTheMessageTheFailedTurnAnswered(kind:)

    One of them shows a CancellationError thrown from #28337's new eventually wait 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 Autofix with [code]smith
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.