Problem
During a streaming assistant turn, reasoning, tool calls, tool results, and the live status can be regrouped, remeasured, or reordered. That changes virtual-row height and identity while multiple scroll owners correct the viewport, producing visible up/down jitter in both the desktop GUI and Gateway WebUI.
Expected behavior
- Keep one stable outer activity row for the active assistant turn.
- Append new activity or update an existing tool in place without moving prior rows.
- Keep bottom following under one scroll owner and preserve a detached reader's visible anchor.
- Show thinking details in a non-layout overlay.
- Keep the live status single-line and width-bounded.
- Preserve special-tool behavior, reconnect/history restoration, accessibility, narrow layouts, and reduced motion.
Scope
React/TypeScript GUI and Gateway WebUI only. No Rust, Go, protocol, database, or unrelated visual refactor.
Acceptance
Verify stable identity/order, bottom follow, detached reading, failures/cancellation/retry/reconnect, long lists, narrow windows, both themes, reduced motion, and same-worktree Tauri/WebUI runtime behavior.
Problem
During a streaming assistant turn, reasoning, tool calls, tool results, and the live status can be regrouped, remeasured, or reordered. That changes virtual-row height and identity while multiple scroll owners correct the viewport, producing visible up/down jitter in both the desktop GUI and Gateway WebUI.
Expected behavior
Scope
React/TypeScript GUI and Gateway WebUI only. No Rust, Go, protocol, database, or unrelated visual refactor.
Acceptance
Verify stable identity/order, bottom follow, detached reading, failures/cancellation/retry/reconnect, long lists, narrow windows, both themes, reduced motion, and same-worktree Tauri/WebUI runtime behavior.