Skip to content

chat: grow migration tree rows to fit MCP warnings - #341853

Merged
Vritant Bhardwaj (vritant24) merged 2 commits into
mainfrom
agents/fix-migration-tree-view-warnings
Oct 15, 2026
Merged

Vritant Bhardwaj (vritant24) merged 2 commits into
mainfrom
agents/fix-migration-tree-view-warnings

Conversation

@vritant24

@vritant24 Vritant Bhardwaj (vritant24) commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

MCP servers with several migration warnings overflow their row in the Migrations tree, which clips the server name and the later warnings.

Cause

MigrationTreeDelegate.hasDynamicHeight already returns true for rows with migration changes. However, the WorkbenchObjectTree was created without supportDynamicHeights, so the list ignored the delegate and kept every row at the fixed 68px height.

Changes

  • Enable supportDynamicHeights on the migration tree so rows with warnings are measured and grow to fit their content. Rows without warnings keep their fixed height.
  • Lay out the tree with the container width so wrapped warnings are re-measured when the dashboard is resized.
  • Add MigrationsMcpWarnings and MigrationsMcpWarningsNarrow component fixtures for an MCP server with five warnings at 860px and 360px widths.

Screenshots

Fixture MigrationsMcpWarnings with a GitHub MCP server that has five migration warnings (Dark theme).

Before After
Before: the GitHub row is clipped. Its name is hidden and the later warnings are cut off. After: the GitHub row grows to show its name and all five warnings.

Narrow layout (MigrationsMcpWarningsNarrow, 360px):

Before After
Before, narrow: wrapped warnings overflow and overlap the Playwright row below. After, narrow: the GitHub row grows to fit all wrapped warnings without overlap.

How to test

Open the Chat Customizations → Migrations page with a workspace .vscode/mcp.json server that triggers several warnings, for example inputs, config variables, OAuth, gallery, and dev. The row should show the server name and every warning without clipping or overlapping the next row. You can also view the chat/aiCustomizations/customizationMigrationDashboard/MigrationsMcpWarnings* fixtures in the component explorer.

Validation

  • ./scripts/test.sh --run src/vs/workbench/contrib/chat/test/browser/aiCustomization/customizationMigrationDashboard.test.ts: passed (12 tests)
  • npm run eslint -- <changed files>: passed
  • Component explorer stability check for Migrations, MigrationsNarrow, MigrationsMcpWarnings, and MigrationsMcpWarningsNarrow (Dark): passed (5/5 stable)
  • Temporarily disabling supportDynamicHeights reproduced the clipped row in the new fixture, which confirms the option is what fixes it.

The migration tree delegate reported dynamic heights for rows with migration changes, but the tree was created without supportDynamicHeights, so rows stayed fixed at 68px. MCP servers with several warnings were clipped, hiding the server name and later warnings. Enable dynamic heights and lay out with the container width so wrapped warnings are re-measured on resize. Add component fixtures for an MCP server with several warnings at regular and narrow widths.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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 focused changes follow the existing tree measurement contract, with regression fixtures and no unresolved findings.

0 open findings

What changed in this PR

Fixes clipped MCP migration warnings in the Chat Customizations migration tree.

Changes:

  • Enables dynamic row heights for migration warnings.
  • Passes container width to tree layout so wrapped warnings are remeasured on resize.
  • Adds wide and narrow fixtures with five MCP warnings.
File Description
src/​vs/​workbench/​test/​browser/​componentFixtures/​sessions/​customizationMigrationDashboard.fixture.ts Adds warning-heavy fixtures at 860px and 360px widths.
src/​vs/​workbench/​contrib/​chat/​browser/​aiCustomization/​customizationMigrationDashboard.ts Enables dynamic heights and width-aware layout.

🧠 Review effort: Balanced


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Screenshot Changes

Base: d771f022 Current: 6cf939a2

Added (2)

chat/aiCustomizations/customizationMigrationDashboard/MigrationsMcpWarnings/Light

current

chat/aiCustomizations/customizationMigrationDashboard/MigrationsMcpWarningsNarrow/Light

current

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.

3 participants