diff --git a/apps/canvas/front/eslint.config.js b/apps/canvas/front/eslint.config.js
index b4af048..53e1e9b 100644
--- a/apps/canvas/front/eslint.config.js
+++ b/apps/canvas/front/eslint.config.js
@@ -23,6 +23,7 @@
 		},
 		rules: {
 			...reactHooks.configs.recommended.rules,
+			"react-hooks/exhaustive-deps": "error",
 			"react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
 			"@typescript-eslint/no-unused-vars": [
 				"error",
diff --git a/apps/canvas/front/src/Config.tsx b/apps/canvas/front/src/Config.tsx
index 9b410e1..137a467 100644
--- a/apps/canvas/front/src/Config.tsx
+++ b/apps/canvas/front/src/Config.tsx
@@ -1,13 +1,25 @@
 import { useStateStore } from "./lib/state";
 import { generateDodoConfig } from "./lib/config";
 import JSONView from "@microlink/react-json-view";
+import { useMemo } from "react";
 
 export function Config() {
 	const store = useStateStore();
+	const config = useMemo(
+		() => generateDodoConfig(store.projectId, store.nodes, store.env),
+		[store.projectId, store.nodes, store.env],
+	);
+	const cleaned = useMemo(() => {
+		if (config == null) {
+			return null;
+		}
+		const { input: _, ...rest } = config;
+		return rest;
+	}, [config]);
 	return (
 		<div className="h-full p-4 bg-muted overflow-auto text-xs">
 			<JSONView
-				src={generateDodoConfig(store.projectId, store.nodes, store.env) as object}
+				src={cleaned as object}
 				theme="rjv-default"
 				name={false}
 				displayDataTypes={false}
diff --git a/apps/canvas/front/src/Gateways.tsx b/apps/canvas/front/src/Gateways.tsx
index a1fce28..92a30a2 100644
--- a/apps/canvas/front/src/Gateways.tsx
+++ b/apps/canvas/front/src/Gateways.tsx
@@ -17,11 +17,13 @@
 	return (
 		<ul>
 			{Array.from(groupedAccess.entries()).map(([name, access]) => (
-				<li key={name}>
+				<>
 					{access.map((a) => (
-						<Gateway g={a} />
+						<li key={name}>
+							<Gateway g={a} />
+						</li>
 					))}
-				</li>
+				</>
 			))}
 		</ul>
 	);
diff --git a/apps/canvas/front/src/components/node-gateway-tcp.tsx b/apps/canvas/front/src/components/node-gateway-tcp.tsx
index c37f31b..4210d47 100644
--- a/apps/canvas/front/src/components/node-gateway-tcp.tsx
+++ b/apps/canvas/front/src/components/node-gateway-tcp.tsx
@@ -235,7 +235,7 @@
 				),
 			);
 		},
-		[id, data, store],
+		[id, data, store, nodes],
 	);
 	return (
 		<>
