Improve Fusion visibility in model picker #343324

Merged
lramos15 opened 2:51pm on October 21, 2026 wanted to merge 126 Ξ” into microsoft/vscode main from
agents/improve-fusion-visibility-model-picker
Diff Delta:
126
About 9 Diff Delta/hour
Classified as:  Feature Improvement

lramos15's Description of Work

Makes Copilot Fusion stand out in the model picker.



  • Taller row: Copilot Fusion's row is twice the height of the other entries. Action list items gain a heightInLines option for this; values below 1 or not finite are ignored.


  • Brand gradient badge: Fusion's discount badge uses the GitHub Copilot mint-to-purple gradient, registered as theme colors (chat.fusionBadgeGradientStart, chat.fusionBadgeGradientEnd, chat.fusionBadgeForeground). The badge text keeps at least 5.7:1 contrast across the gradient. High contrast themes drop the fill and show an outlined pill with the contrast border.

  • The gradient style follows Fusion's actual discount at the selected effort level, so other routing badges are unaffected. Plain Auto and HydraFusion rows are unchanged.

How to test


  1. Sign in with a plan that offers Copilot Fusion with a discount, and open the model picker.

  2. Copilot Fusion leads the list on a double-height row, with its discount in the brand gradient. Check dark, light, and high contrast themes.

Component fixtures: chat/input/tabbedModelPicker/PickerWithCopilotFusionDiscount and PickerCopilotFusionSelected.

Validation



  • ./scripts/test.sh --run …/modelPickerTabbedWidget.test.ts --run …/modelPickerPresentation.test.ts --run …/modelPickerCard.test.ts --run src/vs/platform/actionWidget/test/browser/actionList.test.ts: 390 passing


  • npm run typecheck-client: passed


  • npm run eslint and hygiene on the changed files: passed


  • npm run stylelint: no errors

The component screenshot baselines for the new fixtures still need to be added.

9 total changed files
(3 files ignored)
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Review complete πŸ’ͺ
No additional context awaits in the abyss below