fix: increase OpenCode server startup timeout from 5s to 30s#4132
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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 |
ApprovabilityVerdict: Approved Simple timeout constant increase (5s → 30s) with no logic changes. The unresolved review comment references incorrect values and appears stale. This is a low-risk configuration tweak. You can customize Macroscope's approvability policy. Learn more. |
Raw Node.js benchmarks on this machine show opencode serve takes 16-20s under load to reach the 'listening' state. The previous 15s timeout was not enough headroom.
pingdotgg#4112, pingdotgg#4132, pingdotgg#4134, pingdotgg#4006, pingdotgg#4137) (#171) * [codex] Route OpenCode missing-session errors through Effect (pingdotgg#3608) Co-authored-by: Codex <codex@openai.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> (cherry picked from commit d0b9f8d) * [codex] canonicalize client timestamps (pingdotgg#4112) (cherry picked from commit da3c203) * fix: increase OpenCode server startup timeout from 5s to 30s (pingdotgg#4132) (cherry picked from commit 398140a) * fix(shared): delete unused agentAwareness phase predicates (pingdotgg#4134) (cherry picked from commit e8ff6bc) * perf(client): defer active thread cache writes (pingdotgg#4006) (cherry picked from commit 765e1b5) * fix(client): use lightweight connection probe (pingdotgg#4137) (cherry picked from commit 2640e6d) * fix(client): adapt deferred thread cache tests for fork warm-cache 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> --------- Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Co-authored-by: Codex <codex@openai.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Maxwell Young <maxtheyoung@gmail.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: Kriday Dave <technocratix902@gmail.com> Co-authored-by: Chris Michael Guzman <67719167+Chrrxs@users.noreply.github.com> Co-authored-by: eeinarsson <128746408+eeinarsson@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
…ingdotgg#3749, pingdotgg#4159) (#172) * [codex] Route OpenCode missing-session errors through Effect (pingdotgg#3608) Co-authored-by: Codex <codex@openai.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> (cherry picked from commit d0b9f8d) * [codex] canonicalize client timestamps (pingdotgg#4112) (cherry picked from commit da3c203) * fix: increase OpenCode server startup timeout from 5s to 30s (pingdotgg#4132) (cherry picked from commit 398140a) * fix(shared): delete unused agentAwareness phase predicates (pingdotgg#4134) (cherry picked from commit e8ff6bc) * perf(client): defer active thread cache writes (pingdotgg#4006) (cherry picked from commit 765e1b5) * fix(client): use lightweight connection probe (pingdotgg#4137) (cherry picked from commit 2640e6d) * fix(client): adapt deferred thread cache tests for fork warm-cache 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> * feat(web): themed sidebar header art for nightly and dev builds (pingdotgg#4130) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Julius Marminge <jmarminge@gmail.com> (cherry picked from commit 53e3c98) * feat: add headless `t3 connect` setup for SSH hosts (pingdotgg#3749) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 7a820ab) * Refine T3 Connect authorization surfaces (pingdotgg#4159) Co-authored-by: codex <codex@users.noreply.github.com> (cherry picked from commit 2b180a2) --------- Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Co-authored-by: Codex <codex@openai.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Maxwell Young <maxtheyoung@gmail.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: Kriday Dave <technocratix902@gmail.com> Co-authored-by: Chris Michael Guzman <67719167+Chrrxs@users.noreply.github.com> Co-authored-by: eeinarsson <128746408+eeinarsson@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com> Co-authored-by: maria <maria@kuuro.net> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <jmarminge@gmail.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: codex <codex@users.noreply.github.com>
What Changed
Bumped OpenCode server startup timeout from 5s to 30s (DEFAULT_OPENCODE_SERVER_TIMEOUT_MS in opencodeRuntime.ts).
Why
OpenCode server startup time is highly variable under system load. Raw child_process.spawn benchmarks on a Windows machine showed:
Under normal conditions opencode serve starts in ~5-7s, but during T3 Code startup, when git operations, port discovery, provider refresh, and diagnostics queries all compete for resources, startup routinely exceeds 15s. The previous 15s timeout still caused Timed out waiting for OpenCode server start errors.
30s provides sufficient headroom for worst-case startup without meaningfully delaying failure detection (the process will exit with an error long before 30s if something is truly broken).
Checklist
Note
Low Risk
Single default constant change for startup polling only; no auth, data, or API behavior changes.
Overview
Raises the default wait for the OpenCode serve process to print
opencode server listeningfrom 5s to 30s viaDEFAULT_OPENCODE_SERVER_TIMEOUT_MSinopencodeRuntime.ts. Callers can still override withtimeoutMsonstartOpenCodeServerProcess/connectToOpenCodeServer.This targets false Timed out waiting for OpenCode server start failures when startup is slowed by concurrent T3 Code work (git, port discovery, provider refresh, etc.), where cold starts can exceed the old limit.
Reviewed by Cursor Bugbot for commit 4afa23f. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Increase OpenCode server startup timeout from 5s to 30s
Raises
DEFAULT_OPENCODE_SERVER_TIMEOUT_MSin opencodeRuntime.ts from 5,000ms to 30,000ms to reduce false timeout failures when waiting for the OpenCode server to begin listening.Macroscope summarized 4afa23f.