Skip to content

Send local TUI images as portable attachments to remote app servers - #45499

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/6404615eae0b06c141af96b4229501c61f7fcfee
Sep 14, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/6404615eae0b06c141af96b4229501c61f7fcfee

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

Send local TUI images as portable attachments to remote app servers

Why

Remote app servers cannot read image paths on the TUI host. Image attachments need to carry their contents when submitting to a remote workspace.

What changed

  • Prepare local images as data URLs off the event loop for new turns and steers, preserving source pixels for model-specific resizing and enforcing a 32 MiB image transport budget.
  • Show preparation progress, preserve queued message order, and recover drafts on preparation failures, cancellation, disconnects, or thread switches. Ignore stale preparation completions.
  • Avoid duplicate user messages from server receipts and duplicate image labels in history.

Testing

Add regression tests for portable image contents, receipt deduplication, draft restoration, responsive input during preparation, and cancellation across thread and connection changes.

…45499)

## Why

Remote app servers cannot read image paths on the TUI host. Image attachments need to carry their contents when submitting to a remote workspace.

## What changed

- Prepare local images as data URLs off the event loop for new turns and steers, preserving source pixels for model-specific resizing and enforcing a 32 MiB image transport budget.
- Show preparation progress, preserve queued message order, and recover drafts on preparation failures, cancellation, disconnects, or thread switches. Ignore stale preparation completions.
- Avoid duplicate user messages from server receipts and duplicate image labels in history.

## Testing

Add regression tests for portable image contents, receipt deduplication, draft restoration, responsive input during preparation, and cancellation across thread and connection changes.

GitOrigin-RevId: 6404615eae0b06c141af96b4229501c61f7fcfee
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/6404615eae0b06c141af96b4229501c61f7fcfee branch from 7e83c30 to d38b526 Compare September 14, 2026 19:21
@copyberry
copyberry Bot merged commit d38b526 into main Sep 14, 2026
1 check passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/6404615eae0b06c141af96b4229501c61f7fcfee branch September 14, 2026 19:21
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 14, 2026

This branch was successfully deployed

1 active deployment
issue-triage — d38b5260 Deployed Sep 14, 2026 by elleryrussell via Identify potential duplicates (all issues) #45522
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.

2 participants