diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildFLUXGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildFLUXGraph.ts index 88e99ae8ea..a92f10dcc3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildFLUXGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildFLUXGraph.ts @@ -14,7 +14,12 @@ import { addOutpaint } from 'features/nodes/util/graph/generation/addOutpaint'; import { addTextToImage } from 'features/nodes/util/graph/generation/addTextToImage'; import { addWatermarker } from 'features/nodes/util/graph/generation/addWatermarker'; import { Graph } from 'features/nodes/util/graph/generation/Graph'; -import { getBoardField, getPresetModifiedPrompts, getSizes } from 'features/nodes/util/graph/graphBuilderUtils'; +import { + CANVAS_OUTPUT_PREFIX, + getBoardField, + getPresetModifiedPrompts, + getSizes, +} from 'features/nodes/util/graph/graphBuilderUtils'; import type { Invocation } from 'services/api/types'; import { isNonRefinerMainModelConfig } from 'services/api/types'; import { assert } from 'tsafe'; @@ -250,7 +255,7 @@ export const buildFLUXGraph = async ( } g.updateNode(canvasOutput, { - id: getPrefixedId('canvas_output'), + id: getPrefixedId(CANVAS_OUTPUT_PREFIX), is_intermediate, use_cache: false, board, diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildSD1Graph.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildSD1Graph.ts index f5575c11d1..b5b42a4f79 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildSD1Graph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildSD1Graph.ts @@ -18,7 +18,12 @@ import { addSeamless } from 'features/nodes/util/graph/generation/addSeamless'; import { addTextToImage } from 'features/nodes/util/graph/generation/addTextToImage'; import { addWatermarker } from 'features/nodes/util/graph/generation/addWatermarker'; import { Graph } from 'features/nodes/util/graph/generation/Graph'; -import { getBoardField, getPresetModifiedPrompts, getSizes } from 'features/nodes/util/graph/graphBuilderUtils'; +import { + CANVAS_OUTPUT_PREFIX, + getBoardField, + getPresetModifiedPrompts, + getSizes, +} from 'features/nodes/util/graph/graphBuilderUtils'; import type { Invocation } from 'services/api/types'; import { isNonRefinerMainModelConfig } from 'services/api/types'; import { assert } from 'tsafe'; @@ -291,7 +296,7 @@ export const buildSD1Graph = async ( } g.updateNode(canvasOutput, { - id: getPrefixedId('canvas_output'), + id: getPrefixedId(CANVAS_OUTPUT_PREFIX), is_intermediate, use_cache: false, board, diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildSDXLGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildSDXLGraph.ts index 52bfbea18a..7d3eea5884 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildSDXLGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildSDXLGraph.ts @@ -18,7 +18,12 @@ import { addSeamless } from 'features/nodes/util/graph/generation/addSeamless'; import { addTextToImage } from 'features/nodes/util/graph/generation/addTextToImage'; import { addWatermarker } from 'features/nodes/util/graph/generation/addWatermarker'; import { Graph } from 'features/nodes/util/graph/generation/Graph'; -import { getBoardField, getPresetModifiedPrompts, getSizes } from 'features/nodes/util/graph/graphBuilderUtils'; +import { + CANVAS_OUTPUT_PREFIX, + getBoardField, + getPresetModifiedPrompts, + getSizes, +} from 'features/nodes/util/graph/graphBuilderUtils'; import type { Invocation } from 'services/api/types'; import { isNonRefinerMainModelConfig } from 'services/api/types'; import { assert } from 'tsafe'; @@ -294,7 +299,7 @@ export const buildSDXLGraph = async ( } g.updateNode(canvasOutput, { - id: getPrefixedId('canvas_output'), + id: getPrefixedId(CANVAS_OUTPUT_PREFIX), is_intermediate, use_cache: false, board, diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/graphBuilderUtils.ts b/invokeai/frontend/web/src/features/nodes/util/graph/graphBuilderUtils.ts index 9d134099c3..8d6fbe636d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/graphBuilderUtils.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/graphBuilderUtils.ts @@ -129,3 +129,5 @@ export const addImageToLatents = (g: Graph, isFlux: boolean, fp32: boolean, imag return g.addNode({ id: 'i2l', type: 'i2l', fp32, image: image_name ? { image_name } : undefined }); } }; + +export const CANVAS_OUTPUT_PREFIX = 'canvas_output'; diff --git a/invokeai/frontend/web/src/services/events/onInvocationComplete.tsx b/invokeai/frontend/web/src/services/events/onInvocationComplete.tsx index 47a2245f33..617528e225 100644 --- a/invokeai/frontend/web/src/services/events/onInvocationComplete.tsx +++ b/invokeai/frontend/web/src/services/events/onInvocationComplete.tsx @@ -6,6 +6,7 @@ import { stagingAreaImageStaged } from 'features/controlLayers/store/canvasStagi import { boardIdSelected, galleryViewChanged, imageSelected, offsetChanged } from 'features/gallery/store/gallerySlice'; import { $nodeExecutionStates, upsertExecutionState } from 'features/nodes/hooks/useExecutionState'; import { zNodeStatus } from 'features/nodes/types/invocation'; +import { CANVAS_OUTPUT_PREFIX } from 'features/nodes/util/graph/graphBuilderUtils'; import { boardsApi } from 'services/api/endpoints/boards'; import { getImageDTOSafe, imagesApi } from 'services/api/endpoints/images'; import type { ImageDTO, S } from 'services/api/types'; @@ -15,7 +16,7 @@ import { $lastProgressEvent } from 'services/events/stores'; const log = logger('events'); const isCanvasOutputNode = (data: S['InvocationCompleteEvent']) => { - return data.invocation_source_id.split(':')[0] === 'canvas_output'; + return data.invocation_source_id.split(':')[0] === CANVAS_OUTPUT_PREFIX; }; const nodeTypeDenylist = ['load_image', 'image'];