From 94244ed8f6239a51e9a83f9d6fba3463cbbe8644 Mon Sep 17 00:00:00 2001 From: Wu Tianwei <30284043+WTW0313@users.noreply.github.com> Date: Wed, 10 Dec 2025 19:30:21 +0800 Subject: [PATCH] fix: handle potential undefined values in query_attachment_selector across multiple components (#29429) --- web/app/components/datasets/create/step-one/index.tsx | 1 + .../workflow/nodes/_base/components/variable/utils.ts | 8 ++++---- .../knowledge-retrieval/use-single-run-form-params.ts | 6 +++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/web/app/components/datasets/create/step-one/index.tsx b/web/app/components/datasets/create/step-one/index.tsx index f2768be470..013ab7e934 100644 --- a/web/app/components/datasets/create/step-one/index.tsx +++ b/web/app/components/datasets/create/step-one/index.tsx @@ -291,6 +291,7 @@ const StepOne = ({ crawlOptions={crawlOptions} onCrawlOptionsChange={onCrawlOptionsChange} authedDataSourceList={authedDataSourceList} + supportBatchUpload={supportBatchUpload} /> {isShowVectorSpaceFull && ( diff --git a/web/app/components/workflow/nodes/_base/components/variable/utils.ts b/web/app/components/workflow/nodes/_base/components/variable/utils.ts index 10cb950c71..eb76021c40 100644 --- a/web/app/components/workflow/nodes/_base/components/variable/utils.ts +++ b/web/app/components/workflow/nodes/_base/components/variable/utils.ts @@ -70,10 +70,10 @@ export const isSystemVar = (valueSelector: ValueSelector) => { } export const isGlobalVar = (valueSelector: ValueSelector) => { - if(!isSystemVar(valueSelector)) return false + if (!isSystemVar(valueSelector)) return false const second = valueSelector[1] - if(['query', 'files'].includes(second)) + if (['query', 'files'].includes(second)) return false return true } @@ -1296,7 +1296,7 @@ export const getNodeUsedVars = (node: Node): ValueSelector[] => { case BlockEnum.KnowledgeRetrieval: { const { query_variable_selector, - query_attachment_selector, + query_attachment_selector = [], } = data as KnowledgeRetrievalNodeType res = [query_variable_selector, query_attachment_selector] break @@ -1638,7 +1638,7 @@ export const updateNodeVars = ( ) payload.query_variable_selector = newVarSelector if ( - payload.query_attachment_selector.join('.') === oldVarSelector.join('.') + payload.query_attachment_selector?.join('.') === oldVarSelector.join('.') ) payload.query_attachment_selector = newVarSelector break diff --git a/web/app/components/workflow/nodes/knowledge-retrieval/use-single-run-form-params.ts b/web/app/components/workflow/nodes/knowledge-retrieval/use-single-run-form-params.ts index 30ac9e0142..0f079bcee8 100644 --- a/web/app/components/workflow/nodes/knowledge-retrieval/use-single-run-form-params.ts +++ b/web/app/components/workflow/nodes/knowledge-retrieval/use-single-run-form-params.ts @@ -80,7 +80,7 @@ const useSingleRunFormParams = ({ }, ] if (hasMultiModalDatasets) { - const currentVariable = findVariableWhenOnLLMVision(payload.query_attachment_selector, availableFileVars) + const currentVariable = findVariableWhenOnLLMVision(payload.query_attachment_selector || [], availableFileVars) inputFields.push( { inputs: [{ @@ -98,13 +98,13 @@ const useSingleRunFormParams = ({ }, [query, setQuery, t, datasetsDetail, payload.dataset_ids, payload.query_attachment_selector, availableFileVars, queryAttachment, setQueryAttachment]) const getDependentVars = () => { - return [payload.query_variable_selector, payload.query_attachment_selector] + return [payload.query_variable_selector, payload.query_attachment_selector || []] } const getDependentVar = (variable: string) => { if (variable === 'query') return payload.query_variable_selector if (variable === 'queryAttachment') - return payload.query_attachment_selector + return payload.query_attachment_selector || [] } return {