transcript auto follow - kkamegawa/vsextensionforcodex GitHub Wiki

Transcript Auto-Follow

日本語

Summary

Add ChatGPT-style follow-latest behavior to the virtualized chat transcript. The view follows streamed assistant output while the reader is at the newest edge, pauses when the reader scrolls into history, and shows an accessible, localized action to return to the latest output. Reaching the newest edge or activating the action resumes following.

Tracking

Type Issue
Parent Issue #205
Sub-issue Issue #206
Sub-issue Issue #207
Sub-issue Issue #208

Background

The chat transcript is a virtualized WPF ListBox rendered through Visual Studio Remote UI. It currently uses pixel-based scrolling without follow-latest behavior. Issue #30 recorded an XAML-only inverted-list prototype as a design gate because Remote UI does not expose control code-behind for direct ScrollIntoView calls. That issue also contains unrelated rendering gaps, so this plan tracks only transcript auto-follow.

Design

First prototype the XAML-only inverted-list approach in a Visual Studio Experimental Instance. Verify that it can keep streamed output visible at the newest edge, stop when the reader moves into history, preserve the reader's position, and resume when the reader returns to the newest edge. The paused state must expose a localized, accessible Jump to latest action.

Keep the displayed transcript in chronological reading order and preserve virtualization, keyboard navigation, screen-reader order, narrow-panel behavior, and Visual Studio theme resources. If the prototype cannot meet the approved interaction contract, stop and propose a supported alternative for design approval before changing the rendering host. The prior no-autoscroll fallback is not accepted for this feature.

Implementation phases

  1. Prototype Remote UI transcript scroll tracking in the Experimental Instance and record the observed result.
  2. Implement follow-latest, pause-on-scroll-up, and resume through the latest edge or Jump to latest action using the validated rendering approach.
  3. Verify the behavior in Visual Studio, inspect screenshots, and record only completed validation.

Verification

Build the Release solution with warnings treated as errors. In the Experimental Instance, inspect the transcript while assistant output streams at the newest edge, after scrolling upward into history, after returning to the newest edge, and after activating Jump to latest. Inspect screenshots for the follow, paused, and resumed states. Review keyboard navigation, screen-reader reading order, virtualization, narrow layout, and Visual Studio theme behavior.

⚠️ **GitHub.com Fallback** ⚠️