[bug]: HMR is not working for frontend dev
Is there an existing issue for this?
- [X] I have searched the existing issues
OS
Linux
GPU
cpu
VRAM
No response
What happened?
I'm trying to set up a dev environment for the frontend. I've got it all working with yarn dev, it compiles, loads the web ui on 127.0.0.1:5173 and generating images :sunglasses:
However when I want to use hot-module-reloading and make a valid change to a .tsx file, after first loading the page, it's not reloading and endlessly repeating this error in the browser console:
ReferenceError: can't access lexical declaration 'App' before initialization
I tried in Firefox and Chrome, with profiles loaded that don't have any extensions installed. Is HMR supposed to be working?
Edit: Have tried editing with Neovim and VS Code with the same result.
Putting @psychedelicious and/or @blessedcoolant on the case to share his hot tips and tricks on the frontend dev environment, and looking forward to seeing your contributions 🖖
I think this is a bug to do with Vite itself. And not this repo. I generally bypass it by saving vite.config.js which effectively reboots the server and reactivates HMR until it breaks again. More of a work around.
Not sure what causes this issue but I don't think its anything on the user's end. And we are not the only ones facing this. The issue has been long reported and still there. If you figure a solution, let me know.
Every once in a while I get this, especially when I try to do something related to poly filling nodejs modules for the browser. I think it's a vite thing.
I wonder if upgrading to vite 4 will fix it? Our vite config is pretty straightforward so I expect upgrading will be simple.
Every once in a while I get this, especially when I try to do something related to poly filling nodejs modules for the browser. I think it's a vite thing.
I wonder if upgrading to vite 4 will fix it? Our vite config is pretty straightforward so I expect upgrading will be simple.
I get it a lot really. And not just on this project but any Vite project I have. Been looking for a solution to fix it but haven't found any that actually work so far.
Any reason for us not to upgrade to Vite 4?
Thanks for your input everyone. I tried updating to Vite 4 but it didn't fix it. (Didn't seem to introduce any new issues though so likely a painless update)
The issue has been long reported and still there.
Could you link the issue @blessedcoolant? Closest thing I found is https://github.com/vitejs/vite/issues/4587 but that's been closed. I had a go at finding circular dependencies with eslint-plugin-import but ran into a lot of other issues there.
When I updated Vite I noticed I could actually read what it's looping on and it was outputing a lot of:
13:20:51 [vite] hmr update /src/app/App.tsx (x2)
13:20:51 [vite] hmr update /src/features/system/components/SettingsModal/SettingsModal.tsx
13:20:51 [vite] hmr update /src/features/system/components/SettingsModal/SettingsModal.tsx
13:20:51 [vite] hmr update /src/features/system/components/SiteHeader.tsx
13:20:51 [vite] hmr update /src/features/system/components/SiteHeader.tsx (x2)
So I removed a SettingsModal import and it started working! When I added it back HMR is still working. :woman_shrugging: Would still be good to try and fix this since it seems like it will come back.
Thanks for your input everyone. I tried updating to Vite 4 but it didn't fix it. (Didn't seem to introduce any new issues though so likely a painless update)
The issue has been long reported and still there.
Could you link the issue @blessedcoolant? Closest thing I found is vitejs/vite#4587 but that's been closed. I had a go at finding circular dependencies with eslint-plugin-import but ran into a lot of other issues there.
When I updated Vite I noticed I could actually read what it's looping on and it was outputing a lot of:
13:20:51 [vite] hmr update /src/app/App.tsx (x2) 13:20:51 [vite] hmr update /src/features/system/components/SettingsModal/SettingsModal.tsx 13:20:51 [vite] hmr update /src/features/system/components/SettingsModal/SettingsModal.tsx 13:20:51 [vite] hmr update /src/features/system/components/SiteHeader.tsx 13:20:51 [vite] hmr update /src/features/system/components/SiteHeader.tsx (x2)So I removed a
SettingsModalimport and it started working! When I added it back HMR is still working. 🤷♀️ Would still be good to try and fix this since it seems like it will come back.
I actually noticed this issue with SettingsModal too. I'll have a look in there and see if something is breaking HMR.
- Found this issue which might have been the one you are referring to: https://github.com/vitejs/vite/issues/3033. In it I also saw a suggestion to use
madgeto show circular dependencies.
npx madge --circular src/main.tsx
Processed 190 files (1.3s) (39 warnings)
✖ Found 131 circular dependencies!
1) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts
2) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx
3) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx
4) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > app/socketio/actions.ts
5) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > app/socketio/actions.ts
6) features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > app/socketio/actions.ts
7) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx
8) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/canvas/store/canvasSlice.ts
9) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/canvas/store/canvasSlice.ts > features/canvas/store/canvasTypes.ts
10) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/gallery/components/DeleteImageModal.tsx
11) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/gallery/components/DeleteImageModal.tsx
12) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/gallery/components/DeleteImageModal.tsx > features/system/store/systemSlice.ts
13) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx
14) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/options/components/AdvancedOptions/FaceRestore/FaceRestoreOptions.tsx
15) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/options/components/AdvancedOptions/FaceRestore/FaceRestoreOptions.tsx > features/options/store/optionsSlice.ts
16) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/options/components/AdvancedOptions/FaceRestore/FaceRestoreOptions.tsx > features/options/store/optionsSlice.ts > common/util/promptToString.ts
17) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/options/components/AdvancedOptions/FaceRestore/FaceRestoreOptions.tsx > features/options/store/optionsSlice.ts > common/util/seedWeightPairs.ts
18) features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/options/components/AdvancedOptions/FaceRestore/FaceRestoreOptions.tsx > features/options/store/optionsSlice.ts
19) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/options/components/AdvancedOptions/Upscale/UpscaleOptions.tsx
20) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/options/store/optionsSelectors.ts
21) features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImageButtons.tsx > features/options/store/optionsSelectors.ts
22) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImagePreview.tsx
23) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImagePreview.tsx > features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.tsx
24) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImagePreview.tsx > features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.tsx
25) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/CurrentImagePreview.tsx
26) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx
27) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx > features/gallery/components/HoverableImage.tsx
28) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx > features/gallery/components/HoverableImage.tsx
29) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx > features/gallery/components/HoverableImage.tsx
30) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx > features/gallery/components/HoverableImage.tsx > features/gallery/store/gallerySliceSelectors.ts
31) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx > features/gallery/components/HoverableImage.tsx > features/gallery/store/gallerySliceSelectors.ts > features/canvas/store/canvasSelectors.ts
32) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx > features/gallery/components/HoverableImage.tsx > features/gallery/store/gallerySliceSelectors.ts > features/canvas/store/canvasSelectors.ts > features/system/store/systemSelectors.ts
33) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx > features/gallery/components/HoverableImage.tsx > features/gallery/store/gallerySliceSelectors.ts
34) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx
35) features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx > features/gallery/components/ImageGallery.tsx
36) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/lightbox/components/Lightbox.tsx
37) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx
38) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/InvokeWorkarea.tsx
39) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/InvokeWorkarea.tsx > features/gallery/hooks/useGetImageByUuid.ts
40) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx
41) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx
42) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasBoundingBoxOverlay.tsx
43) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasGrid.tsx
44) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasIntermediateImage.tsx
45) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasIntermediateImage.tsx
46) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasMaskCompositer.tsx
47) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasMaskLines.tsx
48) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasObjectRenderer.tsx
49) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasStagingArea.tsx
50) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasStagingAreaToolbar.tsx
51) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasStatusText.tsx
52) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasStatusText.tsx > features/canvas/components/IAICanvasStatusText/IAICanvasStatusTextCursorPos.tsx
53) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasToolPreview.tsx
54) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasBoundingBox.tsx
55) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/hooks/useCanvasDragMove.ts
56) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/hooks/useCanvasHotkeys.ts
57) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/hooks/useCanvasMouseDown.ts
58) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/hooks/useCanvasMouseDown.ts > features/canvas/hooks/useColorUnderCursor.ts
59) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/hooks/useCanvasMouseMove.ts
60) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/hooks/useCanvasMouseOut.ts
61) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/hooks/useCanvasMouseUp.ts
62) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvas.tsx > features/canvas/hooks/useCanvasZoom.ts
63) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasResizer.tsx
64) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx
65) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx
66) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasRedoButton.tsx
67) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasSettingsButtonPopover.tsx
68) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasSettingsButtonPopover.tsx > features/canvas/components/ClearCanvasHistoryButtonModal.tsx
69) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasSettingsButtonPopover.tsx > features/system/components/ClearTempFolderButtonModal.tsx
70) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolChooserOptions.tsx
71) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasUndoButton.tsx
72) app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/store/thunks/mergeAndUploadCanvas.ts
73) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/store/thunks/mergeAndUploadCanvas.ts
74) features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx > features/canvas/store/thunks/mergeAndUploadCanvas.ts
75) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx
76) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBaseBrushSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSize.tsx
77) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBaseBrushSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasColorPicker.tsx
78) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBaseBrushSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasLimitStrokesToBox.tsx
79) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMaskBrushSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasClearMask.tsx
80) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMaskBrushSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasEnableMask.tsx
81) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMaskBrushSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasPreserveMask.tsx
82) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMoveSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasDarkenOutsideSelection.tsx
83) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMoveSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasShowGrid.tsx
84) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettingsBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMoveSettings.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasSnapToGrid.tsx
85) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx
86) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasSettings.tsx
87) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasCopyToClipboard.tsx
88) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasDownloadImage.tsx
89) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasFileUploader.tsx
90) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasLayerSelect.tsx
91) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasMergeVisible.tsx
92) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasMoveTool.tsx
93) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasProcessingButtons.tsx
94) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasProcessingButtons.tsx > features/options/components/ProcessButtons/CancelButton.tsx
95) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasProcessingButtons.tsx > features/options/components/ProcessButtons/InvokeButton.tsx > app/selectors/readinessSelector.ts
96) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasProcessingButtons.tsx > features/options/components/ProcessButtons/InvokeButton.tsx
97) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasResetCanvas.tsx
98) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasResetView.tsx
99) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasSaveToGallery.tsx
100) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasToolSelect.tsx
101) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasDisplay.tsx
102) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Canvas/BoundingBoxSettings/BoundingBoxSettings.tsx
103) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Canvas/InfillAndScalingOptions.tsx
104) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Canvas/InfillAndScalingOptions.tsx > features/options/components/AdvancedOptions/Canvas/InpaintReplace.tsx
105) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Canvas/SeamCorrectionOptions.tsx
106) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/ImageToImage/ImageToImageStrength.tsx
107) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Seed/SeedOptions.tsx > features/options/components/AdvancedOptions/Seed/Perlin.tsx
108) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Seed/SeedOptions.tsx > features/options/components/AdvancedOptions/Seed/RandomizeSeed.tsx
109) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Seed/SeedOptions.tsx > features/options/components/AdvancedOptions/Seed/Seed.tsx
110) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Seed/SeedOptions.tsx > features/options/components/AdvancedOptions/Seed/ShuffleSeed.tsx
111) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Seed/SeedOptions.tsx > features/options/components/AdvancedOptions/Seed/Threshold.tsx
112) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Variations/GenerateVariations.tsx
113) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Variations/VariationsOptions.tsx > features/options/components/AdvancedOptions/Variations/SeedWeights.tsx
114) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/AdvancedOptions/Variations/VariationsOptions.tsx > features/options/components/AdvancedOptions/Variations/VariationAmount.tsx
115) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainCFGScale.tsx
116) features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainCFGScale.tsx
117) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainHeight.tsx
118) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainIterations.tsx
119) features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainIterations.tsx
120) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainSampler.tsx
121) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainSteps.tsx
122) features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainSteps.tsx
123) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/MainOptions/MainOptions.tsx > features/options/components/MainOptions/MainWidth.tsx
124) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/OptionsAccordion.tsx
125) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/OptionsAccordion.tsx > features/options/components/AccordionItems/InvokeAccordionItem.tsx > common/components/GuideIcon.tsx > common/components/GuidePopover.tsx
126) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/ProcessButtons/ProcessButtons.tsx
127) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/ProcessButtons/ProcessButtons.tsx > features/options/components/ProcessButtons/Loopback.tsx
128) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/options/components/PromptInput/PromptInput.tsx
129) app/store.ts > app/socketio/middleware.ts > app/invokeai.d.ts > features/gallery/store/gallerySlice.ts > features/tabs/components/InvokeTabs.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx > features/tabs/components/UnifiedCanvas/UnifiedCanvasPanel.tsx > features/tabs/components/InvokeOptionsPanel.tsx
130) app/store.ts > app/socketio/middleware.ts > app/socketio/emitters.ts
131) app/App.tsx > features/system/components/SiteHeader.tsx > features/system/components/SettingsModal/SettingsModal.tsx > main.tsx
- I also tried
eslint-plugin-react-refreshwhich has a lot of warnings about exporting non-react components e.g.
frontend/src/features/gallery/components/CurrentImagePreview.tsx
16:14 warning Fast refresh only works when a file only export components. Use a new file to share constant or functions between components react-refresh/only-export-components
I don't really understand this eslint rule to be honest (feel like the bundler should be able to handle this?) and the vite plugin @vitejs/plugin-react we are using doesn't mention it, only the alternative @vitejs/plugin-react-swc mentions that it's needed.
By the way, while it's not happening in the initial folder anymore I can still reproduce this issue by doing a fresh clone.