Browse Source

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
handoff-20260429-1057
shrimbly 5 months ago
parent
commit
cfbf377126
  1. 4
      src/store/workflowStore.ts

4
src/store/workflowStore.ts

@ -1845,7 +1845,7 @@ const workflowStoreImpl: StateCreator<WorkflowStore> = (set, get) => ({
return false; return false;
} }
const { saveDirectoryPath, workflowId: prevId, workflowName: prevName } = get(); const { saveDirectoryPath, workflowId: prevId, workflowName: prevName, hasUnsavedChanges: prevUnsaved } = get();
if (!saveDirectoryPath) { if (!saveDirectoryPath) {
return false; return false;
} }
@ -1861,7 +1861,7 @@ const workflowStoreImpl: StateCreator<WorkflowStore> = (set, get) => ({
const success = await get().saveToFile(); const success = await get().saveToFile();
if (!success) { if (!success) {
// Rollback to previous identity on failure // Rollback to previous identity on failure
set({ workflowId: prevId, workflowName: prevName }); set({ workflowId: prevId, workflowName: prevName, hasUnsavedChanges: prevUnsaved });
} }
return success; return success;
}, },

Loading…
Cancel
Save