From 603ec3dfd4ee4ccc9ac394e2eabde4890f2ea518 Mon Sep 17 00:00:00 2001 From: Don Jayamanne Date: Fri, 20 Feb 2026 12:58:52 +1100 Subject: [PATCH] Wait for request to be handled before disposing chat model (#296421) --- .../chatSessions/chatSessions.contribution.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts b/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts index aab01ee1d49..ada489b06ac 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts @@ -576,8 +576,16 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ if (chatOptions) { const resource = URI.revive(chatOptions.resource); const ref = await chatService.loadSessionForResource(resource, ChatAgentLocation.Chat, CancellationToken.None); - await chatService.sendRequest(resource, chatOptions.prompt, { agentIdSilent: type, attachedContext: chatOptions.attachedContext }); - ref?.dispose(); + try { + const result = await chatService.sendRequest(resource, chatOptions.prompt, { agentIdSilent: type, attachedContext: chatOptions.attachedContext }); + if (result.kind === 'queued') { + await result.deferred; + } else if (result.kind === 'sent') { + await result.data.responseCompletePromise; + } + } finally { + ref?.dispose(); + } } } }),