diff --git a/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts b/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts index 17573774ae7..22ac94c44ce 100644 --- a/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts +++ b/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.ts @@ -528,7 +528,7 @@ registerAction2(class RemoveAction extends Action2 { return; } - const session = chatEditingService.globalEditingSession; + const session = chatEditingService.getEditingSession(chatModel.sessionId); if (!session) { return; } @@ -620,17 +620,17 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 { const editorService = accessor.get(IEditorService); const chatModel = chatService.getSession(context.sessionId); - const requests = chatModel?.getRequests(); - if (!requests) { + if (!chatModel) { return; } - const snapshotRequestIndex = requests?.findIndex((v, i) => i > 0 && requests[i - 1]?.id === context.requestId); + const requests = chatModel.getRequests(); + const snapshotRequestIndex = requests.findIndex((v, i) => i > 0 && requests[i - 1]?.id === context.requestId); if (snapshotRequestIndex < 1) { return; } const snapshotRequestId = requests[snapshotRequestIndex]?.id; if (snapshotRequestId) { - const snapshot = chatEditingService.globalEditingSession?.getSnapshotUri(snapshotRequestId, context.uri); + const snapshot = chatEditingService.getEditingSession(chatModel.sessionId)?.getSnapshotUri(snapshotRequestId, context.uri); if (snapshot) { const editor = await editorService.openEditor({ resource: snapshot, label: localize('chatEditing.snapshot', '{0} (Snapshot {1})', basename(context.uri), snapshotRequestIndex - 1), options: { transient: true, activation: EditorActivation.ACTIVATE } }); if (isCodeEditor(editor)) { diff --git a/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.ts b/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.ts index 95d6d3330fa..e49f8637673 100644 --- a/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.ts +++ b/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.ts @@ -213,7 +213,7 @@ export class ChatEditingService extends Disposable implements IChatEditingServic .find(candidate => candidate.chatSessionId === chatSessionId); } - async createAdhocEditingSession(chatSessionId: string): Promise { + async createEditingSession(chatSessionId: string): Promise { const session = this._instantiationService.createInstance(ChatEditingSession, chatSessionId, false, this._editingSessionFileLimitPromise, this._lookupEntry.bind(this)); await session.init(); diff --git a/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.ts b/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.ts index 69c400a312c..717ed7e796a 100644 --- a/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.ts +++ b/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.ts @@ -572,7 +572,7 @@ class BuiltinDynamicCompletions extends Disposable { const len = result.suggestions.length; // RELATED FILES - if (widget.location === ChatAgentLocation.EditingSession && widget.viewModel && this._chatEditingService.globalEditingSessionObs.get()?.chatSessionId === widget.viewModel?.sessionId) { + if (widget.location === ChatAgentLocation.EditingSession && widget.viewModel && this._chatEditingService.getEditingSession(widget.viewModel.sessionId)) { const relatedFiles = (await raceTimeout(this._chatEditingService.getRelatedFiles(widget.viewModel.sessionId, widget.getInput(), token), 200)) ?? []; for (const relatedFileGroup of relatedFiles) { for (const relatedFile of relatedFileGroup.files) { diff --git a/src/vs/workbench/contrib/chat/common/chatEditingService.ts b/src/vs/workbench/contrib/chat/common/chatEditingService.ts index 3a2b40178e2..dc2a4a95120 100644 --- a/src/vs/workbench/contrib/chat/common/chatEditingService.ts +++ b/src/vs/workbench/contrib/chat/common/chatEditingService.ts @@ -40,7 +40,7 @@ export interface IChatEditingService { /** * Creates a new short lived editing session */ - createAdhocEditingSession(chatSessionId: string): Promise; + createEditingSession(chatSessionId: string): Promise; readonly editingSessionFileLimit: number; diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts index 9c6b69b3e4b..6ca0b87ae9d 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts @@ -1139,7 +1139,7 @@ export class InlineChatController implements IEditorContribution { const uri = this._editor.getModel().uri; const chatModel = this._chatService.startSession(ChatAgentLocation.Editor, token); - const editSession = await this._chatEditingService.createAdhocEditingSession(chatModel.sessionId); + const editSession = await this._chatEditingService.createEditingSession(chatModel.sessionId); // const store = new DisposableStore(); diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.ts index b502148e9a4..fe4a356ad20 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.ts @@ -337,7 +337,7 @@ export class InlineChatSessionServiceImpl implements IInlineChatSessionService { const chatModel = this._chatService.startSession(ChatAgentLocation.EditingSession, token); - const editingSession = await this._chatEditingService.createAdhocEditingSession(chatModel.sessionId); + const editingSession = await this._chatEditingService.createEditingSession(chatModel.sessionId); editingSession.addFileToWorkingSet(uri); const store = new DisposableStore();