From e2bdbfe721f7ae9628fea00f32c072a437da9d7a Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 21 Feb 2025 07:10:22 +1000 Subject: [PATCH] fix(ui): use getIsFormEmpty util when validating workflow --- .../features/nodes/util/workflow/validateWorkflow.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/workflow/validateWorkflow.ts b/invokeai/frontend/web/src/features/nodes/util/workflow/validateWorkflow.ts index 2a40f171d8..be7218941e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/workflow/validateWorkflow.ts +++ b/invokeai/frontend/web/src/features/nodes/util/workflow/validateWorkflow.ts @@ -1,5 +1,5 @@ import { parseify } from 'common/util/serialize'; -import { addElement, getElement } from 'features/nodes/components/sidePanel/builder/form-manipulation'; +import { addElement, getIsFormEmpty } from 'features/nodes/components/sidePanel/builder/form-manipulation'; import type { Templates } from 'features/nodes/store/types'; import { isBoardFieldInputInstance, @@ -12,7 +12,6 @@ import type { WorkflowV3 } from 'features/nodes/types/workflow'; import { buildNodeFieldElement, getDefaultForm, - isContainerElement, isNodeFieldElement, isWorkflowInvocationNode, } from 'features/nodes/types/workflow'; @@ -233,11 +232,8 @@ export const validateWorkflow = async (args: ValidateWorkflowArgs): Promise 0 && rootElement.data.children.length === 0) || - Object.keys(_workflow.form.elements).length > 0 - ) { + // Note: If the form is invalid per its zod schema, it will be reset to a default, empty form! + if (_workflow.exposedFields.length > 0 && getIsFormEmpty(_workflow.form)) { _workflow.form = getDefaultForm(); // Reverse the fields so that we can insert each at index 0 without needing to shift the index