From dd42e7706a9c57060feccbcd494d5d3338d97353 Mon Sep 17 00:00:00 2001 From: Joel Date: Mon, 19 Jan 2026 15:15:24 +0800 Subject: [PATCH] fix: workflow can not init --- .../components/rag-pipeline/hooks/use-nodes-sync-draft.ts | 5 ++++- .../components/workflow-app/hooks/use-nodes-sync-draft.ts | 5 ++++- web/service/workflow.ts | 5 +++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/web/app/components/rag-pipeline/hooks/use-nodes-sync-draft.ts b/web/app/components/rag-pipeline/hooks/use-nodes-sync-draft.ts index f30e22cc23..a5dd72d898 100644 --- a/web/app/components/rag-pipeline/hooks/use-nodes-sync-draft.ts +++ b/web/app/components/rag-pipeline/hooks/use-nodes-sync-draft.ts @@ -102,7 +102,10 @@ export const useNodesSyncDraft = () => { setDraftUpdatedAt, } = workflowStore.getState() try { - const res = await syncWorkflowDraft(postParams) + const res = await syncWorkflowDraft({ + ...postParams, + canNotSaveEmpty: true, + }) setSyncWorkflowDraftHash(res.hash) setDraftUpdatedAt(res.updated_at) callback?.onSuccess?.() diff --git a/web/app/components/workflow-app/hooks/use-nodes-sync-draft.ts b/web/app/components/workflow-app/hooks/use-nodes-sync-draft.ts index 97ba72f679..24c07ce456 100644 --- a/web/app/components/workflow-app/hooks/use-nodes-sync-draft.ts +++ b/web/app/components/workflow-app/hooks/use-nodes-sync-draft.ts @@ -107,7 +107,10 @@ export const useNodesSyncDraft = () => { setDraftUpdatedAt, } = workflowStore.getState() try { - const res = await syncWorkflowDraft(postParams) + const res = await syncWorkflowDraft({ + ...postParams, + canNotSaveEmpty: true, + }) setSyncWorkflowDraftHash(res.hash) setDraftUpdatedAt(res.updated_at) callback?.onSuccess?.() diff --git a/web/service/workflow.ts b/web/service/workflow.ts index aac83a0de0..929a138b46 100644 --- a/web/service/workflow.ts +++ b/web/service/workflow.ts @@ -15,12 +15,13 @@ export const fetchWorkflowDraft = (url: string) => { return get(url, {}, { silent: true }) as Promise } -export const syncWorkflowDraft = ({ url, params }: { +export const syncWorkflowDraft = ({ url, params, canNotSaveEmpty }: { url: string params: Pick + canNotSaveEmpty?: boolean }) => { // when graph adn skill type changed, it would pass empty nodes array...Temp prevent sync in this case - if (params.graph.nodes.length === 0) { + if (params.graph.nodes.length === 0 && canNotSaveEmpty) { throw new Error('Cannot sync workflow draft with zero nodes.') } const sanitized = sanitizeWorkflowDraftPayload(params)