From 612b6394b0d1522a4f902178609332741493d2fa Mon Sep 17 00:00:00 2001 From: Julian Kepka Date: Thu, 19 Feb 2026 14:57:38 +0100 Subject: [PATCH 1/6] fix path-to-component visibility and hover animation --- src/components/DependencyGraph.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/components/DependencyGraph.tsx b/src/components/DependencyGraph.tsx index afc50a65..fb33b71d 100644 --- a/src/components/DependencyGraph.tsx +++ b/src/components/DependencyGraph.tsx @@ -59,6 +59,7 @@ import { DropdownMenuTrigger, } from "./ui/dropdown-menu"; import { Popover, PopoverContent, PopoverTrigger } from "./ui/popover"; +import { Move } from "lucide-react"; // Types for the context menu type MenuType = "edge" | "node" | null; @@ -757,6 +758,12 @@ const DependencyGraph: FunctionComponent<{ )} +
+ + + You can interact with graph + +
Date: Thu, 19 Feb 2026 16:35:45 +0100 Subject: [PATCH 2/6] this graph --- src/components/DependencyGraph.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/DependencyGraph.tsx b/src/components/DependencyGraph.tsx index fb33b71d..15a3f32a 100644 --- a/src/components/DependencyGraph.tsx +++ b/src/components/DependencyGraph.tsx @@ -761,7 +761,7 @@ const DependencyGraph: FunctionComponent<{
- You can interact with graph + You can interact with this graph
Date: Thu, 19 Feb 2026 18:58:57 +0100 Subject: [PATCH 3/6] no cursor pointer --- src/components/DependencyGraph.tsx | 4 ++++ src/components/DependencyGraphNode.tsx | 6 +++++- src/utils/dependencyGraphHelpers.ts | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/components/DependencyGraph.tsx b/src/components/DependencyGraph.tsx index 15a3f32a..5a362302 100644 --- a/src/components/DependencyGraph.tsx +++ b/src/components/DependencyGraph.tsx @@ -182,6 +182,7 @@ const DependencyGraph: FunctionComponent<{ childrenLimitMap, previousNodesRef.current, handleExpansionToggle, + enableContextMenu, ); previousNodesRef.current = nodes; @@ -764,6 +765,9 @@ const DependencyGraph: FunctionComponent<{ You can interact with this graph + {!enableContextMenu && ( + + )} void; }; id: string; @@ -98,7 +99,10 @@ export const DependencyGraphNode: FunctionComponent< width: props.data.nodeWidth, }} className={classNames( - "relative border-2 rounded-lg p-3 text-xs text-card-foreground bg-card transition-all cursor-pointer active:cursor-grabbing", + "relative border-2 rounded-lg p-3 text-xs text-card-foreground bg-card transition-all", + props.data.enableContextMenu + ? "cursor-pointer active:cursor-grabbing" + : "cursor-grab active:cursor-grabbing", props.data.vuln ? props.data.vuln.every((v) => v.state === "falsePositive") ? "border-gray-500/50 shadow-md" diff --git a/src/utils/dependencyGraphHelpers.ts b/src/utils/dependencyGraphHelpers.ts index a397376e..3aca09c6 100644 --- a/src/utils/dependencyGraphHelpers.ts +++ b/src/utils/dependencyGraphHelpers.ts @@ -219,6 +219,7 @@ export const getLayoutedElements = ( childrenLimitMap: Map, previousNodes: Array = [], onExpansionToggle?: (nodeId: string) => void, + enableContextMenu?: boolean, ): [ Array<{ id: string; @@ -332,6 +333,7 @@ export const getLayoutedElements = ( hasMore: childCount > shownCount, isLoadMoreNode, parentId, + enableContextMenu, remainingCount: parentId ? (childCountMap.get(parentId) || 0) - (childrenLimitMap.get(parentId) || INITIAL_CHILDREN_TO_SHOW) From 3b8880d7b68108cdfa0381296145cc9d73b7631a Mon Sep 17 00:00:00 2001 From: Julian Kepka Date: Thu, 19 Feb 2026 18:59:45 +0100 Subject: [PATCH 4/6] added comment --- src/components/DependencyGraph.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/DependencyGraph.tsx b/src/components/DependencyGraph.tsx index 5a362302..b1859daf 100644 --- a/src/components/DependencyGraph.tsx +++ b/src/components/DependencyGraph.tsx @@ -765,6 +765,8 @@ const DependencyGraph: FunctionComponent<{ You can interact with this graph + {/* Todo: Find a better way to disable edge cursor pointer when context menu + is disabled. This is a bit hacky but works for now. */} {!enableContextMenu && ( )} From cccd93851e1814249173a68031fd7fdfc013c7ff Mon Sep 17 00:00:00 2001 From: Julian Kepka Date: Thu, 19 Feb 2026 19:00:15 +0100 Subject: [PATCH 5/6] comment --- src/components/DependencyGraph.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/DependencyGraph.tsx b/src/components/DependencyGraph.tsx index b1859daf..310ad548 100644 --- a/src/components/DependencyGraph.tsx +++ b/src/components/DependencyGraph.tsx @@ -766,7 +766,7 @@ const DependencyGraph: FunctionComponent<{ {/* Todo: Find a better way to disable edge cursor pointer when context menu - is disabled. This is a bit hacky but works for now. */} + is disabled. This is a bit hacky but works for now. Issue 1708 */} {!enableContextMenu && ( )} From bee86f9fab74de30dedc8849e2078ca60891accf Mon Sep 17 00:00:00 2001 From: Julian Kepka Date: Mon, 23 Feb 2026 10:43:29 +0100 Subject: [PATCH 6/6] copilot fixes --- src/components/DependencyGraph.tsx | 9 ++++++++- src/components/SeverityCard.tsx | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/DependencyGraph.tsx b/src/components/DependencyGraph.tsx index 310ad548..6ca77669 100644 --- a/src/components/DependencyGraph.tsx +++ b/src/components/DependencyGraph.tsx @@ -189,7 +189,14 @@ const DependencyGraph: FunctionComponent<{ // get the root node - we use it for the initial position of the viewport const rootNode = nodes.find((n) => n.data.label === graph.name)!; return [nodes, edges, rootNode]; - }, [graph, vulns, expandedNodes, childrenLimitMap, handleExpansionToggle]); + }, [ + graph, + vulns, + expandedNodes, + childrenLimitMap, + handleExpansionToggle, + enableContextMenu, + ]); const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes); const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges); diff --git a/src/components/SeverityCard.tsx b/src/components/SeverityCard.tsx index d7735dbd..e7fa2707 100644 --- a/src/components/SeverityCard.tsx +++ b/src/components/SeverityCard.tsx @@ -89,7 +89,7 @@ const SeverityCard: FunctionComponent = ({ `/${activeOrg.slug}/projects/${project.slug}/assets/${asset?.slug}/refs/${activeAssetVersion?.slug}/dependency-risks?` + new URLSearchParams({ ...applySQLFilter(variant), - ...(artifactName && {artifact: artifactName}), + ...(artifactName && { artifact: artifactName }), }) } className="text-xs !text-muted-foreground"