Skip to content

fix: stabilize live transcript activity and scrolling #349

Description

@AlphaCatMeow

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions