fix(update): tolerate late proxy readiness - #737
Conversation
📝 WalkthroughWalkthroughThe restart health timeout increases to 30 seconds, polling now performs a deadline-accurate final probe, and GUI update tests cover both deadline-boundary recovery and delayed replacement proxy acceptance without redundant restarts. ChangesRestart health handling
Estimated code review effort: 2 (Simple) | ~10 minutes Sequence Diagram(s)sequenceDiagram
participant awaitRestartedProxyHealthy
participant probeProxy
participant sleepMs
awaitRestartedProxyHealthy->>probeProxy: Probe proxy health
probeProxy-->>awaitRestartedProxyHealthy: Return health status
awaitRestartedProxyHealthy->>sleepMs: Sleep for bounded remaining interval
sleepMs-->>awaitRestartedProxyHealthy: Reach deadline
awaitRestartedProxyHealthy->>probeProxy: Run final deadline probe
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Merged into Verified locally on the merged tree:
The honest limit, which your own doc comment already records: a replacement arriving later than 30s is still reported as a restart failure. This narrows the false-positive window rather than removing it, and the worst case now takes 30s arrival plus a 15s stability window before success is declared. That tradeoff is the right one for an update path where a wrong "restart failed" costs the user more than a slower confirmation. Closing as merged. Issue #720 is closed with the same evidence. |
⏳ DRAFT
What to do
Review readiness checklist
0/4 boxes ticked. Automatic draft conversion failed. Please convert this pull request to a draft manually until every box above is ticked. |
Summary
This stays intentionally narrower than #533/#557: it does not change process recovery, port reclamation, or restart ownership, and both current PR heads still retain the 15-second arrival loop.
Fixes #720
Verification
bun test tests/update-job.test.ts(34 passed)bun x tsc --noEmitbun scripts/privacy-scan.tsgit diff --checkdevslices continued making progress and completed, confirming a harness cutoff rather than a deadlock. The separate 5-secondcli-restore-backtest budget found during diagnosis is already covered by open security: harden post-merge service and management boundaries #707. Cross-platform CI still requires repository approval for this PR.Checklist
Summary by CodeRabbit
Bug Fixes
Tests
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
All CI tests are green on my local testing.
I pushed my PR to the latest dev commit.
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.