diff --git a/skyvern-frontend/src/routes/workflows/editor/FlowRenderer.tsx b/skyvern-frontend/src/routes/workflows/editor/FlowRenderer.tsx index 49c7ad4c..9c6674ef 100644 --- a/skyvern-frontend/src/routes/workflows/editor/FlowRenderer.tsx +++ b/skyvern-frontend/src/routes/workflows/editor/FlowRenderer.tsx @@ -619,12 +619,13 @@ function FlowRenderer({ ) { workflowChangesStore.setHasChanges(true); } - // throttle onNodesChange to prevent cascading React updates + // defer update to next tick to prevent max recursion errors; + // NOTE: deferring too long causes node updates to be skipped if (onNodesChangeTimeoutRef.current === null) { onNodesChange(changes); onNodesChangeTimeoutRef.current = setTimeout(() => { onNodesChangeTimeoutRef.current = null; - }, 33); // ~30fps throttle + }, 0); } }} onEdgesChange={onEdgesChange}