Address important dictation feedback - #327684
Merged
meganrogge merged 10 commits intoJul 27, 2026
Merged
Conversation
Hide live dictation transcripts by default while preserving final insertion, and provide audio-reactive microphone feedback across dictation surfaces.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds optional hidden interim dictation transcripts with microphone glow feedback across Chat and Agents surfaces.
Changes:
- Adds the default-off
dictation.showTranscriptsetting. - Preserves final transcript insertion when interim text is hidden.
- Adds audio-reactive glow with reduced-motion and high-contrast handling.
Show a summary per file
| File | Description |
|---|---|
dictationSession.test.ts |
Tests hidden interim and final insertion. |
voiceInputModeActionViewItem.ts |
Adds glow to the segmented dictation control. |
dictationMicGlow.css |
Styles glow levels and HC fallback. |
dictationSession.ts |
Conditionally suppresses interim text. |
dictationMicGlow.ts |
Implements reactive microphone feedback. |
dictationActionViewItem.ts |
Adds glow to Chat’s dictation action. |
chatSpeechToTextService.ts |
Exposes configuration and audio analyser state. |
chat.shared.contribution.ts |
Registers the transcript setting. |
newChatInput.ts |
Adds glow to the Agents composer. |
Review details
- Files reviewed: 9/9 changed files
- Comments generated: 3
- Review effort level: Medium
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Read dictation.showTranscript live in the transcript handler so it stays in sync with the mic glow, and force full opacity on the high-contrast outline so the contrast fallback is not faint. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
vijayupadya
previously approved these changes
Jul 27, 2026
The on-device (non-cloud) dictation preparing affordance used the cloud download icon while the model was downloading. Use the mic download icon instead so it reads as a microphone download, matching the Voice Mode toolbar, and swap that icon for the spinner on the cloud backend. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…pares While the on-device dictation model downloads/loads, the editor placeholder churned through 'Downloading… X%' / 'Preparing…' text. Rely on the mic icon download spinner (DictationDownloadRing) to convey progress and keep the placeholder on its previous value until the model is ready, then show 'Listening…'. This applies to both the chat input and the Agents window, which share startDictation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
meganrogge
marked this pull request as draft
July 27, 2026 19:24
The Agents window (and empty agent-host chat sessions) rotate the input placeholder on a timer. With the transcript hidden the dictation input stays empty, so the rotation clobbered the dictation session's "Listening…" placeholder. Skip rotating while the editor is the active dictation editor so the dictation UX (no progress text; mic spinner shows download progress) applies consistently in the Agents window too. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
meganrogge
marked this pull request as ready for review
July 27, 2026 19:52
meganrogge
enabled auto-merge (squash)
July 27, 2026 19:55
pwang347
approved these changes
Jul 27, 2026
meganrogge
disabled auto-merge
July 27, 2026 20:06
eli-w-king
added a commit
that referenced
this pull request
Jul 27, 2026
Refines the dictation mic glow added in #327684. The glow currently spreads outward from the button as a focus-colored halo, and steps through four discrete intensity levels driven directly by each analyser frame. The stepping is visible as the level crosses a threshold, and tracking the waveform frame-for-frame reads as a level meter rather than as a microphone that is simply on. Move the light inside the button and smooth its response: - Light now gathers along the button's inner edge over a faint bloom, with the middle left clear so the glyph is never clouded. - Replace the four level classes with a continuous `--dictation-mic-level`, eased asymmetrically (fast attack, slow release) so the glow swells into speech and drifts back out of it. The level is also shaped to lift quiet speech and clamp loud speech, keeping opacity in a narrow band. - Add a `chat.dictationActiveMicGlow` theme color, defaulting to the blue Voice Mode's listening glow uses so the two features read as one family. - Suppress the glow while the model is preparing, so it doesn't compete with the download ring, and wind it down while the final transcript lands rather than cutting out the moment recording stops. The `setupDictationMicGlow` signature and its three call sites are unchanged, as is the high-contrast outline fallback and the reduced-motion behavior (the glow still shows, held at a steady level). Refs microsoft/vscode-internalbacklog#8607 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixes.mov
Summary
Improves dictation feedback and first-use polish across the Chat and Agents composer surfaces.
Transcript visibility
dictation.showTranscriptsetting (default on) controlling whether interim dictation text is shown while dictating.Microphone feedback
Model download / connect state
All changes apply to both the main Chat composer and the Agents window composer.
Testing
DictationSessionunit testsFixes https://github.com/microsoft/vscode-internalbacklog/issues/8607
Fixes https://github.com/microsoft/vscode-internalbacklog/issues/8609
Fixes https://github.com/microsoft/vscode-internalbacklog/issues/8629
Fixes https://github.com/microsoft/vscode-internalbacklog/issues/8601
Fixes https://github.com/microsoft/vscode-internalbacklog/issues/8632