Voice: show "Answered" instead of "Skipped" for externally-answered questions#325698
Open
meganrogge wants to merge 2 commits into
Open
Voice: show "Answered" instead of "Skipped" for externally-answered questions#325698meganrogge wants to merge 2 commits into
meganrogge wants to merge 2 commits into
Conversation
…uestions When a question carousel is answered outside its own UI (e.g. a voice or free-text response the model interprets), the agent host completes the input request with Accept but no structured answers, so the summary rendered "Skipped" even though the user did respond. Track the completion outcome and mark the carousel answeredExternally when it is accepted without structured answers, then render "Answered" in the summary. Fixes microsoft/vscode-internalbacklog#8157 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates question carousels to distinguish externally answered requests from skipped requests.
Changes:
- Tracks and persists externally answered input requests.
- Renders “Answered” for accepted requests without structured answers.
- Adds serialization and rendering tests.
Show a summary per file
| File | Description |
|---|---|
agentHostSessionHandler.ts |
Tracks external acceptance outcomes. |
chatService.ts |
Extends the carousel contract. |
chatQuestionCarouselData.ts |
Persists the new state. |
chatQuestionCarouselPart.ts |
Renders the “Answered” summary. |
chatQuestionCarousel.css |
Styles the new summary. |
chatQuestionCarouselPart.test.ts |
Tests summary rendering. |
chatQuestionCarouselData.test.ts |
Tests serialization. |
Review details
- Files reviewed: 7/7 changed files
- Comments generated: 3
- Review effort level: Medium
pwang347
approved these changes
Jul 13, 2026
eleanorjboyd
approved these changes
Jul 13, 2026
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 microsoft/vscode-internalbacklog#8157
Problem
When a question the agent asks is answered outside the carousel UI — e.g. by a voice or free-text response the model interprets — the agent host completes the input request with
Acceptbut no structured answers. The carousel summary then rendered "Skipped", even though the user actually did respond.Fix
ChatInputResponseKind) inagentHostSessionHandler, and mark the carouselansweredExternallywhen it is accepted without structured answers (both the liveChatInputCompletedecho and the disposal settle path).answeredExternallytoIChatQuestionCarousel/ChatQuestionCarouselData(serialized viatoJSONso it survives reload).answeredExternallyis set.Genuinely skipped/cancelled/abandoned questions (no
Accept) still render "Skipped".Tests
shows answered message when answeredExternally but no datatoJSON preserves answeredExternallyAll 71 carousel tests pass.