Skip to content

feat: add codex support and optimize runtime transport#9

Closed
pallyoung wants to merge 13 commits intomainfrom
feat/codex-support-runtime-optimizations
Closed

feat: add codex support and optimize runtime transport#9
pallyoung wants to merge 13 commits intomainfrom
feat/codex-support-runtime-optimizations

Conversation

@pallyoung
Copy link
Copy Markdown
Contributor

Summary

  • add Codex agent support aligned with the existing Claude session/runtime flow
  • unify agent config to the current runtime environment instead of splitting native vs WSL settings
  • introduce an agent-client abstraction layer so Claude and Codex share the same upper-layer session/UI logic
  • optimize websocket/runtime reload hot paths to reduce duplicate attach work, request fanout, and frontend churn
  • collapse several backend DB critical sections on runtime attach/controller guard/disconnect paths
  • reduce runtime snapshot session scans during attach assembly

Main areas

  • Codex CLI/config/session support aligned with Claude where semantics can match
  • runtime reload and workspace transport batching / backpressure improvements
  • backend lock acquisition reduction on workspace_runtime_attach, controller release/disconnect, and RPC controller guard paths
  • documentation and profiling / regression coverage for Codex compatibility and transport performance

Validation

  • node --test tests/runtime-attach.test.ts tests/workspace-artifact-refresh.test.ts
  • node --test tests/workspace-runtime-controller.test.ts tests/workspace-view-persistence.test.ts
  • pnpm build:web
  • cargo test --manifest-path apps/server/Cargo.toml
  • CODER_STUDIO_DEV_BACKEND_PORT=43123 CODER_STUDIO_DEV_FRONTEND_PORT=5378 pnpm test:e2e --grep "reload keeps automatic workspace runtime attaches bounded|reload defers session history loading until the drawer is opened|reload replays agent lifecycle history into running and idle browser state|interrupted sessions show an explicit resume entry and reuse the saved claude session id"
  • CODER_STUDIO_DEV_BACKEND_PORT=43123 CODER_STUDIO_DEV_FRONTEND_PORT=5378 pnpm test:e2e --grep "reload keeps automatic workspace runtime attaches bounded|observer follows controller and takeover succeeds after timeout|same-device new client takes over immediately after controller disconnects"
  • CODER_STUDIO_DEV_BACKEND_PORT=43123 CODER_STUDIO_DEV_FRONTEND_PORT=5378 pnpm test:e2e --grep "reload keeps automatic workspace runtime attaches bounded|interrupted sessions show an explicit resume entry and reuse the saved claude session id"

@pallyoung
Copy link
Copy Markdown
Contributor Author

Closing to reopen from develop as requested.

@pallyoung pallyoung closed this Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant