From 326fb409c440a02572f24a67dfd5025de8c8b7a8 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 01:02:19 -0300 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=AA=B2=20BUG-#8:=20Add=20ChatViewProv?= =?UTF-8?q?ider.dispose(),=20forwarding=20to=20ChatController?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/vscode/sidebar/chatSidebarProvider.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/vscode/sidebar/chatSidebarProvider.ts b/src/vscode/sidebar/chatSidebarProvider.ts index 598f456..a1c6f4d 100644 --- a/src/vscode/sidebar/chatSidebarProvider.ts +++ b/src/vscode/sidebar/chatSidebarProvider.ts @@ -55,6 +55,10 @@ export class ChatViewProvider implements vscode.WebviewViewProvider { this.chat.startConnection(); } + dispose(): void { + this.chat.dispose(); + } + newSession(): void { this.sessions.newSession(); } From 4b17949a2fb7e96903fda9dda97ceadb2391a396 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 01:02:19 -0300 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=AA=B2=20BUG-#8:=20Kill=20the=20pycod?= =?UTF-8?q?eloop=20serve=20child=20process=20on=20extension=20deactivate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/extension.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/extension.ts b/src/extension.ts index cb9b31b..58d70d3 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,8 +1,11 @@ import * as vscode from "vscode"; import { ChatViewProvider } from "./vscode/sidebar/chatSidebarProvider"; +let activeProvider: ChatViewProvider | undefined; + export function activate(context: vscode.ExtensionContext): void { const provider = new ChatViewProvider(context); + activeProvider = provider; context.subscriptions.push( vscode.window.registerWebviewViewProvider("pycodeloop.chat", provider, { @@ -26,4 +29,7 @@ export function activate(context: vscode.ExtensionContext): void { ); } -export function deactivate(): void {} +export function deactivate(): void { + activeProvider?.dispose(); + activeProvider = undefined; +} From c8d36034d0a6c8dc6e58ba44e78b9afb4cabf035 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 01:15:28 -0300 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=AA=B2=20BUG-#8:=20Use=20context.subs?= =?UTF-8?q?criptions=20instead=20of=20module-level=20state=20to=20dispose?= =?UTF-8?q?=20the=20provider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/extension.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index 58d70d3..4f8e850 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,13 +1,11 @@ import * as vscode from "vscode"; import { ChatViewProvider } from "./vscode/sidebar/chatSidebarProvider"; -let activeProvider: ChatViewProvider | undefined; - export function activate(context: vscode.ExtensionContext): void { const provider = new ChatViewProvider(context); - activeProvider = provider; context.subscriptions.push( + provider, vscode.window.registerWebviewViewProvider("pycodeloop.chat", provider, { webviewOptions: { retainContextWhenHidden: true }, }), @@ -29,7 +27,4 @@ export function activate(context: vscode.ExtensionContext): void { ); } -export function deactivate(): void { - activeProvider?.dispose(); - activeProvider = undefined; -} +export function deactivate(): void {}