Skip to content

Preserve TUI drafts after app-server disconnects - #41911

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/7219a95fad676dda447d625db9e465345b469d58
Aug 31, 2026
Merged

Preserve TUI drafts after app-server disconnects#41911
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/7219a95fad676dda447d625db9e465345b469d58

Conversation

@copyberry

@copyberry copyberry Bot commented Aug 31, 2026

Copy link
Copy Markdown

Preserve TUI drafts after app-server disconnects

Why

Losing an external app-server connection can leave a submission's outcome uncertain. The TUI must preserve local work without retrying it or allowing stale server events to trigger more actions.

What changed

  • Enter an offline state when an external app-server transport disconnects during startup, event streaming, or submission.
  • Keep conversation drafts, queued input, expanded pastes, attachments, and agent-overview input editable while blocking submissions, remote actions, and automatic queue replay.
  • Show a connection-lost notice that directs users to copy their work and relaunch, while retaining Ctrl-C and an empty-composer Ctrl-D as quit shortcuts.
  • Cancel pending views and asynchronous work, and ignore stale completions after the disconnect. Embedded app-server behavior is unchanged.

Testing

Added unit, snapshot, and pseudo-terminal coverage for lost startup and mutation replies, offline draft editing, queued-input recovery, stale-event quarantine, agent-overview behavior, and end-to-end preservation without reconnection or resubmission.

## Why

Losing an external app-server connection can leave a submission's outcome uncertain. The TUI must preserve local work without retrying it or allowing stale server events to trigger more actions.

## What changed

- Enter an offline state when an external app-server transport disconnects during startup, event streaming, or submission.
- Keep conversation drafts, queued input, expanded pastes, attachments, and agent-overview input editable while blocking submissions, remote actions, and automatic queue replay.
- Show a connection-lost notice that directs users to copy their work and relaunch, while retaining `Ctrl-C` and an empty-composer `Ctrl-D` as quit shortcuts.
- Cancel pending views and asynchronous work, and ignore stale completions after the disconnect. Embedded app-server behavior is unchanged.

## Testing

Added unit, snapshot, and pseudo-terminal coverage for lost startup and mutation replies, offline draft editing, queued-input recovery, stale-event quarantine, agent-overview behavior, and end-to-end preservation without reconnection or resubmission.

GitOrigin-RevId: 7219a95fad676dda447d625db9e465345b469d58
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/7219a95fad676dda447d625db9e465345b469d58 branch from 3280bab to a791339 Compare August 31, 2026 21:01
@copyberry
copyberry Bot merged commit a791339 into main Aug 31, 2026
25 of 32 checks passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/7219a95fad676dda447d625db9e465345b469d58 branch August 31, 2026 21:02
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant