Move fullscreen transcript control to TUI configuration (#46849)

## What changed

Use `tui.fullscreen_transcript` to opt into the fullscreen transcript, including scrolling, selection, and search. It defaults to `false`; `--no-alt-screen` and `tui.alternate_screen = "never"` still take precedence.

The new preference controls both the first frame and application startup. Boolean CLI overrides for it are allowed during daemon startup. The old `features.transcript_v2` flag is deprecated and ignored, with a notice directing users to the new setting; it does not migrate into or override the preference.

## Testing

Add coverage for default terminal scrollback, fullscreen persistence through startup, alternate-screen restrictions, daemon override validation, and independence from the deprecated flag. Update existing history and activity tests to use the new preference.

GitOrigin-RevId: 4117bf1ee548fa8d101a594f9506673d87c74c15
This commit is contained in:
Eric Traut
2026-09-20 16:59:00 +00:00
committed by copyberry
parent 79ef00ded1
commit a2de8fedcc
20 changed files with 106 additions and 75 deletions
+1 -1
View File
@@ -133,7 +133,7 @@ fn strict_config_is_not_supported_for_cloud_command() -> Result<()> {
async fn features_enable_writes_feature_flag_to_config() -> Result<()> {
let codex_home = TempDir::new()?;
for feature in ["unified_exec", "transcript_v2"] {
for feature in ["unified_exec", "shell_tool"] {
let mut cmd = codex_command(codex_home.path())?;
cmd.args(["features", "enable", feature])
.assert()