From ad0c61234239020a5a1e94e59a5621a133621dd3 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Tue, 23 Jul 2024 17:06:23 -0700 Subject: [PATCH] Fix potential leak of chat editors Fixes #213209 I believe that chat editors are potentially being leaked when progressive rendering ends due to `contentParts` being set without also being disposed of Also fixes the wrong selection potentially being used Fixes #217835 --- src/vs/workbench/contrib/chat/browser/chatListRenderer.ts | 7 +++++-- src/vs/workbench/contrib/chat/browser/chatWidget.ts | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts b/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts index 1351360016ee3..86d10a0d80a40 100644 --- a/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts +++ b/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts @@ -56,7 +56,7 @@ import { ChatFollowups } from 'vs/workbench/contrib/chat/browser/chatFollowups'; import { ChatMarkdownDecorationsRenderer } from 'vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer'; import { ChatMarkdownRenderer } from 'vs/workbench/contrib/chat/browser/chatMarkdownRenderer'; import { ChatEditorOptions } from 'vs/workbench/contrib/chat/browser/chatOptions'; -import { ChatCodeBlockContentProvider } from 'vs/workbench/contrib/chat/browser/codeBlockPart'; +import { ChatCodeBlockContentProvider, CodeBlockPart } from 'vs/workbench/contrib/chat/browser/codeBlockPart'; import { ChatAgentLocation, IChatAgentMetadata } from 'vs/workbench/contrib/chat/common/chatAgents'; import { CONTEXT_CHAT_RESPONSE_SUPPORT_ISSUE_REPORTING, CONTEXT_REQUEST, CONTEXT_RESPONSE, CONTEXT_RESPONSE_DETECTED_AGENT_COMMAND, CONTEXT_RESPONSE_FILTERED, CONTEXT_RESPONSE_VOTE } from 'vs/workbench/contrib/chat/common/chatContextKeys'; import { IChatRequestVariableEntry, IChatTextEditGroup } from 'vs/workbench/contrib/chat/common/chatModel'; @@ -162,7 +162,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer { return this._editorPool.inUse(); } @@ -488,6 +488,9 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer