Repository navigation
[cherry-pick] chat: use trophy icon for model comparison toggle - #342755
Closed
vs-code-engineering[bot] wants to merge 1 commit into
Closed
vs-code-engineering[bot] wants to merge 1 commit into
vs-code-engineering[bot] wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Committed conflict markers block compilation, and the incoming alternatives depend on APIs and fixtures unavailable on this branch.
2 open issues
What changed in this PR
Cherry-picks #342688’s trophy-based model comparison presentation into the target branch’s chat model picker.
Changes:
- Introduces a conflicting tooltip alternative.
- Adds comparison-toggle regression tests and upstream shortcut/discovery tests.
| File | Description |
|---|---|
src/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerTabbedWidget.test.ts |
Adds comparison tests within an unresolved conflict. |
src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabbedWidget.ts |
Contains conflicting tooltip implementations for the trophy toggle. |
Review effort: Balanced
Comment on lines
+745
to
+749
| <<<<<<< HEAD | ||
| tooltip: comparison.label, | ||
| ======= | ||
| tooltip: this._labelWithKeybinding(comparison.label, comparison.startCommandId), | ||
| >>>>>>> 23794cfbb1f (chat: use trophy icon for model comparison toggle (#342688)) |
Comment on lines
+783
to
+784
| <<<<<<< HEAD | ||
| ======= |
Dmitriy Vasyura (dmitrivMS)
approved these changes
Oct 20, 2026
Alexandru Dima (alexdima)
requested changes
Oct 20, 2026
Alexandru Dima (alexdima)
left a comment
Member
There was a problem hiding this comment.
conflict markers
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.

Cherry-pick of #342688 from
main.<<<<<<</=======/>>>>>>>) are committed to the branch — check it out locally, resolve, and force-push.Conflicting files:
src/vs/workbench/contrib/chat/browser/widget/input/modelPicker/modelPickerTabbedWidget.tssrc/vs/workbench/contrib/chat/test/browser/widget/input/modelPicker/modelPickerTabbedWidget.test.tstrophy.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.