mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
feat(ui): add warning socket event handling
This commit is contained in:
parent
abee37eab3
commit
09f396ce84
@ -551,6 +551,7 @@
|
|||||||
},
|
},
|
||||||
"toast": {
|
"toast": {
|
||||||
"serverError": "Server Error",
|
"serverError": "Server Error",
|
||||||
|
"serverWarning": "Server Warning",
|
||||||
"disconnected": "Disconnected from Server",
|
"disconnected": "Disconnected from Server",
|
||||||
"connected": "Connected to Server",
|
"connected": "Connected to Server",
|
||||||
"canceled": "Processing Canceled",
|
"canceled": "Processing Canceled",
|
||||||
|
@ -73,6 +73,7 @@ import { addImageCategoriesChangedListener } from './listeners/imageCategoriesCh
|
|||||||
import { addControlNetImageProcessedListener } from './listeners/controlNetImageProcessed';
|
import { addControlNetImageProcessedListener } from './listeners/controlNetImageProcessed';
|
||||||
import { addControlNetAutoProcessListener } from './listeners/controlNetAutoProcess';
|
import { addControlNetAutoProcessListener } from './listeners/controlNetAutoProcess';
|
||||||
import { addUpdateImageUrlsOnConnectListener } from './listeners/updateImageUrlsOnConnect';
|
import { addUpdateImageUrlsOnConnectListener } from './listeners/updateImageUrlsOnConnect';
|
||||||
|
import { addInvocationWarningEventListener } from './listeners/socketio/socketInvocationWarning';
|
||||||
|
|
||||||
export const listenerMiddleware = createListenerMiddleware();
|
export const listenerMiddleware = createListenerMiddleware();
|
||||||
|
|
||||||
@ -149,6 +150,7 @@ addGeneratorProgressListener();
|
|||||||
addGraphExecutionStateCompleteListener();
|
addGraphExecutionStateCompleteListener();
|
||||||
addInvocationCompleteListener();
|
addInvocationCompleteListener();
|
||||||
addInvocationErrorListener();
|
addInvocationErrorListener();
|
||||||
|
addInvocationWarningEventListener();
|
||||||
addInvocationStartedListener();
|
addInvocationStartedListener();
|
||||||
addSocketConnectedListener();
|
addSocketConnectedListener();
|
||||||
addSocketDisconnectedListener();
|
addSocketDisconnectedListener();
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
import { startAppListening } from '../..';
|
||||||
|
import { log } from 'app/logging/useLogger';
|
||||||
|
import {
|
||||||
|
appSocketInvocationWarning,
|
||||||
|
socketInvocationWarning,
|
||||||
|
} from 'services/events/actions';
|
||||||
|
|
||||||
|
const moduleLog = log.child({ namespace: 'socketio' });
|
||||||
|
|
||||||
|
export const addInvocationWarningEventListener = () => {
|
||||||
|
startAppListening({
|
||||||
|
actionCreator: socketInvocationWarning,
|
||||||
|
effect: (action, { dispatch, getState }) => {
|
||||||
|
moduleLog.warn(
|
||||||
|
action.payload,
|
||||||
|
`Invocation warning (${action.payload.data.node.type})`
|
||||||
|
);
|
||||||
|
dispatch(appSocketInvocationWarning(action.payload));
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
@ -23,6 +23,7 @@ import {
|
|||||||
appSocketInvocationComplete,
|
appSocketInvocationComplete,
|
||||||
appSocketInvocationError,
|
appSocketInvocationError,
|
||||||
appSocketInvocationStarted,
|
appSocketInvocationStarted,
|
||||||
|
appSocketInvocationWarning,
|
||||||
appSocketSubscribed,
|
appSocketSubscribed,
|
||||||
appSocketUnsubscribed,
|
appSocketUnsubscribed,
|
||||||
} from 'services/events/actions';
|
} from 'services/events/actions';
|
||||||
@ -334,6 +335,20 @@ export const systemSlice = createSlice({
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Invocation Warning
|
||||||
|
*/
|
||||||
|
builder.addCase(appSocketInvocationWarning, (state, action) => {
|
||||||
|
const { data } = action.payload;
|
||||||
|
state.toastQueue.push(
|
||||||
|
makeToast({
|
||||||
|
title: t('toast.serverWarning'),
|
||||||
|
description: data.warning,
|
||||||
|
status: 'warning',
|
||||||
|
})
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Graph Execution State Complete
|
* Graph Execution State Complete
|
||||||
*/
|
*/
|
||||||
|
@ -6,6 +6,7 @@ export const tabMap = [
|
|||||||
'nodes',
|
'nodes',
|
||||||
// 'postprocessing',
|
// 'postprocessing',
|
||||||
// 'training',
|
// 'training',
|
||||||
|
'prompt',
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
export type InvokeTabName = (typeof tabMap)[number];
|
export type InvokeTabName = (typeof tabMap)[number];
|
||||||
|
@ -5,6 +5,7 @@ import {
|
|||||||
InvocationCompleteEvent,
|
InvocationCompleteEvent,
|
||||||
InvocationErrorEvent,
|
InvocationErrorEvent,
|
||||||
InvocationStartedEvent,
|
InvocationStartedEvent,
|
||||||
|
InvocationWarningEvent,
|
||||||
} from 'services/events/types';
|
} from 'services/events/types';
|
||||||
|
|
||||||
// Common socket action payload data
|
// Common socket action payload data
|
||||||
@ -131,6 +132,24 @@ export const appSocketInvocationError = createAction<
|
|||||||
BaseSocketPayload & { data: InvocationErrorEvent }
|
BaseSocketPayload & { data: InvocationErrorEvent }
|
||||||
>('socket/appSocketInvocationError');
|
>('socket/appSocketInvocationError');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Socket.IO Invocation Warning
|
||||||
|
*
|
||||||
|
* Do not use. Only for use in middleware.
|
||||||
|
*/
|
||||||
|
export const socketInvocationWarning = createAction<
|
||||||
|
BaseSocketPayload & { data: InvocationWarningEvent }
|
||||||
|
>('socket/socketInvocationWarning');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Socket.IO Invocation Warning
|
||||||
|
*
|
||||||
|
* Do not use. Only for use in middleware.
|
||||||
|
*/
|
||||||
|
export const appSocketInvocationWarning = createAction<
|
||||||
|
BaseSocketPayload & { data: InvocationWarningEvent }
|
||||||
|
>('socket/appSocketInvocationWarning');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Socket.IO Graph Execution State Complete
|
* Socket.IO Graph Execution State Complete
|
||||||
*
|
*
|
||||||
|
@ -63,6 +63,18 @@ export type InvocationErrorEvent = {
|
|||||||
error: string;
|
error: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A `invocation_warning` socket.io event.
|
||||||
|
*
|
||||||
|
* @example socket.on('invocation_warning', (data: InvocationWarningEvent) => { ... }
|
||||||
|
*/
|
||||||
|
export type InvocationWarningEvent = {
|
||||||
|
graph_execution_state_id: string;
|
||||||
|
node: BaseNode;
|
||||||
|
source_node_id: string;
|
||||||
|
warning: string;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A `invocation_started` socket.io event.
|
* A `invocation_started` socket.io event.
|
||||||
*
|
*
|
||||||
@ -95,6 +107,7 @@ export type ServerToClientEvents = {
|
|||||||
generator_progress: (payload: GeneratorProgressEvent) => void;
|
generator_progress: (payload: GeneratorProgressEvent) => void;
|
||||||
invocation_complete: (payload: InvocationCompleteEvent) => void;
|
invocation_complete: (payload: InvocationCompleteEvent) => void;
|
||||||
invocation_error: (payload: InvocationErrorEvent) => void;
|
invocation_error: (payload: InvocationErrorEvent) => void;
|
||||||
|
invocation_warning: (payload: InvocationWarningEvent) => void;
|
||||||
invocation_started: (payload: InvocationStartedEvent) => void;
|
invocation_started: (payload: InvocationStartedEvent) => void;
|
||||||
graph_execution_state_complete: (
|
graph_execution_state_complete: (
|
||||||
payload: GraphExecutionStateCompleteEvent
|
payload: GraphExecutionStateCompleteEvent
|
||||||
|
@ -11,6 +11,7 @@ import {
|
|||||||
socketConnected,
|
socketConnected,
|
||||||
socketDisconnected,
|
socketDisconnected,
|
||||||
socketSubscribed,
|
socketSubscribed,
|
||||||
|
socketInvocationWarning,
|
||||||
} from '../actions';
|
} from '../actions';
|
||||||
import { ClientToServerEvents, ServerToClientEvents } from '../types';
|
import { ClientToServerEvents, ServerToClientEvents } from '../types';
|
||||||
import { Logger } from 'roarr';
|
import { Logger } from 'roarr';
|
||||||
@ -94,6 +95,13 @@ export const setEventListeners = (arg: SetEventListenersArg) => {
|
|||||||
dispatch(socketInvocationError({ data, timestamp: getTimestamp() }));
|
dispatch(socketInvocationError({ data, timestamp: getTimestamp() }));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Invocation warning
|
||||||
|
*/
|
||||||
|
socket.on('invocation_warning', (data) => {
|
||||||
|
dispatch(socketInvocationWarning({ data, timestamp: getTimestamp() }));
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invocation complete
|
* Invocation complete
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user