[WRONG BRANCH] fix(claude): preserve pre-output keepalives - #247
Conversation
|
Warning Review limit reached
Next review available in: 41 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Comment |
|
✅ Deterministic PR hygiene checks passed. |
⏳ DRAFT
What to do
Its title has been prefixed with |
Motivation
message_startuntil semantic output but unintentionally suppressed keepalive pings during the upstream pre-semantic silence, causing idle downstream connections to drop behind LBs/NATs.message_startbefore an initial error.Description
pingframes regardless ofstartedby removing the!startedgate in the interval callback and updating the comment to clarify transport-only semantics.response.heartbeatframes as transportpingframes even before Anthropic framing starts so upstream heartbeats keep the downstream connection alive.tests/claude-outbound.test.ts:idle keepalive pings flow before semantic output during upstream silenceandupstream heartbeats remain transport-only before an initial errorto cover the pre-semantic idle and pre-error heartbeat behaviors.Testing
bun test tests/claude-outbound.test.tsand the targeted file's tests passed (40 passed, 0 failed).bun run typecheck(bun x tsc --noEmit) which completed successfully.bun run test; the full suite encountered unrelated, environment-dependent failures (e.g. combo-management timeouts and a few Docker/lab-specific expectations) that are outside the scope of this focused fix.Codex Task