Repository navigation
Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR doubles the hard-coded Codex provider-status timeout from 10 seconds to 20 seconds, changing when a production provider is marked unavailable. The added regression test covers the slower healthy path, while the test-only changes have no runtime impact. No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe Codex provider status probe now has a 20-second timeout instead of the shared 10-second timeout. Tests cover a healthy probe that takes 15 seconds and a probe that exceeds the new timeout. ChangesCodex probe timeout
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: Merge Risk: ⚪ Minimal · up to Healthy Codex probes that take between 10 and 20 seconds can now complete instead of showing an error; slower probes still time out. No concrete merge-blocking risk is evident. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
144f6c8 to
ccb5cc4
Compare
Dismissing prior approval to re-evaluate ccb5cc4
A slow but healthy Codex app-server probe (handshake, account, models, skills) can run past the shared 10s AUTH_PROBE_TIMEOUT_MS on a loaded or slow machine, most often reported on Windows. When that happens, Settings marks a working Codex provider as unavailable with "Timed out while checking" until the next 5-minute refresh, even though Codex is installed, logged in, and working. Give Codex its own 20s probe timeout (CODEX_AUTH_PROBE_TIMEOUT_MS) instead of raising the shared constant for every provider. Adds a regression test for a 15s-healthy probe, and bumps the existing probe-scope-closes-on-timeout test from 11s to 21s to match the new budget. Fixes #7513. Reuses the fix from Michel-Liao's closed PR #9303, rewritten against the orchestration-v2 provider code. Co-authored-by: Michel-Liao <107891771+Michel-Liao@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
ccb5cc4 to
9466c36
Compare
Problem
On a slow machine, the Codex card in Settings > Providers flips to "Unavailable · Timed out while checking Codex app-server provider status" even though Codex is installed, signed in, and working. It stays that way until the next 5-minute refresh. #7513 measured this on Windows in about 1 of 4 probes: the Codex check finished in 10.07s, just past T3's 10s cutoff.
The Codex check does more than a version or auth call. It starts
codex app-server, initializes it, and reads the account, models, and skills, all inside the 10s budget every provider shares.Change
Codex gets its own 20s budget (
CODEX_AUTH_PROBE_TIMEOUT_MS) instead of the sharedAUTH_PROBE_TIMEOUT_MS. Grok, the only other user of the shared constant, keeps 10s. Nothing wrapscheckCodexProviderStatusin a shorter timeout, so the new budget applies end to end.This rebuilds #9303 by @Michel-Liao on current main. That PR was closed when orchestration V2 replaced the code around it.
Scope and approval
A small fix for an obvious bug: one timeout constant, scoped to the one provider whose check needs it. No behavior changes for working fast machines. Closes #7513.
Verification
Reproduced in the real web app with a wrapper around the real Codex binary that waits 12s before starting (
sleep 12; exec codex "$@"), set as the binary path of a Codex instance. The video starts with Refresh provider status and counts the seconds.Before (main 1e2ecbd): after about 10s the card turns to Unavailable, "Timed out while checking Codex app-server provider status".
9303-before.mp4
After (this PR): the card takes about 14s and lands on Available, v0.160.0.
9303-after.mp4
Focused test:
vp test run apps/server/src/provider/ProviderRegistry.test.tsexpected 'error' to equal 'ready'(1 failed, 56 passed).Not checked: Windows itself. The wrapper adds a fixed delay instead.
Made with Claude Opus 5.5 in Claude Code (T3 Code).
🤖 Generated with Claude Code