mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
feat(ui): update UI to not use image_origin
see commit `8ad8de8: feat(nodes): remove `image_origin` from most places` for details.
This commit is contained in:
parent
24b86cffe9
commit
88e8e3977b
@ -34,10 +34,7 @@ export const addControlNetImageProcessedListener = () => {
|
|||||||
[controlNet.processorNode.id]: {
|
[controlNet.processorNode.id]: {
|
||||||
...controlNet.processorNode,
|
...controlNet.processorNode,
|
||||||
is_intermediate: true,
|
is_intermediate: true,
|
||||||
image: pick(controlNet.controlImage, [
|
image: pick(controlNet.controlImage, ['image_name']),
|
||||||
'image_name',
|
|
||||||
'image_origin',
|
|
||||||
]),
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -25,7 +25,7 @@ export const addRequestedImageDeletionListener = () => {
|
|||||||
effect: (action, { dispatch, getState }) => {
|
effect: (action, { dispatch, getState }) => {
|
||||||
const { image, imageUsage } = action.payload;
|
const { image, imageUsage } = action.payload;
|
||||||
|
|
||||||
const { image_name, image_origin } = image;
|
const { image_name } = image;
|
||||||
|
|
||||||
const state = getState();
|
const state = getState();
|
||||||
const selectedImage = state.gallery.selectedImage;
|
const selectedImage = state.gallery.selectedImage;
|
||||||
@ -79,9 +79,7 @@ export const addRequestedImageDeletionListener = () => {
|
|||||||
dispatch(imageRemoved(image_name));
|
dispatch(imageRemoved(image_name));
|
||||||
|
|
||||||
// Delete from server
|
// Delete from server
|
||||||
dispatch(
|
dispatch(imageDeleted({ imageName: image_name }));
|
||||||
imageDeleted({ imageName: image_name, imageOrigin: image_origin })
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -20,7 +20,6 @@ export const addImageMetadataReceivedFulfilledListener = () => {
|
|||||||
dispatch(
|
dispatch(
|
||||||
imageUpdated({
|
imageUpdated({
|
||||||
imageName: image.image_name,
|
imageName: image.image_name,
|
||||||
imageOrigin: image.image_origin,
|
|
||||||
requestBody: { is_intermediate: false },
|
requestBody: { is_intermediate: false },
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -36,13 +36,12 @@ export const addInvocationCompleteEventListener = () => {
|
|||||||
|
|
||||||
// This complete event has an associated image output
|
// This complete event has an associated image output
|
||||||
if (isImageOutput(result) && !nodeDenylist.includes(node.type)) {
|
if (isImageOutput(result) && !nodeDenylist.includes(node.type)) {
|
||||||
const { image_name, image_origin } = result.image;
|
const { image_name } = result.image;
|
||||||
|
|
||||||
// Get its metadata
|
// Get its metadata
|
||||||
dispatch(
|
dispatch(
|
||||||
imageMetadataReceived({
|
imageMetadataReceived({
|
||||||
imageName: image_name,
|
imageName: image_name,
|
||||||
imageOrigin: image_origin,
|
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -11,12 +11,11 @@ export const addStagingAreaImageSavedListener = () => {
|
|||||||
startAppListening({
|
startAppListening({
|
||||||
actionCreator: stagingAreaImageSaved,
|
actionCreator: stagingAreaImageSaved,
|
||||||
effect: async (action, { dispatch, getState, take }) => {
|
effect: async (action, { dispatch, getState, take }) => {
|
||||||
const { image_name, image_origin } = action.payload;
|
const { image_name } = action.payload;
|
||||||
|
|
||||||
dispatch(
|
dispatch(
|
||||||
imageUpdated({
|
imageUpdated({
|
||||||
imageName: image_name,
|
imageName: image_name,
|
||||||
imageOrigin: image_origin,
|
|
||||||
requestBody: {
|
requestBody: {
|
||||||
is_intermediate: false,
|
is_intermediate: false,
|
||||||
},
|
},
|
||||||
|
@ -80,11 +80,10 @@ export const addUpdateImageUrlsOnConnectListener = () => {
|
|||||||
`Fetching new image URLs for ${allUsedImages.length} images`
|
`Fetching new image URLs for ${allUsedImages.length} images`
|
||||||
);
|
);
|
||||||
|
|
||||||
allUsedImages.forEach(({ image_name, image_origin }) => {
|
allUsedImages.forEach(({ image_name }) => {
|
||||||
dispatch(
|
dispatch(
|
||||||
imageUrlsReceived({
|
imageUrlsReceived({
|
||||||
imageName: image_name,
|
imageName: image_name,
|
||||||
imageOrigin: image_origin,
|
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -116,7 +116,6 @@ export const addUserInvokedCanvasListener = () => {
|
|||||||
// Update the base node with the image name and type
|
// Update the base node with the image name and type
|
||||||
baseNode.image = {
|
baseNode.image = {
|
||||||
image_name: baseImageDTO.image_name,
|
image_name: baseImageDTO.image_name,
|
||||||
image_origin: baseImageDTO.image_origin,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,7 +142,6 @@ export const addUserInvokedCanvasListener = () => {
|
|||||||
// Update the base node with the image name and type
|
// Update the base node with the image name and type
|
||||||
baseNode.mask = {
|
baseNode.mask = {
|
||||||
image_name: maskImageDTO.image_name,
|
image_name: maskImageDTO.image_name,
|
||||||
image_origin: maskImageDTO.image_origin,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,7 +158,6 @@ export const addUserInvokedCanvasListener = () => {
|
|||||||
dispatch(
|
dispatch(
|
||||||
imageUpdated({
|
imageUpdated({
|
||||||
imageName: baseNode.image.image_name,
|
imageName: baseNode.image.image_name,
|
||||||
imageOrigin: baseNode.image.image_origin,
|
|
||||||
requestBody: { session_id: sessionId },
|
requestBody: { session_id: sessionId },
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
@ -171,7 +168,6 @@ export const addUserInvokedCanvasListener = () => {
|
|||||||
dispatch(
|
dispatch(
|
||||||
imageUpdated({
|
imageUpdated({
|
||||||
imageName: baseNode.mask.image_name,
|
imageName: baseNode.mask.image_name,
|
||||||
imageOrigin: baseNode.mask.image_origin,
|
|
||||||
requestBody: { session_id: sessionId },
|
requestBody: { session_id: sessionId },
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -866,8 +866,7 @@ export const canvasSlice = createSlice({
|
|||||||
});
|
});
|
||||||
|
|
||||||
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
||||||
const { image_name, image_origin, image_url, thumbnail_url } =
|
const { image_name, image_url, thumbnail_url } = action.payload;
|
||||||
action.payload;
|
|
||||||
|
|
||||||
state.layerState.objects.forEach((object) => {
|
state.layerState.objects.forEach((object) => {
|
||||||
if (object.kind === 'image') {
|
if (object.kind === 'image') {
|
||||||
|
@ -271,8 +271,7 @@ export const controlNetSlice = createSlice({
|
|||||||
});
|
});
|
||||||
|
|
||||||
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
||||||
const { image_name, image_origin, image_url, thumbnail_url } =
|
const { image_name, image_url, thumbnail_url } = action.payload;
|
||||||
action.payload;
|
|
||||||
|
|
||||||
forEach(state.controlNets, (c) => {
|
forEach(state.controlNets, (c) => {
|
||||||
if (c.controlImage?.image_name === image_name) {
|
if (c.controlImage?.image_name === image_name) {
|
||||||
|
@ -59,8 +59,7 @@ export const gallerySlice = createSlice({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
||||||
const { image_name, image_origin, image_url, thumbnail_url } =
|
const { image_name, image_url, thumbnail_url } = action.payload;
|
||||||
action.payload;
|
|
||||||
|
|
||||||
if (state.selectedImage?.image_name === image_name) {
|
if (state.selectedImage?.image_name === image_name) {
|
||||||
state.selectedImage.image_url = image_url;
|
state.selectedImage.image_url = image_url;
|
||||||
|
@ -86,8 +86,7 @@ const imagesSlice = createSlice({
|
|||||||
imagesAdapter.removeOne(state, imageName);
|
imagesAdapter.removeOne(state, imageName);
|
||||||
});
|
});
|
||||||
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
||||||
const { image_name, image_origin, image_url, thumbnail_url } =
|
const { image_name, image_url, thumbnail_url } = action.payload;
|
||||||
action.payload;
|
|
||||||
|
|
||||||
imagesAdapter.updateOne(state, {
|
imagesAdapter.updateOne(state, {
|
||||||
id: image_name,
|
id: image_name,
|
||||||
|
@ -103,8 +103,7 @@ const nodesSlice = createSlice({
|
|||||||
});
|
});
|
||||||
|
|
||||||
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
||||||
const { image_name, image_origin, image_url, thumbnail_url } =
|
const { image_name, image_url, thumbnail_url } = action.payload;
|
||||||
action.payload;
|
|
||||||
|
|
||||||
state.nodes.forEach((node) => {
|
state.nodes.forEach((node) => {
|
||||||
forEach(node.data.inputs, (input) => {
|
forEach(node.data.inputs, (input) => {
|
||||||
|
@ -66,17 +66,15 @@ export const addControlNetToLinearGraph = (
|
|||||||
|
|
||||||
if (processedControlImage && processorType !== 'none') {
|
if (processedControlImage && processorType !== 'none') {
|
||||||
// We've already processed the image in the app, so we can just use the processed image
|
// We've already processed the image in the app, so we can just use the processed image
|
||||||
const { image_name, image_origin } = processedControlImage;
|
const { image_name } = processedControlImage;
|
||||||
controlNetNode.image = {
|
controlNetNode.image = {
|
||||||
image_name,
|
image_name,
|
||||||
image_origin,
|
|
||||||
};
|
};
|
||||||
} else if (controlImage) {
|
} else if (controlImage) {
|
||||||
// The control image is preprocessed
|
// The control image is preprocessed
|
||||||
const { image_name, image_origin } = controlImage;
|
const { image_name } = controlImage;
|
||||||
controlNetNode.image = {
|
controlNetNode.image = {
|
||||||
image_name,
|
image_name,
|
||||||
image_origin,
|
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
// Skip ControlNets without an unprocessed image - should never happen if everything is working correctly
|
// Skip ControlNets without an unprocessed image - should never happen if everything is working correctly
|
||||||
|
@ -354,7 +354,6 @@ export const buildImageToImageGraph = (state: RootState): Graph => {
|
|||||||
type: 'img_resize',
|
type: 'img_resize',
|
||||||
image: {
|
image: {
|
||||||
image_name: initialImage.image_name,
|
image_name: initialImage.image_name,
|
||||||
image_origin: initialImage.image_origin,
|
|
||||||
},
|
},
|
||||||
is_intermediate: true,
|
is_intermediate: true,
|
||||||
height,
|
height,
|
||||||
@ -392,7 +391,6 @@ export const buildImageToImageGraph = (state: RootState): Graph => {
|
|||||||
// We are not resizing, so we need to set the image on the `IMAGE_TO_LATENTS` node explicitly
|
// We are not resizing, so we need to set the image on the `IMAGE_TO_LATENTS` node explicitly
|
||||||
set(graph.nodes[IMAGE_TO_LATENTS], 'image', {
|
set(graph.nodes[IMAGE_TO_LATENTS], 'image', {
|
||||||
image_name: initialImage.image_name,
|
image_name: initialImage.image_name,
|
||||||
image_origin: initialImage.image_origin,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Pass the image's dimensions to the `NOISE` node
|
// Pass the image's dimensions to the `NOISE` node
|
||||||
|
@ -57,8 +57,7 @@ export const buildImg2ImgNode = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
imageToImageNode.image = {
|
imageToImageNode.image = {
|
||||||
image_name: initialImage.name,
|
image_name: initialImage.image_name,
|
||||||
image_origin: initialImage.type,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
import { createAction } from '@reduxjs/toolkit';
|
import { createAction } from '@reduxjs/toolkit';
|
||||||
import { isObject } from 'lodash-es';
|
import { ImageDTO } from 'services/api';
|
||||||
import { ImageDTO, ResourceOrigin } from 'services/api';
|
|
||||||
|
|
||||||
export type ImageNameAndOrigin = {
|
|
||||||
image_name: string;
|
|
||||||
image_origin: ResourceOrigin;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const initialImageSelected = createAction<ImageDTO | string | undefined>(
|
export const initialImageSelected = createAction<ImageDTO | string | undefined>(
|
||||||
'generation/initialImageSelected'
|
'generation/initialImageSelected'
|
||||||
|
@ -234,8 +234,7 @@ export const generationSlice = createSlice({
|
|||||||
});
|
});
|
||||||
|
|
||||||
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
builder.addCase(imageUrlsReceived.fulfilled, (state, action) => {
|
||||||
const { image_name, image_origin, image_url, thumbnail_url } =
|
const { image_name, image_url, thumbnail_url } = action.payload;
|
||||||
action.payload;
|
|
||||||
|
|
||||||
if (state.initialImage?.image_name === image_name) {
|
if (state.initialImage?.image_name === image_name) {
|
||||||
state.initialImage.image_url = image_url;
|
state.initialImage.image_url = image_url;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user