Skip to content

sessions: add home button to Customizations header to open welcome page#312868

Draft
joshspicer wants to merge 8 commits intomainfrom
agents/agent-customization-home-button-ux
Draft

sessions: add home button to Customizations header to open welcome page#312868
joshspicer wants to merge 8 commits intomainfrom
agents/agent-customization-home-button-ux

Conversation

@joshspicer
Copy link
Copy Markdown
Member

Summary

Adds a home icon button to the "Customizations" collapsible header in the Agents sidebar. The button provides a direct entrypoint to the AI Customizations management editor's welcome/overview page.

UX Design

The home button sits at the right edge of the header row (to the right of the "Customizations" label/chevron toggle). This follows VS Code's standard pattern for panel action buttons that reveal on hover — keeping the UI clean by default but discoverable on interaction.

  • Collapsed and expanded: button is always present in the header (works in both states)
  • Reveal on hover: fades in at 70% opacity when the header row is hovered or focused
  • Fully opaque on direct hover: hover background + full opacity on the button itself
  • Does not interfere with the existing collapse/expand toggle (clicking the label still toggles)

Changes

aiCustomizationShortcutsWidget.ts

  • Added IEditorService and IHoverService as constructor dependencies
  • Added a home icon button (.ai-customization-home-btn) appended to the header element
  • Wired click, touch tap (Gesture/TouchEventType for iOS), and keyboard (Enter/Space) handlers
  • IHoverService tooltip: "Open Customizations Overview"
  • _openWelcomePage() method: opens AICustomizationManagementEditorInput and calls showWelcomePage() to reset to the overview

customizationsToolbar.css

  • .ai-customization-home-btn styles: hidden by default, reveal on header hover/focus, touch-action: manipulation for iOS tap delay elimination, focus ring for keyboard a11y

aiCustomizationShortcutsWidget.fixture.ts

  • Added IEditorService mock so component fixtures continue to render correctly

Add a home icon button to the 'Customizations' collapsible header in the
Agents sidebar. The button:
- Appears on hover of the header row (opacity transition)
- Opens the AI Customizations management editor and navigates to the
  welcome/overview page via showWelcomePage()
- Supports keyboard (Enter/Space), click, and touch tap (iOS)
- Shows a tooltip via IHoverService: 'Open Customizations Overview'
- Does not interfere with the existing collapse/expand toggle

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

github-actions Bot commented Apr 27, 2026

Screenshot Changes

Base: 6b2fbaf8 Current: e47b714f

Changed (6)

sessions/aiCustomizationShortcutsWidget/Expanded/Dark
Before After
before after
sessions/aiCustomizationShortcutsWidget/WithMcpServers/Dark
Before After
before after
sessions/aiCustomizationShortcutsWidget/WithCounts/Dark
Before After
before after
sessions/aiCustomizationShortcutsWidget/Expanded/Light
Before After
before after
sessions/aiCustomizationShortcutsWidget/WithMcpServers/Light
Before After
before after
sessions/aiCustomizationShortcutsWidget/WithCounts/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

Adds a “home” action in the Agents sidebar “Customizations” header to provide a direct entrypoint to the AI Customizations management editor’s welcome/overview page.

Changes:

  • Added a home icon trigger in AICustomizationShortcutsWidget that opens the management editor and resets it to the welcome page.
  • Added CSS to reveal the home button on header hover/focus and provide basic hover/focus affordances.
  • Updated the component fixture to register an IEditorService mock.
Show a summary per file
File Description
src/vs/sessions/contrib/sessions/browser/aiCustomizationShortcutsWidget.ts Adds the header home button, tooltip, and editor-opening logic.
src/vs/sessions/contrib/sessions/browser/media/customizationsToolbar.css Styles the new home button (visibility, hover/focus behavior, touch-action).
src/vs/sessions/contrib/sessions/test/browser/aiCustomizationShortcutsWidget.fixture.ts Extends fixture service registration to include an IEditorService mock.

Copilot's findings

Comments suppressed due to low confidence (1)

src/vs/sessions/contrib/sessions/browser/aiCustomizationShortcutsWidget.ts:166

  • The KEY_DOWN handler only calls preventDefault() for Enter/Space. To match the established pattern for custom button-like elements in vs/sessions, use DOM.EventHelper.stop(e, true) so the keystroke doesn’t bubble to parent handlers (and use void this._openWelcomePage() if the promise is intentionally not awaited).
		this._register(DOM.addDisposableListener(homeButton, DOM.EventType.KEY_DOWN, (e: KeyboardEvent) => {
			if (e.key === 'Enter' || e.key === ' ') {
				e.preventDefault();
				this._openWelcomePage();
			}
		}));
  • Files reviewed: 3/3 changed files
  • Comments generated: 1

Comment thread src/vs/sessions/contrib/sessions/browser/aiCustomizationShortcutsWidget.ts Outdated
joshspicer and others added 7 commits April 27, 2026 15:05
Move the home button to the start of the header (before the toggle pill)
and make it always visible. This makes the entrypoint more discoverable
for new users since it's no longer hidden behind a hover state.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use matching padding (4px 8px) so the home icon's horizontal position
matches the agent/skill/instruction icons listed below the header.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove font-size and explicit height overrides; instead mirror the
sidebar-action-button layout exactly (padding 4px 8px + gap 10px) so
the home icon naturally sizes and aligns with the section icons.

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

- Drop the header button's left padding and set the home button's right
  padding to 10px so 'Customizations' sits exactly 10px after the home
  icon, matching the icon->label gap of the section rows below.
- Remove the home icon's opacity dim; use the strong agentsPanel
  foreground so the home icon and 'Customizations' label render at the
  same color weight.
- Apply --vscode-descriptionForeground to the section rows below the
  header so they read as secondary content under the prominent header.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Codicons are a single-weight font, so font-weight has no effect on
icons. Increase the home icon's font-size to 18px so its visual stroke
weight matches the bold 'Customizations' label.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the entrypoint to the customizations welcome page from a header
icon to a footer link below the section list. The footer:
- Sits inside the collapsible content (collapses with the section)
- Uses subtle descriptionForeground styling with a top border separator
- Includes a right-arrow that nudges on hover for affordance
- Supports click, touch tap (iOS), and keyboard (Enter/Space)
- Restores the original header layout (no padding/color hacks)

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

2 participants