mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
## Summary - Retire the experimental TUI2 implementation and its feature flag. - Remove TUI2-only config/schema/docs so the CLI stays on the terminal-native path. - Keep docs aligned with the legacy TUI while we focus on redraw-based improvements. ## Customer impact - Retires the TUI2 experiment and keeps Codex on the proven terminal-native UI while we invest in redraw-based improvements to the existing experience. ## Migration / compatibility - If you previously set tui2-related options in config.toml, they are now ignored and Codex continues using the existing terminal-native TUI (no action required). ## Context - What worked: a transcript-owned viewport delivered excellent resize rewrap and high-fidelity copy (especially for code). - Why stop: making that experience feel fully native across the environment matrix (terminal emulator, OS, input modality, multiplexer, font/theme, alt-screen behavior) creates a combinatorial explosion of edge cases. - What next: we are focusing on redraw-based improvements to the existing terminal-native TUI so scrolling, selection, and copy remain native while resize/redraw correctness improves. ## Testing - just write-config-schema - just fmt - cargo clippy --fix --all-features --tests --allow-dirty --allow-no-vcs -p codex-core - cargo clippy --fix --all-features --tests --allow-dirty --allow-no-vcs -p codex-cli - cargo check - cargo test -p codex-core - cargo test -p codex-cli
757 B
757 B
TUI bottom pane (state machines)
When changing the paste-burst or chat-composer state machines in this folder, keep the docs in sync:
- Update the relevant module docs (
chat_composer.rsand/orpaste_burst.rs) so they remain a readable, top-down explanation of the current behavior. - Update the narrative doc
docs/tui-chat-composer.mdwhenever behavior/assumptions change (Enter handling, retro-capture, flush/clear rules,disable_paste_burst, non-ASCII/IME handling). - Keep implementations/docstrings aligned unless a divergence is intentional and documented.
Practical check:
- After edits, sanity-check that docs mention only APIs/behavior that exist in code (especially the
Enter/newline paths and
disable_paste_burstsemantics).