Refs: #329691
Complexity: 2
Authors: Osvaldo Ortega (@osortega)
Create Issue
Summary
Chat now pins the prompt you have scrolled past to the top of the transcript, like the editor's sticky scroll. The band names that prompt, shows its position as N/M, and offers Go to Previous Prompt / Go to Next Prompt buttons. Activating the label jumps back to the prompt it names.
This used to be Insiders-only. It is now on by default everywhere via chat.stickyScroll.enabled (previously chat.promptTimeline.stickyHeader, which is no longer read).
Prerequisites
No setup required — the feature is on by default. Have a chat with at least two user prompts and enough response content to scroll; the header intentionally stays hidden below that.
Where it appears
Verify the header shows up and behaves the same in each of these:
- The Chat view in the editor window.
- Chat moved to an editor tab, and to the secondary side bar.
- A session chat in the Agents window.
Core behavior
- Scroll down until the first prompt's own row passes above the top of the transcript. Verify the band appears only at that point, not while the prompt is still visible.
- Verify the band names the prompt you scrolled past and that
N/M matches its real position among your prompts.
- Keep scrolling through several prompts. Verify the label swaps as each prompt passes the top, and that the label animates in the direction you are scrolling.
- Scroll back to the very top. Verify the band goes away.
- Click the label. Verify it jumps to that prompt and aligns it to the top of the transcript.
- Use Go to Previous Prompt and Go to Next Prompt to step through prompts. Verify each target lands at the top and the label and count stay in sync.
- Verify Go to Previous Prompt is disabled on the first prompt and Go to Next Prompt is disabled on the last.
- Send a new prompt while the header is showing. Verify the count total grows and nothing is left stale.
- Try a chat with exactly one prompt. Verify no header appears.
- Try a very long prompt, a multi-line prompt, and a prompt containing only an attachment or whitespace. Verify the label stays on one line and truncates with an ellipsis rather than wrapping or stretching the band. A prompt with no text should read
(empty prompt).
Where it should not appear
- Quick Chat.
- The new-session composer in the Agents window (the screen before a session exists).
- Inline chat in an editor.
Setting
- Set
"chat.stickyScroll.enabled": false. Verify the header disappears without reloading the window.
- Set it back to
true. Verify it comes back and still tracks scrolling correctly.
- Toggle it while several chats are open at once, including across both windows, and verify every open chat responds.
Accessibility
- With a screen reader, press
Alt+F1 in chat to open the accessibility help. Verify it describes the pinned prompt and the two navigation buttons.
- Turn the setting off and reopen the help. Verify that description is gone. Also verify it is absent in Quick Chat, where no header is mounted.
- Tab to the label. Verify it is announced as "Go to prompt N of M: " and activates with both
Enter and Space.
- Verify the navigation buttons are reachable by keyboard, announced with their names, and report their disabled state at the first and last prompt.
- Verify the header is skipped by the keyboard entirely while it is hidden.
Refs: #329691
Complexity: 2
Authors: Osvaldo Ortega (@osortega)
Create Issue
Summary
Chat now pins the prompt you have scrolled past to the top of the transcript, like the editor's sticky scroll. The band names that prompt, shows its position as
N/M, and offers Go to Previous Prompt / Go to Next Prompt buttons. Activating the label jumps back to the prompt it names.This used to be Insiders-only. It is now on by default everywhere via
chat.stickyScroll.enabled(previouslychat.promptTimeline.stickyHeader, which is no longer read).Prerequisites
No setup required — the feature is on by default. Have a chat with at least two user prompts and enough response content to scroll; the header intentionally stays hidden below that.
Where it appears
Verify the header shows up and behaves the same in each of these:
Core behavior
N/Mmatches its real position among your prompts.(empty prompt).Where it should not appear
Setting
"chat.stickyScroll.enabled": false. Verify the header disappears without reloading the window.true. Verify it comes back and still tracks scrolling correctly.Accessibility
Alt+F1in chat to open the accessibility help. Verify it describes the pinned prompt and the two navigation buttons.EnterandSpace.