fix(server): bound live sideband websocket frames - #1398
Conversation
Supersedes lidge-jun#1381. Rebased onto latest dev. - Apply 50 MiB WebSocket frame ceiling to both directions - Cap pending client frames at 32 frames and 1 MiB total - Raise macOS CI test timeout for 50 MiB frame relay test
|
✅ 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: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughLive sideband WebSocket handling now enforces a 50 MiB frame limit and a 1 MiB pending-queue byte limit. It tracks queued bytes, resets accounting across lifecycle transitions, closes oversized connections with code 1009, and adds boundary-focused tests. ChangesLive sideband WebSocket bounds
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant Client
participant LiveSideband as Live sideband relay
participant Upstream
Client->>LiveSideband: Send WebSocket frame
LiveSideband->>LiveSideband: Check frame size
LiveSideband->>Upstream: Forward or queue frame
Upstream-->>LiveSideband: Send upstream frame
LiveSideband->>LiveSideband: Check frame size
LiveSideband-->>Client: Forward valid frame
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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 |
The A-phase audit of WP7 found the unit still described a train that had stopped. Corrections: - 011 records the re-pick to 9c05134 and voids the omission risk acceptance: #1398, #1396, and #1010 are all ancestors of the new RC, so nothing is being left out. Old-RC gate evidence is explicitly not reused. - 012 states that the reviewed tree and the released tree differ only by 012 itself, proves 0de4fd2 is a real ancestor, and marks the owner decision packet resolved rather than pending. - 010 names the concrete clean main worktree and drops the stale out-of-scope line about #1398. Also withholds the file path of SEC-03, which is still unfixed. Naming the file of an open finding is the disclosure the rest of the record avoids; the audit that reviewed these docs missed it.
Supersedes #1381 (branch was accidentally reset during rebase).
Summary by CodeRabbit