Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR improves the Agent Sessions “workspace/worktree” picker and related sessions UI plumbing in vs/sessions, aiming to make workspace selection clearer and more consistent across providers and scenarios.
Changes:
- Enhances the sessions workspace picker UI: provider grouping, remove-from-recents, and provider-grouped “Select…” browse submenus.
- Adds section-level toolbar actions in the Sessions list (e.g. “New Session”, “Archive All”, “Unarchive All”) and styling to show them on hover/focus.
- Extends the shared Action List widget to support clickable submenu chevrons and an option to not reserve submenu space for non-submenu rows.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/vs/sessions/contrib/sessions/browser/views/sessionsViewPane.ts | Deleted file (was effectively empty/placeholder in this PR diff). |
| src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.ts | Adds section toolbar actions (new session/archive/unarchive) with confirmation + storage. |
| src/vs/sessions/contrib/sessions/browser/views/sessionsList.ts | Renders a section-header toolbar with scoped context keys for section type. |
| src/vs/sessions/contrib/sessions/browser/sessionsProvidersServiceInterface.ts | Deleted file (was effectively empty/placeholder in this PR diff). |
| src/vs/sessions/contrib/sessions/browser/sessionsListControl.ts | Deleted file (was effectively empty/placeholder in this PR diff). |
| src/vs/sessions/contrib/sessions/browser/media/sessionsList.css | Shows section toolbar on row hover/focus. |
| src/vs/sessions/contrib/sessions/browser/defaultCopilotSessionsProvider.ts | Deleted file (was effectively empty/placeholder in this PR diff). |
| src/vs/sessions/contrib/remoteAgentHost/browser/remoteAgentHostSessionsProvider.ts | Normalizes browse action label to localized “Folders”. |
| src/vs/sessions/contrib/copilotChatSessions/browser/copilotChatSessionsProvider.ts | Localizes and normalizes browse action labels (“Folders”, “Repositories”). |
| src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.ts | Workspace picker: provider change revalidation, recents removal, browse submenu grouping, submenu alignment behavior. |
| src/vs/sessions/SESSIONS_PROVIDER.md | Updates diagram text to reflect current UI areas. |
| src/vs/platform/actionWidget/browser/actionList.ts | Adds submenu chevron click handling + reserveSubmenuSpace option; adjusts submenu rendering. |
Comments suppressed due to low confidence (2)
src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.ts:345
localizekeyworkspacePicker.browseis reused with a different default message ("Select...") than other call sites in this file. This can break localization (key collisions) and cause wrong strings to be shown. Please use a unique key for this specific label.
kind: ActionListItemKind.Action,
label: localize('workspacePicker.browse', "Select..."),
group: { title: '', icon: Codicon.folderOpened },
item: {},
src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.ts:355
localizekeyworkspacePicker.browseis reused with different default strings ("Select {0}..." vs other variants in this file). Localization keys should map 1:1 to a specific message; otherwise extraction/translation can collide. Please introduce a distinct key for this variant.
kind: ActionListItemKind.Action,
label: localize(`workspacePicker.browse`, "Select {0}...", action.label),
group: { title: '', icon: action.icon },
item: { browseActionIndex: i },
roblourens
approved these changes
Mar 25, 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.
No description provided.