Skip to content

Commit 540e460

Browse files
author
Attila Cseh
committed
slices merged
1 parent fd1833e commit 540e460

34 files changed

+571
-898
lines changed

invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { modelChanged } from 'features/controlLayers/store/actions';
44
import { bboxSyncedToOptimalDimension, rgRefImageModelChanged } from 'features/controlLayers/store/canvasSlice';
55
import {
66
buildSelectIsStagingBySessionId,
7-
selectActiveCanvasSessionId,
7+
selectActiveCanvasStagingAreaSessionId,
88
} from 'features/controlLayers/store/canvasStagingAreaSlice';
99
import { loraIsEnabledChanged } from 'features/controlLayers/store/lorasSlice';
1010
import {
@@ -170,7 +170,7 @@ export const addModelSelectedListener = (startAppListening: AppStartListening) =
170170
if (modelBase !== params.model?.base) {
171171
// Sync generate tab settings whenever the model base changes
172172
paramsDispatch(api, syncedToOptimalDimension);
173-
const sessionId = selectActiveCanvasSessionId(state);
173+
const sessionId = selectActiveCanvasStagingAreaSessionId(state);
174174
const selectIsStaging = buildSelectIsStagingBySessionId(sessionId);
175175
const isStaging = selectIsStaging(state);
176176
if (!isStaging) {

invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/setDefaultSettings.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { isNil } from 'es-toolkit';
33
import { bboxHeightChanged, bboxWidthChanged } from 'features/controlLayers/store/canvasSlice';
44
import {
55
buildSelectIsStagingBySessionId,
6-
selectActiveCanvasSessionId,
6+
selectActiveCanvasStagingAreaSessionId,
77
} from 'features/controlLayers/store/canvasStagingAreaSlice';
88
import {
99
heightChanged,
@@ -121,7 +121,7 @@ export const addSetDefaultSettingsListener = (startAppListening: AppStartListeni
121121
}
122122
const setSizeOptions = { updateAspectRatio: true, clamp: true };
123123

124-
const sessionId = selectActiveCanvasSessionId(state);
124+
const sessionId = selectActiveCanvasStagingAreaSessionId(state);
125125
const selectIsStaging = buildSelectIsStagingBySessionId(sessionId);
126126
const isStaging = selectIsStaging(state);
127127

invokeai/frontend/web/src/app/store/store.ts

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,9 @@ import { deepClone } from 'common/util/deepClone';
2121
import { merge } from 'es-toolkit';
2222
import { omit, pick } from 'es-toolkit/compat';
2323
import { changeBoardModalSliceConfig } from 'features/changeBoardModal/store/slice';
24-
import { canvasSettingsReducer, canvasSettingsSliceConfig } from 'features/controlLayers/store/canvasSettingsSlice';
25-
import {
26-
canvasSliceConfig,
27-
initializeCanvasDependencies,
28-
migrateCanvas,
29-
undoableCanvasesReducer,
30-
} from 'features/controlLayers/store/canvasSlice';
31-
import { canvasSessionReducer, canvasSessionSliceConfig } from 'features/controlLayers/store/canvasStagingAreaSlice';
24+
import { canvasSliceConfig } from 'features/controlLayers/store/canvasSlice';
3225
import { lorasSliceConfig } from 'features/controlLayers/store/lorasSlice';
33-
import { paramsSliceConfig, paramsSliceReducer } from 'features/controlLayers/store/paramsSlice';
26+
import { paramsSliceConfig } from 'features/controlLayers/store/paramsSlice';
3427
import { refImagesSliceConfig } from 'features/controlLayers/store/refImagesSlice';
3528
import { dynamicPromptsSliceConfig } from 'features/dynamicPrompts/store/dynamicPromptsSlice';
3629
import { gallerySliceConfig } from 'features/gallery/store/gallerySlice';
@@ -67,8 +60,6 @@ const log = logger('system');
6760

6861
// When adding a slice, add the config to the SLICE_CONFIGS object below, then add the reducer to ALL_REDUCERS.
6962
const SLICE_CONFIGS = {
70-
[canvasSessionSliceConfig.slice.reducerPath]: canvasSessionSliceConfig,
71-
[canvasSettingsSliceConfig.slice.reducerPath]: canvasSettingsSliceConfig,
7263
[canvasSliceConfig.slice.reducerPath]: canvasSliceConfig,
7364
[changeBoardModalSliceConfig.slice.reducerPath]: changeBoardModalSliceConfig,
7465
[configSliceConfig.slice.reducerPath]: configSliceConfig,
@@ -93,17 +84,15 @@ const SLICE_CONFIGS = {
9384
// Remember to wrap undoable reducers in `undoable()`!
9485
const ALL_REDUCERS = {
9586
[api.reducerPath]: api.reducer,
96-
[canvasSessionSliceConfig.slice.reducerPath]: canvasSessionReducer,
97-
[canvasSettingsSliceConfig.slice.reducerPath]: canvasSettingsReducer,
98-
[canvasSliceConfig.slice.reducerPath]: undoableCanvasesReducer,
87+
[canvasSliceConfig.slice.reducerPath]: canvasSliceConfig.slice.reducer,
9988
[changeBoardModalSliceConfig.slice.reducerPath]: changeBoardModalSliceConfig.slice.reducer,
10089
[configSliceConfig.slice.reducerPath]: configSliceConfig.slice.reducer,
10190
[dynamicPromptsSliceConfig.slice.reducerPath]: dynamicPromptsSliceConfig.slice.reducer,
10291
[gallerySliceConfig.slice.reducerPath]: gallerySliceConfig.slice.reducer,
10392
[lorasSliceConfig.slice.reducerPath]: lorasSliceConfig.slice.reducer,
10493
[modelManagerSliceConfig.slice.reducerPath]: modelManagerSliceConfig.slice.reducer,
10594
[nodesSliceConfig.slice.reducerPath]: undoableNodesSliceReducer,
106-
[paramsSliceConfig.slice.reducerPath]: paramsSliceReducer,
95+
[paramsSliceConfig.slice.reducerPath]: paramsSliceConfig.slice.reducer,
10796
[queueSliceConfig.slice.reducerPath]: queueSliceConfig.slice.reducer,
10897
[refImagesSliceConfig.slice.reducerPath]: refImagesSliceConfig.slice.reducer,
10998
[stylePresetSliceConfig.slice.reducerPath]: stylePresetSliceConfig.slice.reducer,
@@ -224,10 +213,8 @@ export const createStore = (options?: { persist?: boolean; persistDebounce?: num
224213
// Once-off listener to support waiting for rehydration before rendering the app
225214
startAppListening({
226215
actionCreator: createAction(REMEMBER_REHYDRATED),
227-
effect: (action, { dispatch, unsubscribe }) => {
216+
effect: (action, { unsubscribe }) => {
228217
unsubscribe();
229-
dispatch(migrateCanvas());
230-
dispatch(initializeCanvasDependencies());
231218
options?.onRehydrated?.();
232219
},
233220
});

invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClipToBboxCheckbox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export const CanvasSettingsClipToBboxCheckbox = memo(() => {
1010
const dispatch = useAppDispatch();
1111
const clipToBbox = useAppSelector((state) => selectClipToBbox(state));
1212
const onChange = useCallback(
13-
(e: ChangeEvent<HTMLInputElement>) => dispatch(settingsClipToBboxChanged({ clipToBbox: e.target.checked })),
13+
(e: ChangeEvent<HTMLInputElement>) => dispatch(settingsClipToBboxChanged(e.target.checked)),
1414
[dispatch]
1515
);
1616
return (

invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsInvertScrollCheckbox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export const CanvasSettingsInvertScrollCheckbox = memo(() => {
1414
const invertScrollForToolWidth = useAppSelector((state) => selectInvertScrollForToolWidth(state));
1515
const onChange = useCallback(
1616
(e: ChangeEvent<HTMLInputElement>) => {
17-
dispatch(settingsInvertScrollForToolWidthChanged({ invertScrollForToolWidth: e.target.checked }));
17+
dispatch(settingsInvertScrollForToolWidthChanged(e.target.checked));
1818
},
1919
[dispatch]
2020
);

invokeai/frontend/web/src/features/controlLayers/components/StagingArea/QueueItemPreviewMini.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export const QueueItemPreviewMini = memo(({ item, index }: Props) => {
5555

5656
const onDoubleClick = useCallback(() => {
5757
if (autoSwitch !== 'off') {
58-
dispatch(settingsStagingAreaAutoSwitchChanged({ stagingAreaAutoSwitch: 'off' }));
58+
dispatch(settingsStagingAreaAutoSwitchChanged('off'));
5959
toast({
6060
title: 'Auto-Switch Disabled',
6161
});

invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaAutoSwitchButtons.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ export const StagingAreaAutoSwitchButtons = memo(() => {
1616
const dispatch = useAppDispatch();
1717

1818
const onClickOff = useCallback(() => {
19-
dispatch(settingsStagingAreaAutoSwitchChanged({ stagingAreaAutoSwitch: 'off' }));
19+
dispatch(settingsStagingAreaAutoSwitchChanged('off'));
2020
}, [dispatch]);
2121
const onClickSwitchOnStart = useCallback(() => {
22-
dispatch(settingsStagingAreaAutoSwitchChanged({ stagingAreaAutoSwitch: 'switch_on_start' }));
22+
dispatch(settingsStagingAreaAutoSwitchChanged('switch_on_start'));
2323
}, [dispatch]);
2424
const onClickSwitchOnFinished = useCallback(() => {
25-
dispatch(settingsStagingAreaAutoSwitchChanged({ stagingAreaAutoSwitch: 'switch_on_finish' }));
25+
dispatch(settingsStagingAreaAutoSwitchChanged('switch_on_finish'));
2626
}, [dispatch]);
2727

2828
return (

invokeai/frontend/web/src/features/controlLayers/components/StagingArea/__mocks__/mockStagingAreaApp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { merge } from 'es-toolkit';
22
import type { StagingAreaAppApi } from 'features/controlLayers/components/StagingArea/state';
3-
import type { AutoSwitchMode } from 'features/controlLayers/store/canvasSettingsSlice';
3+
import type { AutoSwitchMode } from 'features/controlLayers/store/types';
44
import type { ImageDTO, S } from 'services/api/types';
55
import type { PartialDeep } from 'type-fest';
66
import { vi } from 'vitest';

invokeai/frontend/web/src/features/controlLayers/components/StagingArea/context.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ export const StagingAreaContextProvider = memo(({ canvasId, children }: PropsWit
6262
});
6363
},
6464
onDiscard: ({ item_id, status }) => {
65-
store.dispatch(canvasQueueItemDiscarded({ canvasId, itemId: item_id }));
65+
store.dispatch(canvasQueueItemDiscarded({ itemId: item_id }));
6666
if (status === 'in_progress' || status === 'pending') {
6767
store.dispatch(queueApi.endpoints.cancelQueueItem.initiate({ item_id }, { track: false }));
6868
}
6969
},
7070
onDiscardAll: () => {
71-
store.dispatch(canvasSessionReset({ canvasId }));
71+
store.dispatch(canvasSessionReset());
7272
if (sessionId) {
7373
store.dispatch(
7474
queueApi.endpoints.cancelQueueItemsByDestination.initiate({ destination: sessionId }, { track: false })
@@ -86,20 +86,20 @@ export const StagingAreaContextProvider = memo(({ canvasId, children }: PropsWit
8686
};
8787

8888
store.dispatch(rasterLayerAdded({ overrides, isSelected: selectedEntityIdentifier?.type === 'raster_layer' }));
89-
store.dispatch(canvasSessionReset({ canvasId }));
89+
store.dispatch(canvasSessionReset());
9090
if (sessionId) {
9191
store.dispatch(
9292
queueApi.endpoints.cancelQueueItemsByDestination.initiate({ destination: sessionId }, { track: false })
9393
);
9494
}
9595
},
9696
onAutoSwitchChange: (mode) => {
97-
store.dispatch(settingsStagingAreaAutoSwitchChanged({ stagingAreaAutoSwitch: mode }));
97+
store.dispatch(settingsStagingAreaAutoSwitchChanged(mode));
9898
},
9999
};
100100

101101
return _stagingAreaAppApi;
102-
}, [canvasId, sessionId, selectQueueItems, socket, store]);
102+
}, [sessionId, selectQueueItems, socket, store]);
103103

104104
const [stagingAreaApi] = useState(() => new StagingAreaApi());
105105

invokeai/frontend/web/src/features/controlLayers/components/StagingArea/state.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { clamp } from 'es-toolkit';
2-
import type { AutoSwitchMode } from 'features/controlLayers/store/canvasSettingsSlice';
2+
import type { AutoSwitchMode } from 'features/controlLayers/store/types';
33
import type { ProgressImage } from 'features/nodes/types/common';
44
import type { MapStore } from 'nanostores';
55
import { atom, computed, map } from 'nanostores';

0 commit comments

Comments
 (0)