Repository navigation
chat: use trophy icon for model comparison toggle - #342688
Merged
Megan Rogge (meganrogge) merged 6 commits intoOct 20, 2026
Merged
Conversation
Update Codicons to 0.0.46-46 and register the trophy glyph added in microsoft/vscode-codicons#539. Preserve the comparison toggle's accessible label and pressed-state behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the existing active input-option colors and border for the trophy toggle while preserving its dimensions and accessible pressed state. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Megan Rogge (meganrogge)
enabled auto-merge (squash)
October 19, 2026 21:02
Contributor
Screenshot ChangesBase: Changed (6) |
Contributor
|
This PR will be automatically cherry-picked to |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The narrow changes preserve existing toggle behavior and accessibility, with consistent dependency updates and targeted regression coverage.
No open issues 🎉
1 file not reviewed
remote/web/package-lock.json: Generated file
What changed in this PR
Updates the chat model picker’s Compare Models toggle with a trophy icon and a persistent, theme-aware selected state.
Changes:
- Updates root and web Codicons dependencies and registers the trophy glyph.
- Replaces the toggle icon and adds selected styling without changing its dimensions.
- Extends regression tests for the icon, pressed state, colors, and sizing.
No actionable defects remain. Tests were not rerun during this review.
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerTabbedWidget.test.ts | Verifies icon, state, colors, and stable dimensions. |
| src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabbedWidget.ts | Uses the trophy icon. |
| src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/media/modelPicker.css | Adds theme-aware selected styling. |
| src/vs/base/common/codiconsLibrary.ts | Registers the trophy glyph. |
| remote/web/package.json | Updates the web Codicons dependency. |
| remote/web/package-lock.json | Locks the updated web dependency. |
| package.json | Updates the root Codicons dependency. |
| package-lock.json | Locks the updated root dependency. |
Review effort: Balanced
Vijay Upadya (vijayupadya)
previously approved these changes
Oct 19, 2026
Replace the composer's per-attempt provider icons with the comparison trophy. Preserve committed model details in the hover and accessible label across expanded, compact, and minimal layouts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Dmitriy Vasyura (dmitrivMS)
previously approved these changes
Oct 19, 2026
…s-trophy-icon-support # Conflicts: # src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabbedWidget.ts Co-authored-by: meganrogge <29464607+meganrogge@users.noreply.github.com>
Alexandru Dima (alexdima)
approved these changes
Oct 19, 2026
Dmitriy Vasyura (dmitrivMS)
approved these changes
Oct 19, 2026
Megan Rogge (meganrogge)
deleted the
agents/update-codicnos-trophy-icon-support
branch
October 20, 2026 00:09
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.
trophy.mov
Summary
@vscode/codiconsfrom0.0.46-44to the published0.0.46-46prerelease in the root and web packages and lockfiles.0xecf9) added in Add trophy icon with metadata vscode-codicons#539.Winner displays and metric badges are unchanged. The existing
copy-codiconsbuild task supplies the updated font; no custom font binary or release-infrastructure change is needed.Validation
npm run build-fast -- --client-only— passed; client output refreshed and package font copied.npm run typecheck-client— passed after removing an import made unused by the composer simplification.npm run build-fast— passed after the styling update; client, built-in extensions, extension media, and Copilot outputs built for the live Agents window../scripts/test.sh --run src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerTabbedWidget.test.ts— passed, 130 tests../scripts/test.sh --reporter dot --run src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerActionItem.test.ts --run src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerTabbedWidget.test.ts --run src/vs/sessions/contrib/chat/test/browser/sessionComparisonModelSelection.test.ts— passed, 173 tests, including exact single-trophy rendering, variant accessibility/hover, layout modes, and comparison reset.npm run eslint -- src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerWidget.ts src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerComparison.ts src/vs/sessions/contrib/chat/browser/sessionComparisonModelSelection.ts src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerActionItem.test.ts— passed; the test file was rechecked successfully after the final assertion update.node build/hygiene.ts src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerWidget.ts src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerComparison.ts src/vs/sessions/contrib/chat/browser/sessionComparisonModelSelection.ts src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerActionItem.test.ts src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/media/modelPicker.css— passed, 5 files.npm run eslint -- src/vs/base/common/codiconsLibrary.ts src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabbedWidget.ts src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerTabbedWidget.test.ts— passed.npm run eslint -- src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerTabbedWidget.test.ts— passed after the styling regression assertions were added.npm run stylelint -- src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/media/modelPicker.css— passed; reported 12 existing design-token suggestions outside the added rules.node build/hygiene.ts src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/media/modelPicker.css src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerTabbedWidget.test.ts— passed, 2 files.git diff --checkandgit diff --cached --check— passed before commit.SingleModelPickercomponent fixture in dark, light, dark high-contrast, and light high-contrast themes. Activated the trophy toggle and verified comparison setup opens with the existing Compare Models accessible name and pressed state.aria-pressedis true, and the control remains 28 × 28.Integration/smoke tests and a live screen-reader session were not run locally. The four-theme fixture checks cover the trophy substitution; the final selected-state styling and six-attempt composer were visually checked in the live Agents window with the cloned profile's theme.
Manual Test
With model comparison enabled in the Agents window, open the new-session model picker. Confirm the trophy appears beside Search; activate it to enter comparison setup. Move the pointer away and confirm the selected fill and border remain visible. Activate it again to return to single-model selection; the selected treatment should disappear without changing the control's dimensions.
Configure multiple comparison attempts and finish setup. Confirm the composer displays exactly one trophy instead of multiple provider icons or a joined model-name label. Hover the trophy to inspect the configured models and click it to edit the comparison. The send action should still report the configured attempt count. Repeat with variants of the same model and a narrow composer.