From 1e3778e82e8a8d51ea51b5077a414dc05c4b43fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Wed, 11 Feb 2026 14:35:54 +0100 Subject: [PATCH] fix(vscode): forward session.updated SSE events so title reactively updates in TaskHeader --- packages/kilo-vscode/src/KiloProvider.ts | 11 +++++++++++ .../kilo-vscode/webview-ui/src/context/session.tsx | 4 ++++ packages/kilo-vscode/webview-ui/src/types/messages.ts | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/packages/kilo-vscode/src/KiloProvider.ts b/packages/kilo-vscode/src/KiloProvider.ts index 79e910478d3..95e142fe4a9 100644 --- a/packages/kilo-vscode/src/KiloProvider.ts +++ b/packages/kilo-vscode/src/KiloProvider.ts @@ -820,6 +820,17 @@ export class KiloProvider implements vscode.WebviewViewProvider { session: this.sessionToWebview(event.properties.info), }) break + + case "session.updated": + // Keep local state in sync (e.g. title generation) + if (this.currentSession?.id === event.properties.info.id) { + this.currentSession = event.properties.info + } + this.postMessage({ + type: "sessionUpdated", + session: this.sessionToWebview(event.properties.info), + }) + break } } diff --git a/packages/kilo-vscode/webview-ui/src/context/session.tsx b/packages/kilo-vscode/webview-ui/src/context/session.tsx index 97b3419498e..822486b73e0 100644 --- a/packages/kilo-vscode/webview-ui/src/context/session.tsx +++ b/packages/kilo-vscode/webview-ui/src/context/session.tsx @@ -239,6 +239,10 @@ export const SessionProvider: ParentComponent = (props) => { case "sessionsLoaded": handleSessionsLoaded(message.sessions) break + + case "sessionUpdated": + setStore("sessions", message.session.id, message.session) + break } }) diff --git a/packages/kilo-vscode/webview-ui/src/types/messages.ts b/packages/kilo-vscode/webview-ui/src/types/messages.ts index 3abc7663712..4fa871bc4a0 100644 --- a/packages/kilo-vscode/webview-ui/src/types/messages.ts +++ b/packages/kilo-vscode/webview-ui/src/types/messages.ts @@ -233,6 +233,11 @@ export interface SessionCreatedMessage { session: SessionInfo } +export interface SessionUpdatedMessage { + type: "sessionUpdated" + session: SessionInfo +} + export interface MessagesLoadedMessage { type: "messagesLoaded" sessionID: string @@ -302,6 +307,7 @@ export type ExtensionMessage = | PermissionRequestMessage | TodoUpdatedMessage | SessionCreatedMessage + | SessionUpdatedMessage | MessagesLoadedMessage | MessageCreatedMessage | SessionsLoadedMessage