Browse Source

fix: filter orphaned edges referencing non-existent nodes on load

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
handoff-20260429-1057
shrimbly 3 months ago
parent
commit
ff216aa5b8
  1. 6
      src/store/workflowStore.ts

6
src/store/workflowStore.ts

@ -2145,6 +2145,12 @@ const workflowStoreImpl: StateCreator<WorkflowStore> = (set, get) => ({
workflow.edges = Array.from(edgeById.values()); workflow.edges = Array.from(edgeById.values());
} }
// Filter orphaned edges referencing non-existent nodes
const nodeIds = new Set(workflow.nodes.map((n) => n.id));
workflow.edges = workflow.edges.filter(
(edge) => nodeIds.has(edge.source) && nodeIds.has(edge.target)
);
// Look up saved config from localStorage (only if workflow has an ID) // Look up saved config from localStorage (only if workflow has an ID)
const configs = loadSaveConfigs(); const configs = loadSaveConfigs();
const savedConfig = workflow.id ? configs[workflow.id] : null; const savedConfig = workflow.id ? configs[workflow.id] : null;

Loading…
Cancel
Save