From abe03b4942790ab855587f78507d33178f9031c0 Mon Sep 17 00:00:00 2001 From: shrimbly Date: Tue, 10 Mar 2026 23:16:29 +1300 Subject: [PATCH] fix: move useMemo above early returns in ModelParametersInner The displaySchema useMemo was placed after conditional early returns, violating React's Rules of Hooks and causing hook order mismatch errors when the component toggled between rendering null and its content. Co-Authored-By: Claude Opus 4.6 --- src/components/nodes/ModelParameters.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/nodes/ModelParameters.tsx b/src/components/nodes/ModelParameters.tsx index 61f4cd32..6ca6667c 100644 --- a/src/components/nodes/ModelParameters.tsx +++ b/src/components/nodes/ModelParameters.tsx @@ -211,6 +211,12 @@ function ModelParametersInner({ }; }, [useGrid]); + const displaySchema = useMemo(() => { + return useGrid && colCount > 1 + ? reorderColumnFirst(sortedSchema, colCount) + : sortedSchema; + }, [sortedSchema, useGrid, colCount]); + // Don't render anything for Gemini or if no model selected if (provider === "gemini" || !modelId) { return null; @@ -221,12 +227,6 @@ function ModelParametersInner({ return null; } - const displaySchema = useMemo(() => { - return useGrid && colCount > 1 - ? reorderColumnFirst(sortedSchema, colCount) - : sortedSchema; - }, [sortedSchema, useGrid, colCount]); - return (
{error ? (