Collapse completed turn activity beneath transcript prompts (#60557)

## What changed

- Fold earlier commentary, reasoning, and tool activity beneath an expandable prompt control in the full-screen transcript, keeping partial and final answers visible.
- Label the control with completion timing when available, or a previous-message count otherwise. Keep tool groups independently expandable within the turn.
- Preserve assistant message phases during live completion and replay, and retain untimed completion markers to identify completed turns.

## Testing

Add transcript coverage for nested expansion, keyboard and mouse controls, narrow viewports, search anchor preservation, detailed mode, and legacy messages without phase or timing metadata.

GitOrigin-RevId: b17d9d7c870990178d76d12a13d463ff9c32b96c
This commit is contained in:
Eric Traut
2026-11-10 08:36:09 +00:00
committed by copyberry
parent bcbb7f5a9c
commit a7a9d82f15
20 changed files with 412 additions and 90 deletions
+5 -1
View File
@@ -275,7 +275,10 @@ fn item_to_cells(
cells.push(Arc::new(cell.with_async_replies(replies, cwd.as_path())));
}
ThreadItemPayload::AgentMessage {
text, questions, ..
text,
questions,
phase,
..
} => {
let parsed = parse_assistant_markdown(&text, cwd.as_path());
if !parsed.visible_markdown.trim().is_empty() {
@@ -285,6 +288,7 @@ fn item_to_cells(
cwd.as_path(),
inline_visualization_context,
)
.with_phase(phase)
.with_questions(questions.as_deref().unwrap_or_default()),
));
}