From beff848a3fc5173b698e63c5b3cb628673b25554 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Restrepo?= Date: Tue, 19 Aug 2025 10:12:30 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A1=EF=B8=8F=20fix:=20Add=20Null=20Che?= =?UTF-8?q?cks=20to=20Parameter=20Settings=20to=20Prevent=20Undefined=20Ac?= =?UTF-8?q?cess=20(#9108)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes "Cannot read properties of undefined (reading 'key')" error in parameter panels by filtering out null/undefined values before mapping operations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude --- client/src/components/SidePanel/Agents/ModelPanel.tsx | 6 +++--- client/src/components/SidePanel/Parameters/Panel.tsx | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/client/src/components/SidePanel/Agents/ModelPanel.tsx b/client/src/components/SidePanel/Agents/ModelPanel.tsx index 972ad8e788..cafdc30aea 100644 --- a/client/src/components/SidePanel/Agents/ModelPanel.tsx +++ b/client/src/components/SidePanel/Agents/ModelPanel.tsx @@ -79,9 +79,9 @@ export default function ModelPanel({ agentParamSettings[combinedKey] ?? agentParamSettings[overriddenEndpointKey] ?? []; const overriddenParams = endpointsConfig[provider]?.customParams?.paramDefinitions ?? []; const overriddenParamsMap = keyBy(overriddenParams, 'key'); - return defaultParams.map( - (param) => (overriddenParamsMap[param.key] as SettingDefinition) ?? param, - ); + return defaultParams + .filter((param) => param != null) + .map((param) => (overriddenParamsMap[param.key] as SettingDefinition) ?? param); }, [endpointType, endpointsConfig, model, provider]); const setOption = (optionKey: keyof t.AgentModelParameters) => (value: t.AgentParameterValue) => { diff --git a/client/src/components/SidePanel/Parameters/Panel.tsx b/client/src/components/SidePanel/Parameters/Panel.tsx index 6f539a5f95..f181622fb2 100644 --- a/client/src/components/SidePanel/Parameters/Panel.tsx +++ b/client/src/components/SidePanel/Parameters/Panel.tsx @@ -44,9 +44,9 @@ export default function Parameters() { const defaultParams = paramSettings[combinedKey] ?? paramSettings[overriddenEndpointKey] ?? []; const overriddenParams = endpointsConfig[provider]?.customParams?.paramDefinitions ?? []; const overriddenParamsMap = keyBy(overriddenParams, 'key'); - return defaultParams.map( - (param) => (overriddenParamsMap[param.key] as SettingDefinition) ?? param, - ); + return defaultParams + .filter((param) => param != null) + .map((param) => (overriddenParamsMap[param.key] as SettingDefinition) ?? param); }, [endpointType, endpointsConfig, model, provider]); useEffect(() => { @@ -63,7 +63,9 @@ export default function Parameters() { // return setting.key; // }), // ); - const paramKeys = new Set(parameters.map((setting) => setting.key)); + const paramKeys = new Set( + parameters.filter((setting) => setting != null).map((setting) => setting.key), + ); setConversation((prev) => { if (!prev) { return prev;