Merged
Conversation
When toggling browse mode, the back link appears/disappears but layout() was never re-called, causing the list height to not account for the changed chrome. This clipped the last entry. Cache the last layout dimensions and re-call layout() after toggling browse mode. Fixes #304139
The AICustomizationListWidget recently added a dependency on IProductService but the component fixtures were not updated, causing all AI customization fixtures to fail with 'depends on UNKNOWN service productService'.
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes a layout issue in the AI Customizations UI where, after switching to “Browse Marketplace” in the MCP Servers tab, the last marketplace entry could be partially clipped (missing a re-layout when the back-link appears). Also expands component-explorer fixtures to provide more realistic, scrollable datasets and adds guidance for screenshot fixtures.
Changes:
- Trigger a widget re-layout when entering/exiting browse mode in
McpListWidgetandPluginListWidget. - Expand AI Customizations management editor fixtures with richer data, new per-tab screenshot fixtures, and standalone browse-mode fixtures.
- Update the
chat-customizations-editorskill doc with instructions for targeting specific tab fixtures.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.ts |
Store last layout size and re-layout on browse-mode toggle so the list height accounts for the back-link. |
src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.ts |
Same browse-mode re-layout behavior as MCP widget to avoid clipped content. |
src/vs/workbench/test/browser/componentFixtures/aiCustomizationManagementEditor.fixture.ts |
Adds richer fixture data, per-tab fixtures, and standalone browse-mode fixtures for MCP/plugins. |
src/vs/workbench/test/browser/componentFixtures/aiCustomizationListWidget.fixture.ts |
Adds IProductService mock to satisfy dependencies for list widget fixture rendering. |
.github/skills/chat-customizations-editor/SKILL.md |
Documents new tab-specific screenshot fixtures and how to add new ones. |
Comments suppressed due to low confidence (1)
src/vs/workbench/test/browser/componentFixtures/aiCustomizationManagementEditor.fixture.ts:597
- This uses a fixed
setTimeout(..., 50)and then manually callswidget.layout(height, width)to stabilize the screenshot. The fixed delay is prone to flakiness across CI/machines, and the explicit layout call can hide regressions in the widget’s internal browse-mode reflow. Prefer waiting for a deterministic condition (e.g., list has N items, or the loading empty state text changes) and rely on the widget’s own layout behavior.
// Wait for the marketplace query to resolve
await new Promise(resolve => setTimeout(resolve, 50));
// Re-layout after browse mode
widget.layout(height, width);
src/vs/workbench/test/browser/componentFixtures/aiCustomizationManagementEditor.fixture.ts
Outdated
Show resolved
Hide resolved
src/vs/workbench/test/browser/componentFixtures/aiCustomizationManagementEditor.fixture.ts
Outdated
Show resolved
Hide resolved
alexdima
previously approved these changes
Mar 23, 2026
…! in ParsedPromptFile
alexdima
approved these changes
Mar 23, 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.
fix #304139
Also add more examples to fixtures