From 5029acfb9da2124515578438c6f9e9873641f6ea Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Sat, 3 Jan 2026 02:37:55 +0200 Subject: [PATCH] fix(session): refresh sessions list after worktree archive operation --- packages/desktop/src-tauri/Cargo.lock | 2 +- packages/ui/src/components/session/SessionDialogs.tsx | 3 ++- packages/ui/src/lib/sessionEvents.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/desktop/src-tauri/Cargo.lock b/packages/desktop/src-tauri/Cargo.lock index 06c0c789..a8e33333 100644 --- a/packages/desktop/src-tauri/Cargo.lock +++ b/packages/desktop/src-tauri/Cargo.lock @@ -2847,7 +2847,7 @@ dependencies = [ [[package]] name = "openchamber-desktop" -version = "1.4.0" +version = "1.4.1" dependencies = [ "anyhow", "axum", diff --git a/packages/ui/src/components/session/SessionDialogs.tsx b/packages/ui/src/components/session/SessionDialogs.tsx index 23f23675..94eba4be 100644 --- a/packages/ui/src/components/session/SessionDialogs.tsx +++ b/packages/ui/src/components/session/SessionDialogs.tsx @@ -609,6 +609,7 @@ export const SessionDialogs: React.FC = () => { description: renderToastDescription(archiveNote), }); closeDeleteDialog(); + loadSessions(); return; } @@ -671,7 +672,7 @@ export const SessionDialogs: React.FC = () => { } finally { setIsProcessingDelete(false); } - }, [deleteDialog, deleteDialogShouldRemoveRemote, deleteSession, deleteSessions, closeDeleteDialog, shouldArchiveWorktree, isWorktreeDelete, canRemoveRemoteBranches, projectDirectory]); + }, [deleteDialog, deleteDialogShouldRemoveRemote, deleteSession, deleteSessions, closeDeleteDialog, shouldArchiveWorktree, isWorktreeDelete, canRemoveRemoteBranches, projectDirectory, loadSessions]); const worktreeManagerBody = (
diff --git a/packages/ui/src/lib/sessionEvents.ts b/packages/ui/src/lib/sessionEvents.ts index 73705301..4b1fe20b 100644 --- a/packages/ui/src/lib/sessionEvents.ts +++ b/packages/ui/src/lib/sessionEvents.ts @@ -29,7 +29,7 @@ export const sessionEvents = { }; }, requestDelete(payload: SessionDeleteRequest) { - if (!payload.sessions.length) { + if (!payload.sessions.length && payload.mode !== 'worktree') { return; } deleteListeners.forEach((listener) => listener(payload));