core-agent-ide/codex-rs/tui2/src
Ahmed Ibrahim 764f3c7d03
fix(tui) Defer backtrack trim until rollback confirms (#9401)
Document the backtrack/rollback state machine and invariants between the
transcript overlay, in-flight “live tail”, and core thread state (tui + tui2).

Also adjust behavior for correctness:
- Track a single pending rollback and block additional rollbacks until core responds.
- Defer trimming transcript cells until ThreadRolledBack for the active session.
- Clear the guard on ThreadRollbackFailed so the user can retry.
- After a confirmed trim, schedule a one-shot scrollback refresh on the next draw.
- Clear stale pending rollback state when switching sessions.

---------

Co-authored-by: Josh McKinney <joshka@openai.com>
2026-01-17 06:29:41 +00:00
..
bin feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
bottom_pane Support SKILL.toml file. (#9125) 2026-01-15 11:20:04 -08:00
chatwidget feat: show forked from session id in /status (#9330) 2026-01-16 13:41:46 -08:00
exec_cell Render exec output deltas inline (#9194) 2026-01-14 08:11:12 -08:00
notifications Sync tui2 with tui and keep dual-run glue (#7965) 2025-12-12 20:46:18 -08:00
onboarding [device-auth] Add device code auth as a standalone option when headless environment is detected. (#9333) 2026-01-16 08:35:03 -08:00
public_widgets feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
render chore: upgrade to Rust 1.92.0 (#8860) 2026-01-16 11:12:52 -08:00
snapshots Use markdown for migration screen (#8952) 2026-01-13 07:41:42 +00:00
status feat: show forked from session id in /status (#9330) 2026-01-16 13:41:46 -08:00
streaming tui2: stop baking streaming wraps; reflow agent markdown (#8761) 2026-01-05 18:37:58 -08:00
tui fix(tui2): avoid scroll stickiness at cell boundaries (#8695) 2026-01-03 20:26:40 +00:00
additional_dirs.rs feat: introduce ExternalSandbox policy (#8290) 2025-12-18 17:02:03 -08:00
app.rs fix(tui) Defer backtrack trim until rollback confirms (#9401) 2026-01-17 06:29:41 +00:00
app_backtrack.rs fix(tui) Defer backtrack trim until rollback confirms (#9401) 2026-01-17 06:29:41 +00:00
app_event.rs feat: /fork the current session instead of opening session picker (#9385) 2026-01-16 11:28:52 -08:00
app_event_sender.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
ascii_animation.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
chatwidget.rs Add collaboration_mode override to turns (#9408) 2026-01-16 21:51:25 -08:00
cli.rs add WebSearchMode enum (#9216) 2026-01-14 12:51:42 -08:00
clipboard_copy.rs WIP: Rework TUI viewport, history printing, and selection/copy (#7601) 2025-12-15 17:20:53 -08:00
clipboard_paste.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
collab.rs feat: collab wait multiple IDs (#9294) 2026-01-16 12:05:04 +01:00
color.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
custom_terminal.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
diff_render.rs fix: render cwd-relative paths in tui (#8771) 2026-01-06 03:17:40 +00:00
exec_command.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
file_search.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
frames.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
get_git_diff.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
history_cell.rs fix(tui): only show 'Worked for' separator when actual work was performed (#8958) 2026-01-16 01:41:43 +00:00
insert_history.rs tui2: stop baking streaming wraps; reflow agent markdown (#8761) 2026-01-05 18:37:58 -08:00
key_hint.rs feat(tui2): add copy selection shortcut + UI affordance (#8462) 2025-12-22 18:54:58 -08:00
lib.rs feat(app-server, core): return threads by created_at or updated_at (#9247) 2026-01-16 20:58:55 +00:00
live_wrap.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
main.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
markdown.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
markdown_render.rs tui2: stop baking streaming wraps; reflow agent markdown (#8761) 2026-01-05 18:37:58 -08:00
markdown_render_tests.rs feat(tui2): add multi-click transcript selection (#8471) 2025-12-23 21:05:06 +00:00
markdown_stream.rs tui2: stop baking streaming wraps; reflow agent markdown (#8761) 2026-01-05 18:37:58 -08:00
model_migration.rs Use markdown for migration screen (#8952) 2026-01-13 07:41:42 +00:00
oss_selection.rs ollama: default to Responses API for built-ins (#8798) 2026-01-13 09:51:41 -08:00
pager_overlay.rs fix(tui): show in-flight coalesced tool calls in transcript overlay (#8246) 2026-01-13 03:06:11 +00:00
resume_picker.rs feat(app-server, core): return threads by created_at or updated_at (#9247) 2026-01-16 20:58:55 +00:00
selection_list.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
session_log.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
shimmer.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
slash_command.rs feat: /fork the current session instead of opening session picker (#9385) 2026-01-16 11:28:52 -08:00
status_indicator_widget.rs [tui] add optional details to TUI status header (#8293) 2025-12-23 12:40:40 -08:00
style.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
terminal_palette.rs perf(tui2): cache transcript view rendering (#8693) 2026-01-03 11:44:27 -08:00
test_backend.rs test(tui2): re-enable ANSI for VT100 tests (#8423) 2025-12-22 00:00:32 -08:00
text_formatting.rs [tui] add optional details to TUI status header (#8293) 2025-12-23 12:40:40 -08:00
tooltips.rs feat: forced tool tips (#8752) 2026-01-06 18:02:05 +00:00
transcript_copy.rs feat(tui2): add multi-click transcript selection (#8471) 2025-12-23 21:05:06 +00:00
transcript_copy_action.rs feat(tui2): transcript scrollbar (auto-hide + drag) (#8728) 2026-01-05 09:05:14 -08:00
transcript_copy_ui.rs Clear copy pill background and add snapshot test (#8777) 2026-01-06 11:21:26 -08:00
transcript_multi_click.rs feat(tui2): add multi-click transcript selection (#8471) 2025-12-23 21:05:06 +00:00
transcript_render.rs perf(tui2): cache transcript view rendering (#8693) 2026-01-03 11:44:27 -08:00
transcript_scrollbar.rs feat(tui2): transcript scrollbar (auto-hide + drag) (#8728) 2026-01-05 09:05:14 -08:00
transcript_scrollbar_ui.rs feat(tui2): transcript scrollbar (auto-hide + drag) (#8728) 2026-01-05 09:05:14 -08:00
transcript_selection.rs feat(tui2): add multi-click transcript selection (#8471) 2025-12-23 21:05:06 +00:00
transcript_view_cache.rs perf(tui2): cache transcript view rendering (#8693) 2026-01-03 11:44:27 -08:00
tui.rs fix: add tui.alternate_screen config and --no-alt-screen CLI flag for Zellij scrollback (#8555) 2026-01-09 18:38:26 +00:00
ui_consts.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
update_action.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
update_prompt.rs fix tui2 compile error (#8124) 2025-12-16 11:31:55 -08:00
updates.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
version.rs feat(tui2): copy tui crate and normalize snapshots (#7833) 2025-12-10 22:53:46 +00:00
wrapping.rs feat(tui2): add multi-click transcript selection (#8471) 2025-12-23 21:05:06 +00:00