Repository navigation
fix(live): disarm sideband connect watchdog on the pre-opened path - #4496
Conversation
Since 321b9b1 the upgrade handler pre-opens the sideband upstream and hands it to attachLiveSidebandUpstream already OPEN. attach arms the 10s liveConnectTimer whenever liveMaxSessionMs is set, but the only non-teardown clear site is the upstream "open" listener, which can never fire for a socket that opened before the client existed. Every dictation and live-call session was therefore force-closed with "audio connection timed out" exactly ten seconds after attach. Disarm the watchdog on the successful takeover path, mirroring the open listener, and cover it with a regression test. Found by the 2.53.0 release regression audit (parallel commit audit). Local suite NOT RUN per maintainer rule; hosted exact-head CI is the gate.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe pre-opened upstream path now clears the connect watchdog during attachment. The session timer remains active. A server test verifies both timer states and the admission release on close. ChangesLive sideband watchdog
Priority: ➖ Normal Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The fix prevents valid sessions from timing out after 10 seconds while preserving the overall session limit; no merge-blocking risk is established. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4b0a62b215
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (ws.data.liveConnectTimer !== undefined) clearTimeout(ws.data.liveConnectTimer); | ||
| ws.data.liveConnectTimer = undefined; |
There was a problem hiding this comment.
Update the mapped structure contract for the timer change
This changes the live-sideband timer semantics in src/server/index.ts without updating any of the structure documents mapped to src/server/; in particular, structure/runtime.md#live-sideband-handshake owns this handshake contract but does not record that a successful pre-opened takeover disarms the connect watchdog while retaining session expiry. Update the mapped structure documents in this same change so the maintained contract reflects the runtime behavior.
AGENTS.md reference: src/AGENTS.md:L11-L11
Useful? React with 👍 / 👎.
|
Maintainer integration record (MAINTAINERS.md dev exception): integrating as repository owner without a second maintainer approval. No outstanding maintainer change requests. Exact-head verification: all required checks green on head 4b0a62b (ci aggregator pass, gates/hygiene/enforce-target/docker smoke/api usage pass; windows/macos-control skipped by changes-gate design; CodeRabbit completed with comments reviewed — no correctness findings). Local suite NOT RUN per task rule; hosted exact-head CI is the gate. This fix unblocks the 2.53.0 promotion (release-audit P1). |
Product tree is dev at eb81eaa, byte-identical (dev already carries the 2.53.0 version line). This promotion follows a 364-commit regression audit (origin/main..981b53e) by 15 parallel subagent lanes plus two audit-spawned fixes reviewed and merged to dev: lidge-jun#4496 (live sideband connect watchdog) and lidge-jun#4497 (chat image part shapes). Zero unresolved P0/P1 at promotion time. Exact-head hosted CI green on eb81eaa (run 34750934849). Local suite NOT RUN per task rule; hosted exact-head CI is the gate.
…deband-connect-timer fix(live): disarm sideband connect watchdog on the pre-opened path
Summary
Verification
Checklist
Summary by CodeRabbit
Bug Fixes
Tests