From cd3e0ca1243349f812c4823ee36c729405b2acb5 Mon Sep 17 00:00:00 2001 From: "youming.tang" Date: Wed, 4 Feb 2026 15:25:41 +0900 Subject: [PATCH] fix(session-category-registry): cleanup entries for task sessions --- src/features/background-agent/manager.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/features/background-agent/manager.ts b/src/features/background-agent/manager.ts index 4d0682e3..6debf8d5 100644 --- a/src/features/background-agent/manager.ts +++ b/src/features/background-agent/manager.ts @@ -16,6 +16,7 @@ import { createInternalAgentTextPart, } from "../../shared" import { setSessionTools } from "../../shared/session-tools-store" +import { SessionCategoryRegistry } from "../../shared/session-category-registry" import { ConcurrencyManager } from "./concurrency" import type { BackgroundTaskConfig, TmuxConfig } from "../../config/schema" import { isInsideTmux } from "../../shared/tmux" @@ -859,6 +860,7 @@ export class BackgroundManager { subagentSessions.delete(task.sessionID) } } + SessionCategoryRegistry.remove(sessionID) } } @@ -1022,6 +1024,8 @@ export class BackgroundManager { this.client.session.abort({ path: { id: task.sessionID }, }).catch(() => {}) + + SessionCategoryRegistry.remove(task.sessionID) } if (options?.skipNotification) { @@ -1169,6 +1173,8 @@ export class BackgroundManager { this.client.session.abort({ path: { id: task.sessionID }, }).catch(() => {}) + + SessionCategoryRegistry.remove(task.sessionID) } try { @@ -1471,6 +1477,7 @@ Use \`background_output(task_id="${task.id}")\` to retrieve this result when rea this.tasks.delete(taskId) if (task.sessionID) { subagentSessions.delete(task.sessionID) + SessionCategoryRegistry.remove(task.sessionID) } } }