From b4cbd7f0d65457807e32e852832e2ab30fe91800 Mon Sep 17 00:00:00 2001 From: Jake <101855602+jjdubski@users.noreply.github.com> Date: Wed, 13 May 2026 03:12:30 -0500 Subject: [PATCH] Fix: archived session bulk delete for VS Code extension (#1256) * fix/archived sessiongroup bulk delete * Remove in line comment Signed-off-by: Jake <101855602+jjdubski@users.noreply.github.com> * small fix for lint * indentation fix, restore to original --------- Signed-off-by: Jake <101855602+jjdubski@users.noreply.github.com> --- packages/ui/src/components/layout/VSCodeLayout.tsx | 2 ++ packages/ui/src/components/session/SessionDialogs.tsx | 6 +----- packages/ui/src/sync/session-ui-store.ts | 9 +++++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/ui/src/components/layout/VSCodeLayout.tsx b/packages/ui/src/components/layout/VSCodeLayout.tsx index 2cf0b8c2..02eb82fe 100644 --- a/packages/ui/src/components/layout/VSCodeLayout.tsx +++ b/packages/ui/src/components/layout/VSCodeLayout.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { ErrorBoundary } from '../ui/ErrorBoundary'; import { SessionSidebar } from '@/components/session/SessionSidebar'; +import { SessionDialogs } from '@/components/session/SessionDialogs'; import { ChatView } from '@/components/views/ChatView'; import { useSessionUIStore } from '@/sync/session-ui-store'; import { useViewportStore } from '@/sync/viewport-store'; @@ -520,6 +521,7 @@ export const VSCodeLayout: React.FC = () => { )} + ); }; diff --git a/packages/ui/src/components/session/SessionDialogs.tsx b/packages/ui/src/components/session/SessionDialogs.tsx index 1978f613..f68b2f9a 100644 --- a/packages/ui/src/components/session/SessionDialogs.tsx +++ b/packages/ui/src/components/session/SessionDialogs.tsx @@ -442,11 +442,7 @@ export const SessionDialogs: React.FC = () => { deletedIds = result.archivedIds; failedIds = result.failedIds; } else { - const result = await deleteSessions(ids, { - archiveWorktree: false, - deleteRemoteBranch: removeRemoteBranch, - deleteLocalBranch, - }); + const result = await deleteSessions(ids); deletedIds = result.deletedIds; failedIds = result.failedIds; } diff --git a/packages/ui/src/sync/session-ui-store.ts b/packages/ui/src/sync/session-ui-store.ts index 3edf25e8..461a3fe7 100644 --- a/packages/ui/src/sync/session-ui-store.ts +++ b/packages/ui/src/sync/session-ui-store.ts @@ -19,6 +19,7 @@ import type { WorktreeMetadata } from "@/types/worktree" import { opencodeClient } from "@/lib/opencode/client" import { useConfigStore } from "@/stores/useConfigStore" import { useProjectsStore } from "@/stores/useProjectsStore" +import { useGlobalSessionsStore, resolveGlobalSessionDirectory } from "@/stores/useGlobalSessionsStore" import { useDirectoryStore } from "@/stores/useDirectoryStore" import { useSessionFoldersStore } from "@/stores/useSessionFoldersStore" import { useCommandsStore } from "@/stores/useCommandsStore" @@ -1111,8 +1112,12 @@ export const useSessionUIStore = create()((set, get) => ({ if (attachmentDirectory) return attachmentDirectory const sessions = getAllSyncSessions() const session = sessions.find((s) => s.id === sessionId) - if (!session) return null - return resolveDirectoryKey(session) + if (session) return resolveDirectoryKey(session) + const globalStore = useGlobalSessionsStore.getState() + const globalSession = [...globalStore.activeSessions, ...globalStore.archivedSessions] + .find((s) => s.id === sessionId) + if (globalSession) return resolveGlobalSessionDirectory(globalSession) + return null }, getLastUserChoice: (sessionId) => {