Skip to content

Restore rich tool details in persisted TUI transcripts - #46710

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/73d754262768cf6d91f3ea4040116bf93cf87784
Sep 19, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/73d754262768cf6d91f3ea4040116bf93cf87784

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

Restore rich tool details in persisted TUI transcripts

Why

Loaded transcripts reduce several tool calls and file changes to basic status summaries, losing details available in live history cells.

What changed

  • Reuse rich history cells for completed commands, MCP calls, patches, agent activity, image generation, and notices.
  • Add dynamic tool cells with bounded output previews while retaining arguments and full output in detailed and raw views.
  • Preserve last-known statuses for incomplete calls, unavailable results, and declined or failed operations. Keep legacy command text and terminal interaction output when rich reconstruction is unavailable.
  • Remove redundant move annotations from patch diffs and retain patch activity IDs.
  • Filter untrusted control characters before emitting terminal scrollback, while preserving semantic hyperlinks.

Testing

Add unit and snapshot coverage for compact and detailed tool rendering, status fallbacks, retained output, patch restoration, and control-character filtering with and without hyperlinks.

## Why

Loaded transcripts reduce several tool calls and file changes to basic status summaries, losing details available in live history cells.

## What changed

- Reuse rich history cells for completed commands, MCP calls, patches, agent activity, image generation, and notices.
- Add dynamic tool cells with bounded output previews while retaining arguments and full output in detailed and raw views.
- Preserve last-known statuses for incomplete calls, unavailable results, and declined or failed operations. Keep legacy command text and terminal interaction output when rich reconstruction is unavailable.
- Remove redundant move annotations from patch diffs and retain patch activity IDs.
- Filter untrusted control characters before emitting terminal scrollback, while preserving semantic hyperlinks.

## Testing

Add unit and snapshot coverage for compact and detailed tool rendering, status fallbacks, retained output, patch restoration, and control-character filtering with and without hyperlinks.

GitOrigin-RevId: 73d754262768cf6d91f3ea4040116bf93cf87784
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/73d754262768cf6d91f3ea4040116bf93cf87784 branch from 70219de to 4abcb8d Compare September 19, 2026 20:24
@copyberry
copyberry Bot merged commit 4abcb8d into main Sep 19, 2026
1 check passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/73d754262768cf6d91f3ea4040116bf93cf87784 branch September 19, 2026 20:24
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 19, 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