Skip to content

Remove redundant back-to-installed links from MCP/Plugin widgets#311456

Merged
joshspicer merged 1 commit intomainfrom
agents/ui-cleanup-back-button-integration
Apr 20, 2026
Merged

Remove redundant back-to-installed links from MCP/Plugin widgets#311456
joshspicer merged 1 commit intomainfrom
agents/ui-cleanup-back-button-integration

Conversation

@joshspicer
Copy link
Copy Markdown
Member

Summary

The global back arrow button (left of the search input) now handles exiting marketplace browse mode in MCP Servers and Plugins tabs, removing the redundant "← Back to installed servers/plugins" links that cluttered the UI.

Changes

  • aiCustomizationManagementEditor.tscreateBackArrowButton and injectBackArrowIntoSearchRow now accept an optional click handler. For MCP/Plugin sections, the handler exits browse mode when active, otherwise navigates back to the overview.
  • mcpListWidget.ts / pluginListWidget.ts — Removed the in-list backLink element, its DOM listeners, the backLink field, and the back-link height accounting in layout(). Added public isInBrowseMode() / exitBrowseMode() API for the editor to drive browse mode transitions.
  • aiCustomizationManagement.css — Removed .mcp-back-link styles (24 lines).

Before / After

Before After
Global back arrow + separate "← Back to installed" link Global back arrow handles both actions

Leverage the global back arrow button (left of search) to handle
browse-mode exit instead of showing separate 'Back to installed
servers/plugins' links inside each widget.

- Parameterize createBackArrowButton with optional click handler
- For MCP/Plugin sections, exit browse mode on click when active
- Remove backLink DOM element, listeners, and layout accounting
- Remove .mcp-back-link CSS styles
- Add public isInBrowseMode()/exitBrowseMode() to both widgets

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 20, 2026 19:01
@github-actions
Copy link
Copy Markdown
Contributor

Screenshot Changes

Base: 1b82a19e Current: e69dbdab

Changed (4)

chat/aiCustomizations/aiCustomizationManagementEditor/McpBrowseMode/Dark
Before After
before after
chat/aiCustomizations/aiCustomizationManagementEditor/PluginBrowseMode/Dark
Before After
before after
chat/aiCustomizations/aiCustomizationManagementEditor/McpBrowseMode/Light
Before After
before after
chat/aiCustomizations/aiCustomizationManagementEditor/PluginBrowseMode/Light
Before After
before after

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR simplifies the MCP Servers and Plugins management UI by removing the redundant in-list “Back to installed …” links and reusing the global back arrow to exit marketplace browse mode when applicable.

Changes:

  • Updated the management editor to allow the global back arrow to run a custom click handler for MCP/Plugin sections (exit browse mode if active, otherwise return to overview).
  • Removed the in-widget back-link UI and related layout accounting from MCP/Plugin list widgets; added isInBrowseMode() / exitBrowseMode() APIs.
  • Deleted now-unused CSS styles for the removed back-link element.
Show a summary per file
File Description
src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.ts Adds optional click handler support for the global back arrow and wires it to exit browse mode in MCP/Plugins.
src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.ts Removes the in-list back link; exposes browse-mode query/exit APIs; adjusts list layout.
src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.ts Removes the in-list back link; exposes browse-mode query/exit APIs; adjusts list layout.
src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css Removes .mcp-back-link styling now that the element is gone.

Copilot's findings

Comments suppressed due to low confidence (1)

src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.ts:787

  • The back arrow button’s aria-label/hover text is always "Back to overview", but in MCP/Plugins the click handler can exit marketplace browse mode (back to installed) instead. This makes the accessible name/tooltip inaccurate when browse mode is active. Consider allowing the label/tooltip to be provided by the caller (or update it dynamically based on widget browse state) so it matches the actual action.
	private createBackArrowButton(onClick?: () => void): HTMLButtonElement {
		const button = $('button.section-back-arrow-button') as HTMLButtonElement;
		button.type = 'button';
		button.setAttribute('aria-label', localize('backToOverview', "Back to overview"));
		this.editorDisposables.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('element'), button, localize('backToOverviewTooltip', "Back to overview")));
  • Files reviewed: 4/4 changed files
  • Comments generated: 0

@joshspicer joshspicer merged commit fd15d12 into main Apr 20, 2026
30 checks passed
@joshspicer joshspicer deleted the agents/ui-cleanup-back-button-integration branch April 20, 2026 20:31
@vs-code-engineering vs-code-engineering Bot added this to the 1.118.0 milestone Apr 20, 2026
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