[cherry-pick] sessions: revert Customizations sidebar reorganization - #337032
Merged
Merged
Conversation
Ladislau Szomoru (lszomoru)
approved these changes
Sep 21, 2026
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Duplicate activation, broken toolbar focus and feature gating, and incomplete customization entries remain unresolved.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 1
Open (8)
Prevent nested button clicks from running commands twice · New Include Tools in collapsed Customizations total · New Register Prompts in customization sidebar items · New Delegate custom action focus to nested button · New Avoid :has() for virtualized list row styling · New Skip context menu for Automations section · New Hide Customizations pane when chat is disabled · New Close find widget before focusing Customizations · New
What changed in this PR
Cherry-picks the release revert of the Sessions sidebar reorganization, restoring the expandable Customizations pane and stable Sessions header.
Changes:
- Restores the Customizations toolbar and split-pane layout.
- Removes Customizations and header entries from the virtualized Sessions list.
- Updates tests, accessibility text, styles, fixtures, and screenshot baselines.
| File | Description |
|---|---|
| test/componentFixtures/blocks-ci-screenshots.md | Updates Sessions screenshot baselines. |
| src/vs/workbench/test/browser/componentFixtures/sessions/sessionsList.fixture.ts | Removes obsolete editor-service setup. |
| src/vs/sessions/sessions.common.main.ts | Loads the restored toolbar contribution. |
| src/vs/sessions/contrib/sessions/test/browser/sessionsViewPane.test.ts | Tests responsive pane restoration. |
| src/vs/sessions/contrib/sessions/test/browser/sessionsRename.test.ts | Updates accessibility-help expectations. |
| src/vs/sessions/contrib/sessions/test/browser/sessionsList.test.ts | Removes temporary shortcut-list tests. |
| src/vs/sessions/contrib/sessions/test/browser/aiCustomizationShortcutsWidget.fixture.ts | Adds Customizations widget fixtures. |
| src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.ts | Restores section action conditions. |
| src/vs/sessions/contrib/sessions/browser/views/sessionsView.ts | Restores the split Customizations pane. |
| src/vs/sessions/contrib/sessions/browser/views/sessionsList.ts | Removes temporary embedded navigation entries. |
| src/vs/sessions/contrib/sessions/browser/media/sessionsViewPane.css | Restores pane and header styling. |
| src/vs/sessions/contrib/sessions/browser/media/sessionsList.css | Reverts temporary list-row styling. |
| src/vs/sessions/contrib/sessions/browser/media/customizationsToolbar.css | Adds Customizations toolbar styling. |
| src/vs/sessions/contrib/sessions/browser/media/agentHostToolbar.css | Clarifies toolbar separator styling. |
| src/vs/sessions/contrib/sessions/browser/customizationsToolbar.contribution.ts | Registers Customizations actions and counts. |
| src/vs/sessions/contrib/sessions/browser/customizationsConstants.ts | Removes the obsolete command constant. |
| src/vs/sessions/contrib/sessions/browser/customizations.contribution.ts | Removes the temporary contribution. |
| src/vs/sessions/contrib/sessions/browser/aiCustomizationShortcutsWidget.ts | Implements the expandable toolbar widget. |
| src/vs/sessions/contrib/sessions/browser/agentHostShortcutsWidget.ts | Aligns comments with restored layout. |
| src/vs/sessions/contrib/providers/remoteAgentHost/browser/media/hostFilter.css | Aligns host-picker container styling. |
| src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilterActionViewItem.ts | Reuses Customizations row structure. |
| src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.ts | Updates Customizations accessibility guidance. |
| src/vs/sessions/browser/menus.ts | Adds the Customizations sidebar menu. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+203
to
+205
| this._viewItemDisposables.add(this._button.onDidClick(() => { | ||
| this._action.run(); | ||
| })); |
Comment on lines
+112
to
+123
| for (const config of CUSTOMIZATION_ITEMS) { | ||
| if (config.section && hidden.has(config.section)) { | ||
| continue; | ||
| } | ||
| if (config.modelSection) { | ||
| total += this.itemsModel.getCount(config.modelSection).read(reader); | ||
| } else if (config.isMcp) { | ||
| total += this.mcpService.servers.read(reader).length; | ||
| } else if (config.isPlugins) { | ||
| total += this.itemsModel.getPluginCount().read(reader); | ||
| } | ||
| } |
Comment on lines
+98
to
+102
| { | ||
| id: 'sessions.customization.agents', | ||
| label: localize('agents', "Agents"), | ||
| icon: agentIcon, | ||
| section: AICustomizationManagementSection.Agents, |
Comment on lines
+180
to
+184
| protected override getTooltip(): string | undefined { | ||
| return undefined; | ||
| } | ||
|
|
||
| override render(container: HTMLElement): void { |
Comment on lines
+972
to
+973
| .monaco-list-row.focused:has(.session-section), | ||
| .monaco-list-row.selected:has(.session-section) { |
Comment on lines
4553
to
4556
| if (isSessionSection(element)) { | ||
| if (element.id === SESSIONS_HEADER_SECTION_ID || isShortcutSection(element.id)) { | ||
| return; | ||
| } | ||
| this.showSectionContextMenu(element, e.anchor); | ||
| return; | ||
| } |
Comment on lines
+381
to
+388
| if (isPhoneLayout(this.layoutService)) { | ||
| if (this._customizationsWidget) { | ||
| this.sidebarSplitView.removeView(1, Sizing.Distribute); | ||
| this._customizationsWidget = undefined; | ||
| this.customizationsPaneDisposables.clear(); | ||
| } | ||
| return; | ||
| } |
| focusCustomizations(): void { | ||
| if (!isPhoneLayout(this.layoutService)) { | ||
| this.sessionsControl?.focusCustomizations(); | ||
| this._customizationsWidget?.focus(); |
Christof Marti (chrmarti)
approved these changes
Sep 21, 2026
Sandeep Somavarapu (sandy081)
merged commit Sep 21, 2026
ca4c65a
into
release/1.139
34 checks passed
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.


Cherry-pick of #337007 from
main.Summary
Testing
npm run compilenpm run typecheck-clientnpm run transpile-client && ./scripts/test.sh --run src/vs/sessions/contrib/sessions/test/browser/sessionsList.test.ts --run src/vs/sessions/contrib/sessions/test/browser/sessionsViewPane.test.ts(146 passing)npm run hygienenpm run valid-layers-checkgit diff --check