From e1694f298bb0849affc9b0889eaba31c00128eb7 Mon Sep 17 00:00:00 2001 From: Tenormis <61572102+Tenormis@users.noreply.github.com> Date: Thu, 25 Sep 2025 19:02:24 +0800 Subject: [PATCH] Remove duplicate links between nodes (#1511) Co-authored-by: tenormis --- packages/foam-vscode/static/dataviz/graph.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/foam-vscode/static/dataviz/graph.js b/packages/foam-vscode/static/dataviz/graph.js index 57ce5130..48f55c36 100644 --- a/packages/foam-vscode/static/dataviz/graph.js +++ b/packages/foam-vscode/static/dataviz/graph.js @@ -291,6 +291,19 @@ function augmentGraphInfo(graph) { }); } }); + + const seen = new Set(); + graph.links = graph.links.filter(link => { + const sourceId = getLinkNodeId(link.source); + const targetId = getLinkNodeId(link.target); + const key = `${sourceId} -> ${targetId}`; + if (seen.has(key)) { + return false; + } + seen.add(key); + return true; + }); + graph.links.forEach(link => { const a = graph.nodeInfo[link.source]; const b = graph.nodeInfo[link.target]; @@ -299,6 +312,7 @@ function augmentGraphInfo(graph) { a.links.push(link); b.links.push(link); }); + return graph; }