sync: port upstream OpenCode, timestamps, client probe (#3608, #4112, #4132, #4134, #4006, #4137) - #171
Conversation
(cherry picked from commit da3c203)
(cherry picked from commit 765e1b5)
(cherry picked from commit 2640e6d)
Fork warm-cache seeding stays on synchronizing and must not re-persist active turns. Gate the seed persistence write with shouldPersistThread and drive the pingdotgg#4006 regression test to live via a socket snapshot. Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
|
Warning Review limit reached
Next review available in: 25 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: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (16)
✨ 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 |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (16)
📝 WalkthroughWalkthroughThe PR adds capability-driven server probing, canonicalizes orchestration timestamps, propagates OpenCode session errors through Effect, skips persistence for active threads, increases the OpenCode startup timeout, and removes two awareness helpers. ChangesConnection probe RPC
Orchestration timestamp canonicalization
OpenCode adapter error channel
Active thread snapshot persistence
OpenCode startup timeout
Agent awareness exports
Estimated code review effort: 4 (Complex) | ~45 minutes Suggested labels: Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant ClientRuntime
participant RPCSession
participant WebSocketServer
participant ServerEnvironment
ClientRuntime->>RPCSession: probe()
RPCSession->>WebSocketServer: serverProbe {}
WebSocketServer->>ServerEnvironment: authorize and handle probe
WebSocketServer-->>RPCSession: successful empty response
RPCSession-->>ClientRuntime: probe completes
✨ Finishing Touches📝 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 |
What changed
Ports upstream server/client/runtime fixes from after the Jul 18 ancestry merge:
#3608route OpenCode missing-session errors through Effect#4112canonicalize client timestamps in the orchestration normalizer#4132increase OpenCode server startup timeout (5s → 30s)#4134delete unusedagentAwarenessphase predicates#4006defer active thread cache writes#4137use lightweight connection probe (contracts + client-runtime + server)Adaptation notes
#4006adapted for fork warm-cache semantics: seeding stays onsynchronizing(notlive), so the regression test drives live via a socket snapshot. Seed persistence is also gated withshouldPersistThreadso active turns are not rewritten into cache.Validation
vp check/vp run typecheckon tip of stackStack
1 of 6. Base:
main. Next: t3-connect layer (#172).Preserves fork multi-provider runtime, usage monitoring, and orchestration reliability.
Summary by CodeRabbit
New Features
Bug Fixes