From a17c74fa0ca9f22efe3e31e8e979eabaafe45b03 Mon Sep 17 00:00:00 2001 From: Christian Byrne Date: Fri, 19 Sep 2025 01:04:12 -0700 Subject: [PATCH] fix: add optional chaining to nodeDef access in NodeTooltip (#5663) ## Summary Extension of https://github.com/Comfy-Org/ComfyUI_frontend/pull/5659: Added optional chaining to NodeTooltip component to prevent TypeError when `nodeDef` is undefined for unknown node types. ## Changes - **What**: Added [optional chaining operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining) (`?.`) to safely access `nodeDef` properties in NodeTooltip component ## Review Focus Error handling for node types not found in nodeDefStore and tooltip display behavior for unrecognized nodes. Fixes CLOUD-FRONTEND-STAGING-3N Co-authored-by: Claude --- src/components/graph/NodeTooltip.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/graph/NodeTooltip.vue b/src/components/graph/NodeTooltip.vue index 5f06386ba..6419326d6 100644 --- a/src/components/graph/NodeTooltip.vue +++ b/src/components/graph/NodeTooltip.vue @@ -83,7 +83,7 @@ const onIdle = () => { const inputName = node.inputs[inputSlot].name const translatedTooltip = st( `nodeDefs.${normalizeI18nKey(node.type ?? '')}.inputs.${normalizeI18nKey(inputName)}.tooltip`, - nodeDef.inputs[inputName]?.tooltip ?? '' + nodeDef?.inputs[inputName]?.tooltip ?? '' ) return showTooltip(translatedTooltip) } @@ -97,7 +97,7 @@ const onIdle = () => { if (outputSlot !== -1) { const translatedTooltip = st( `nodeDefs.${normalizeI18nKey(node.type ?? '')}.outputs.${outputSlot}.tooltip`, - nodeDef.outputs[outputSlot]?.tooltip ?? '' + nodeDef?.outputs[outputSlot]?.tooltip ?? '' ) return showTooltip(translatedTooltip) } @@ -107,7 +107,7 @@ const onIdle = () => { if (widget && !isDOMWidget(widget)) { const translatedTooltip = st( `nodeDefs.${normalizeI18nKey(node.type ?? '')}.inputs.${normalizeI18nKey(widget.name)}.tooltip`, - nodeDef.inputs[widget.name]?.tooltip ?? '' + nodeDef?.inputs[widget.name]?.tooltip ?? '' ) // Widget tooltip can be set dynamically, current translation collection does not support this. return showTooltip(widget.tooltip ?? translatedTooltip)