From 5cb50d5bda03a557b2130dd8ae1b6e259f5f3080 Mon Sep 17 00:00:00 2001 From: Connor Peet Date: Fri, 5 Dec 2025 16:28:47 -0800 Subject: [PATCH] sessions: make 'apply changes' show in working set multidiff (#281645) Closes #281641 --- .../chat/browser/chatEditing/chatEditingActions.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts b/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts index f7d3539c222..3aa89da173f 100644 --- a/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts +++ b/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts @@ -326,17 +326,13 @@ export class ViewAllSessionChangesAction extends Action2 { }); } - override async run(accessor: ServicesAccessor, ...args: unknown[]): Promise { - const chatWidgetService = accessor.get(IChatWidgetService); + override async run(accessor: ServicesAccessor, sessionResource?: URI): Promise { const agentSessionsService = accessor.get(IAgentSessionsService); const commandService = accessor.get(ICommandService); - - const chatWidget = chatWidgetService.lastFocusedWidget ?? chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat).find(w => w.supportsChangingModes); - if (!chatWidget?.viewModel) { + if (!URI.isUri(sessionResource)) { return; } - const sessionResource = chatWidget.viewModel.model.sessionResource; const session = agentSessionsService.getSession(sessionResource); const changes = session?.changes; if (!(changes instanceof Array)) { @@ -349,6 +345,7 @@ export class ViewAllSessionChangesAction extends Action2 { if (resources.length > 0) { await commandService.executeCommand('_workbench.openMultiDiffEditor', { + multiDiffSourceUri: sessionResource.with({ scheme: sessionResource.scheme + '-worktree-changes' }), title: localize('chatEditing.allChanges.title', 'All Session Changes'), resources, });