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. |
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 fork PR.Checklist
Summary by CodeRabbit
Bug Fixes
Tests