From cfbf377126591f11f2187705079ed3f416a13e81 Mon Sep 17 00:00:00 2001 From: shrimbly Date: Tue, 24 Feb 2026 13:07:34 +1300 Subject: [PATCH] fix: restore hasUnsavedChanges on saveAsFile failure - Capture prevUnsaved from hasUnsavedChanges before set() call - Add hasUnsavedChanges to rollback set() call on save failure - All three fields now properly restored: workflowId, workflowName, hasUnsavedChanges - Prevents dirty flag from remaining stuck at true after failed save --- src/store/workflowStore.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/store/workflowStore.ts b/src/store/workflowStore.ts index 171a378d..78e9ba36 100644 --- a/src/store/workflowStore.ts +++ b/src/store/workflowStore.ts @@ -1845,7 +1845,7 @@ const workflowStoreImpl: StateCreator = (set, get) => ({ return false; } - const { saveDirectoryPath, workflowId: prevId, workflowName: prevName } = get(); + const { saveDirectoryPath, workflowId: prevId, workflowName: prevName, hasUnsavedChanges: prevUnsaved } = get(); if (!saveDirectoryPath) { return false; } @@ -1861,7 +1861,7 @@ const workflowStoreImpl: StateCreator = (set, get) => ({ const success = await get().saveToFile(); if (!success) { // Rollback to previous identity on failure - set({ workflowId: prevId, workflowName: prevName }); + set({ workflowId: prevId, workflowName: prevName, hasUnsavedChanges: prevUnsaved }); } return success; },