Skip to content

Fix chat placeholder rotation during dictation - #327662

Open
meganrogge wants to merge 2 commits into
microsoft:mainfrom
meganrogge:agents/fix-chat-input-placeholder-bug
Open

Fix chat placeholder rotation during dictation#327662
meganrogge wants to merge 2 commits into
microsoft:mainfrom
meganrogge:agents/fix-chat-input-placeholder-bug

Conversation

@meganrogge

@meganrogge meganrogge commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Fixes microsoft/vscode-internalbacklog#8615

Summary

  • pause rotating chat prompts while dictation displays model download/preparation progress or the Listening… placeholder
  • keep the regular chat prompt visible during microphone acquisition
  • limit shimmer transitions to rotation-driven placeholder updates
  • restore the regular chat prompt when dictation ends
  • add regression coverage for placeholder ownership and the dictation placeholder lifecycle

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 27, 2026 17:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes conflicts between rotating chat prompts and dictation-owned placeholders.

Changes:

  • Pauses rotation when another feature changes the placeholder.
  • Restricts shimmer animation to rotation updates.
  • Hides/restores placeholders across dictation and adds regression tests.
Show a summary per file
File Description
chatInputPlaceholderRotation.ts Adds placeholder ownership and animation controls.
dictationSession.ts Manages placeholders throughout dictation.
chatInputPlaceholderRotation.test.ts Tests placeholder ownership.
dictationSession.test.ts Tests dictation placeholder lifecycle.

Review details

  • Files reviewed: 4/4 changed files
  • Comments generated: 1
  • Review effort level: Medium

Comment thread src/vs/workbench/contrib/chat/browser/speechToText/dictationSession.ts Outdated
@meganrogge meganrogge self-assigned this Jul 27, 2026
@meganrogge meganrogge added this to the 1.131.0 milestone Jul 27, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review details

Comments suppressed due to low confidence (1)

src/vs/workbench/contrib/chat/browser/widget/input/chatInputPlaceholderRotation.ts:76

  • After a slow microphone acquisition, this guard can pause rotation permanently after dictation ends. startDictation snapshots the placeholder before awaiting microphone/backend setup, while rotation remains active during acquisition; if a tick advances the prompt, dictation later restores the older snapshot, which no longer equals expectedPlaceholder, so every future tick returns here. Capture the placeholder when dictation first takes ownership (or add an explicit pause/resume handoff), and cover acquisition spanning a rotation interval.
		if (editor.getOption(EditorOption.placeholder) !== expectedPlaceholder) {
			return;
  • Files reviewed: 4/4 changed files
  • Comments generated: 0 new
  • Review effort level: Medium

@meganrogge
meganrogge enabled auto-merge (squash) July 27, 2026 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants