Skip to content

[cherry-pick] chat: use trophy icon for model comparison toggle - #342710

Merged
Megan Rogge (meganrogge) merged 5 commits into
release/1.143from
release-1.143-pr342688-trophy
Oct 19, 2026
Merged

Megan Rogge (meganrogge) merged 5 commits into
release/1.143from
release-1.143-pr342688-trophy

Conversation

@meganrogge

Copy link
Copy Markdown
Collaborator

Ports #342688 to release/1.143.

Summary

  • Update @vscode/codicons from 0.0.46-44 to 0.0.46-46 in the root and web packages and lockfiles.
  • Register the trophy glyph added in Add trophy icon with metadata vscode-codicons#539.
  • Replace the model picker's Compare Models layers icon with the trophy while preserving its accessible label, tooltip, availability, and aria-pressed behavior.
  • Give the active comparison toggle a persistent theme-aware fill and border without changing its 28 x 28 dimensions.
  • Show one trophy in the composer for a configured comparison instead of one provider icon per attempt, while retaining model and variant names in hover and accessible text.
  • Remove the unused per-attempt comparison icon presentation contract and CSS.

Winner displays and metric badges are unchanged. The existing copy-codicons build task supplies the updated font.

Release branch adaptation

The production changes cherry-picked cleanly. release/1.143 does not contain newer main-only model picker tests that the first two source commits modified, so the equivalent trophy, accessible pressed-state, selected theme colors, and stable-dimension assertions were added to the release branch's existing comprehensive comparison picker test. The adapted assertion re-queries the live action after toggling because the release picker replaces that DOM node when entering comparison setup.

Validation

  • npm run install-fast - passed.
  • npm run build-fast -- --client-only - passed, including copy-codicons and a full client build.
  • Focused modelPickerActionItem, modelPickerTabbedWidget, and sessionComparisonModelSelection suites - passed, 164 tests.
  • npm run typecheck-client - passed.
  • Targeted ESLint for all seven changed TypeScript files - passed.
  • Targeted stylelint for modelPicker.css - passed with 12 existing design-token suggestions.
  • Targeted hygiene for the eight changed source, test, and CSS paths - passed.
  • git diff --check - passed.

Manual test

With model comparison enabled in the Agents window, open the new-session model picker. Confirm the trophy appears beside Search. Activate it and verify the selected fill and border remain visible after moving the pointer away, aria-pressed is true, and the control does not shift size. Configure multiple attempts and confirm the composer shows exactly one trophy while hover and accessible text still list the configured models and variants. Activate the trophy to edit the comparison, then reset the comparison and confirm the normal model label returns.

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>
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>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 5f2f1f6e-e1d6-4baa-a0ac-d60c48f5edd2
Copilot AI balanced review requested due to automatic review settings October 19, 2026 21:46
@meganrogge Megan Rogge (meganrogge) added this to the 1.144.0 milestone Oct 19, 2026
@meganrogge
Megan Rogge (meganrogge) enabled auto-merge (squash) October 19, 2026 21:47
@github-actions

Copy link
Copy Markdown
Contributor

Screenshot Changes

Base: cd32b350 Current: e788d794

Changed (4)

sessions/compareModels/sessionComparisonModelPicker/NoAttemptsSelected/Light
Before After
before after
sessions/compareModels/sessionComparisonModelPicker/AttemptsSelected/Light
Before After
before after
sessions/compareModels/sessionComparisonModelPicker/JudgeSelected/Light
Before After
before after
sessions/compareModels/sessionComparisonModelPicker/SynthesizerSelected/Light
Before After
before after

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.

🟢 Approval recommended

The scoped presentation changes have focused regression coverage and no identified blocking defects.

No open issues 🎉

1 file not reviewed
  • remote/web/package-lock.json: Generated file
What changed in this PR

Ports the model-comparison trophy presentation to the release branch while preserving comparison behavior and accessibility.

Changes:

  • Update Codicons dependencies and register the trophy glyph.
  • Use a single trophy for comparisons, with persistent selected-state styling.
  • Remove obsolete per-attempt icon support and extend regression coverage.
File Description
src/​vs/​workbench/​contrib/​chat/​test/​browser/​widget/​input/​modelPicker/​modelPickerTabbedWidget.test.ts Verify trophy, pressed state, colors, and dimensions.
src/​vs/​workbench/​contrib/​chat/​test/​browser/​widget/​input/​modelPicker/​modelPickerActionItem.test.ts Cover single-trophy rendering, accessibility, and reset.
src/​vs/​workbench/​contrib/​chat/​browser/​widget/​input/​modelPicker/​modelPickerWidget.ts Render one trophy for configured comparisons.
src/​vs/​workbench/​contrib/​chat/​browser/​widget/​input/​modelPicker/​modelPickerTabbedWidget.ts Use trophy for the comparison toggle.
src/​vs/​workbench/​contrib/​chat/​browser/​widget/​input/​modelPicker/​modelPickerComparison.ts Remove obsolete icon presentation contract.
src/​vs/​workbench/​contrib/​chat/​browser/​widget/​input/​modelPicker/​media/​modelPicker.css Style selected toggle; remove obsolete icon-row styling.
src/​vs/​sessions/​contrib/​chat/​browser/​sessionComparisonModelSelection.ts Remove unused summary model IDs.
src/​vs/​base/​common/​codiconsLibrary.ts Register trophy glyph.
remote/​web/​package.json Update web Codicons dependency.
remote/​web/​package-lock.json Lock updated web Codicons package.
package.json Update root Codicons dependency.
package-lock.json Lock updated root Codicons package.

Review effort: Balanced

@meganrogge
Megan Rogge (meganrogge) merged commit bd48520 into release/1.143 Oct 19, 2026
89 of 90 checks passed
@meganrogge
Megan Rogge (meganrogge) deleted the release-1.143-pr342688-trophy branch October 19, 2026 23:09
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.

4 participants