Repository navigation
Resume Cloud Codex chats after app-server restart - #15915
Conversation
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Warning Review limit reachedNext included review available in 3 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (3)
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 |
|
All contributors have signed the CLA ✍️ ✅ |
|
Review: land. The test genuinely drops and re-establishes the connection, which I checked by execution rather than by reading: the shim In-flight turn across the restart behaves sanely: the session with 6 mutants, 2 survived:
|
|
Review: LAND. The best-evidenced PR I have looked at today, and the only one where both the tests and the mutations were executed. Mechanism. In Mutation test: all four mutations fail the PR's own tests. Baseline
That is real coverage, not decoration, which is a pleasant change from the rest of today's batch. Four targeted questions, answered by executed probes:
Wiring confirmed at run level, not inferred: Minor, not blocking: Fixed: nothing needed. Left: the resume-replay question and the unbounded map. Merging on green. Fix, so no team review. — Raindrop g2 🫧 / Run: run_worker_20260930_3fc64ba6 |
|
Merge receipt for |
e709b69 fix(cloud): stop reconciling panes a Cloud workspace already shows (manaflow-ai#16025) d13dde3 Diff viewer: viewed state, file filter, generated and large diffs collapsed (manaflow-ai#15536) e0d5c5e test: pay the Pi fixtures' first exec before timing them (manaflow-ai#16028) e2e0b61 ci: disable unstable UI test dispatch lane (manaflow-ai#16075) 15996b0 ci: sweep side lanes instead of rescuing workflow runs (manaflow-ai#16076) 3dcf462 Recover terminal chat when transcript files are replaced (manaflow-ai#16045) 272d069 fix(agent-chat): let Stop cancel a queued or starting ACP turn (manaflow-ai#15925) 30bd116 test: cover invalid unquoted Xcode extension paths (manaflow-ai#16054) a24a1b5 Make GitHub references in the agent chat transcript clickable (manaflow-ai#15916) 86d1cfc Reap failed Codex app-server startups before retrying (manaflow-ai#15977) 890cd1e fix(sidebar): expose workspace close button to accessibility (manaflow-ai#15965) faf4c8f docs: define agent fan-out and reusable Cloud work environments (manaflow-ai#15836) ab20b79 ci: cut cmux-tui Testbox warmup hold time (manaflow-ai#15557) 31fb228 Promote devbox images with cmux-tui 7d17754 (VT replay blank-cell fix) (manaflow-ai#16072) e0da0a6 feat(acp): cmux as a read-only ACP host, phase 1 (manaflow-ai#15976) 3ed1d77 Reap failed ACP startups and temporary catalog probes (manaflow-ai#15979) f5c3567 Add a Focus TextBox Input item to the View menu (manaflow-ai#15730) b3a1ca1 Document the 32 CLI verbs the contract table was missing, and guard it (manaflow-ai#15993) 3bba04e Say which app-host result file could not be read (manaflow-ai#15997) 7ef6d3a Resume Cloud Codex chats after app-server restart (manaflow-ai#15915) a803f36 fix: surface simulator process output reader failures (manaflow-ai#15880) f6a0163 Keep terminal approval notices from moving the composer (manaflow-ai#15886) b8ab767 test: isolate feature flag defaults between runs (manaflow-ai#15587) 5150a9b Keep unsent cloud prompts recoverable (manaflow-ai#15902) 233bd6d Restore terminal attention when transcript chat reconnects (manaflow-ai#15891) 573f998 Resolve a dogfood menu path against the direct children of each open menu (manaflow-ai#15923) 7b7a1b2 test(ci): assert the registry guard's exit code, and handle merge_group (manaflow-ai#16017) # Conflicts: # .github/workflows/ci-guards.yml # .github/workflows/ci-owned-pool-rescue.yml # .github/workflows/ci-ui-tests.yml # .github/workflows/ci.yml # .github/workflows/cmux-tui-testbox-warmup.yml
Cloud Codex sessions silently started new conversations after the shared
codex app-serverexited. The adapter now retains each persisted thread ID and resumes it on the replacement app-server, including retrying a failed resume without falling back tothread/start.The regression covers two sessions, process death, resume dispatch, failed resume, and retry.
Changelog
Validation:
bun test/codex-recovery.test.ts(pass)bun run buildfromagent-chat(pass)git diff --check(pass)bun run checkfromagent-chatis blocked by the existingadapters/lines.tsBun stream type error.bun run biome:checkreports existing repository warnings.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Preserves Cloud Codex conversation context across
codex app-serverrestarts. Sessions previously started new threads silently after the shared app-server exited; the adapter now resumes the saved thread ID on the replacement server and retries a failed resume instead of falling back tothread/start.Written for commit 8c4f943. Summary will update on new commits.