diff --git a/invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts b/invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts index e06a1106c1..3820b07daf 100644 --- a/invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts +++ b/invokeai/frontend/web/src/common/hooks/useIsReadyToInvoke.ts @@ -63,7 +63,11 @@ const selector = createSelector( return; } - if (fieldTemplate.required && !field.value && !hasConnection) { + if ( + fieldTemplate.required && + field.value === undefined && + !hasConnection + ) { reasons.push( `${node.data.label || nodeTemplate.title} -> ${ field.label || fieldTemplate.title diff --git a/invokeai/frontend/web/src/features/nodes/hooks/useDoesInputHaveValue.ts b/invokeai/frontend/web/src/features/nodes/hooks/useDoesInputHaveValue.ts index f56099ed2b..83bf6b8af0 100644 --- a/invokeai/frontend/web/src/features/nodes/hooks/useDoesInputHaveValue.ts +++ b/invokeai/frontend/web/src/features/nodes/hooks/useDoesInputHaveValue.ts @@ -15,7 +15,7 @@ export const useDoesInputHaveValue = (nodeId: string, fieldName: string) => { if (!isInvocationNode(node)) { return; } - return Boolean(node?.data.inputs[fieldName]?.value); + return node?.data.inputs[fieldName]?.value !== undefined; }, defaultSelectorOptions ),