Skip to content

Commit f210a53

Browse files
Copilotmikebarkmin
andcommitted
Fix infinite loop in debug mode edges effect
Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com>
1 parent 4b8e2dd commit f210a53

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

packages/learningmap/src/LearningMapEditor.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,13 @@ export function LearningMapEditor({
169169

170170
useEffect(() => {
171171
loadRoadmapData(parsedRoadmap);
172-
}, [roadmapData]);
172+
}, [roadmapData, loadRoadmapData]);
173173

174174
useEffect(() => {
175-
const newEdges: Edge[] = edges.filter((e) => !e.id.startsWith("debug-"));
175+
// Filter out existing debug edges, but use the store's edges directly to avoid dependency loop
176+
const baseEdges = useEditorStore.getState().edges.filter((e) => !e.id.startsWith("debug-"));
177+
const newEdges: Edge[] = [...baseEdges];
178+
176179
if (debugMode) {
177180
nodes.forEach((node) => {
178181
if (showCompletionNeeds && node.type === "topic" && node.data?.completion?.needs) {
@@ -219,7 +222,7 @@ export function LearningMapEditor({
219222
});
220223
}
221224
setEdges(newEdges);
222-
}, [nodes, edges, setEdges, debugMode, showCompletionNeeds, showCompletionOptional, showUnlockAfter]);
225+
}, [nodes, debugMode, showCompletionNeeds, showCompletionOptional, showUnlockAfter, setEdges]);
223226

224227
// Event handlers
225228
const handleNodeClick = useCallback((_: any, node: Node) => {

0 commit comments

Comments
 (0)