mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
fix(ui): check for metadata accumulator before connecting to it (#3751)
This commit is contained in:
commit
059e427457
@ -19,9 +19,9 @@ export const addControlNetToLinearGraph = (
|
||||
|
||||
const validControlNets = getValidControlNets(controlNets);
|
||||
|
||||
const metadataAccumulator = graph.nodes[
|
||||
METADATA_ACCUMULATOR
|
||||
] as MetadataAccumulatorInvocation;
|
||||
const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as
|
||||
| MetadataAccumulatorInvocation
|
||||
| undefined;
|
||||
|
||||
if (isControlNetEnabled && Boolean(validControlNets.length)) {
|
||||
if (validControlNets.length) {
|
||||
@ -79,13 +79,15 @@ export const addControlNetToLinearGraph = (
|
||||
|
||||
graph.nodes[controlNetNode.id] = controlNetNode;
|
||||
|
||||
// metadata accumulator only needs a control field - not the whole node
|
||||
// extract what we need and add to the accumulator
|
||||
const controlField = omit(controlNetNode, [
|
||||
'id',
|
||||
'type',
|
||||
]) as ControlField;
|
||||
metadataAccumulator.controlnets.push(controlField);
|
||||
if (metadataAccumulator) {
|
||||
// metadata accumulator only needs a control field - not the whole node
|
||||
// extract what we need and add to the accumulator
|
||||
const controlField = omit(controlNetNode, [
|
||||
'id',
|
||||
'type',
|
||||
]) as ControlField;
|
||||
metadataAccumulator.controlnets.push(controlField);
|
||||
}
|
||||
|
||||
graph.edges.push({
|
||||
source: { node_id: controlNetNode.id, field: 'control' },
|
||||
|
@ -32,9 +32,9 @@ export const addDynamicPromptsToGraph = (
|
||||
maxPrompts,
|
||||
} = state.dynamicPrompts;
|
||||
|
||||
const metadataAccumulator = graph.nodes[
|
||||
METADATA_ACCUMULATOR
|
||||
] as MetadataAccumulatorInvocation;
|
||||
const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as
|
||||
| MetadataAccumulatorInvocation
|
||||
| undefined;
|
||||
|
||||
if (isDynamicPromptsEnabled) {
|
||||
// iteration is handled via dynamic prompts
|
||||
@ -116,11 +116,15 @@ export const addDynamicPromptsToGraph = (
|
||||
(graph.nodes[NOISE] as NoiseInvocation).seed = seed;
|
||||
|
||||
// hook up seed to metadata
|
||||
metadataAccumulator.seed = seed;
|
||||
if (metadataAccumulator) {
|
||||
metadataAccumulator.seed = seed;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// no dynamic prompt - hook up positive prompt
|
||||
metadataAccumulator.positive_prompt = positivePrompt;
|
||||
if (metadataAccumulator) {
|
||||
metadataAccumulator.positive_prompt = positivePrompt;
|
||||
}
|
||||
|
||||
const rangeOfSizeNode: RangeOfSizeInvocation = {
|
||||
id: RANGE_OF_SIZE,
|
||||
|
@ -30,9 +30,9 @@ export const addLoRAsToGraph = (
|
||||
|
||||
const { loras } = state.lora;
|
||||
const loraCount = size(loras);
|
||||
const metadataAccumulator = graph.nodes[
|
||||
METADATA_ACCUMULATOR
|
||||
] as MetadataAccumulatorInvocation;
|
||||
const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as
|
||||
| MetadataAccumulatorInvocation
|
||||
| undefined;
|
||||
|
||||
if (loraCount > 0) {
|
||||
// Remove MAIN_MODEL_LOADER unet connection to feed it to LoRAs
|
||||
@ -70,7 +70,9 @@ export const addLoRAsToGraph = (
|
||||
};
|
||||
|
||||
// add the lora to the metadata accumulator
|
||||
metadataAccumulator.loras.push({ lora: loraField, weight });
|
||||
if (metadataAccumulator) {
|
||||
metadataAccumulator.loras.push({ lora: loraField, weight });
|
||||
}
|
||||
|
||||
// add to graph
|
||||
graph.nodes[currentLoraNodeId] = loraLoaderNode;
|
||||
|
@ -22,9 +22,9 @@ export const addVAEToGraph = (
|
||||
const vae_model = modelIdToVAEModelField(vae?.id || '');
|
||||
|
||||
const isAutoVae = !vae;
|
||||
const metadataAccumulator = graph.nodes[
|
||||
METADATA_ACCUMULATOR
|
||||
] as MetadataAccumulatorInvocation;
|
||||
const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as
|
||||
| MetadataAccumulatorInvocation
|
||||
| undefined;
|
||||
|
||||
if (!isAutoVae) {
|
||||
graph.nodes[VAE_LOADER] = {
|
||||
@ -73,7 +73,7 @@ export const addVAEToGraph = (
|
||||
});
|
||||
}
|
||||
|
||||
if (vae) {
|
||||
if (vae && metadataAccumulator) {
|
||||
metadataAccumulator.vae = vae_model;
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user