diff --git a/invokeai/frontend/web/src/app/store/store.ts b/invokeai/frontend/web/src/app/store/store.ts index 5651641afd..6b31f6f8d4 100644 --- a/invokeai/frontend/web/src/app/store/store.ts +++ b/invokeai/frontend/web/src/app/store/store.ts @@ -34,6 +34,7 @@ import { actionSanitizer } from './middleware/devtools/actionSanitizer'; import { actionsDenylist } from './middleware/devtools/actionsDenylist'; import { stateSanitizer } from './middleware/devtools/stateSanitizer'; import { listenerMiddleware } from './middleware/listenerMiddleware'; +import { authToastMiddleware } from 'services/api/authToastMiddleware'; const allReducers = { canvas: canvasReducer, @@ -96,6 +97,7 @@ export const createStore = (uniqueStoreKey?: string, persist = true) => }) .concat(api.middleware) .concat(dynamicMiddlewares) + .concat(authToastMiddleware) .prepend(listenerMiddleware.middleware), enhancers: (getDefaultEnhancers) => { const _enhancers = getDefaultEnhancers().concat(autoBatchEnhancer()); diff --git a/invokeai/frontend/web/src/services/api/authToastMiddleware.ts b/invokeai/frontend/web/src/services/api/authToastMiddleware.ts index 59db2d0b89..a9cf775383 100644 --- a/invokeai/frontend/web/src/services/api/authToastMiddleware.ts +++ b/invokeai/frontend/web/src/services/api/authToastMiddleware.ts @@ -5,12 +5,10 @@ import { t } from 'i18next'; import { z } from 'zod'; const zRejectedForbiddenAction = z.object({ - action: z.object({ - payload: z.object({ - status: z.literal(403), - data: z.object({ - detail: z.string(), - }), + payload: z.object({ + status: z.literal(403), + data: z.object({ + detail: z.string(), }), }), }); @@ -22,8 +20,8 @@ export const authToastMiddleware: Middleware = const parsed = zRejectedForbiddenAction.parse(action); const { dispatch } = api; const customMessage = - parsed.action.payload.data.detail !== 'Forbidden' - ? parsed.action.payload.data.detail + parsed.payload.data.detail !== 'Forbidden' + ? parsed.payload.data.detail : undefined; dispatch( addToast({ @@ -32,7 +30,7 @@ export const authToastMiddleware: Middleware = description: customMessage, }) ); - } catch { + } catch (error) { // no-op } }