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;
}
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<WorkflowStore> = (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;
},

Loading…
Cancel
Save