InvokeAI icon indicating copy to clipboard operation
InvokeAI copied to clipboard

[bug]: HMR is not working for frontend dev

Open kasbah opened this issue 3 years ago • 8 comments

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.

kasbah avatar Dec 14 '22 02:12 kasbah

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 🖖

hipsterusername avatar Dec 14 '22 02:12 hipsterusername

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.

blessedcoolant avatar Dec 14 '22 03:12 blessedcoolant

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.

psychedelicious avatar Dec 14 '22 04:12 psychedelicious

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?

blessedcoolant avatar Dec 14 '22 12:12 blessedcoolant

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.

kasbah avatar Dec 14 '22 13:12 kasbah

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 SettingsModal import 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.

blessedcoolant avatar Dec 14 '22 14:12 blessedcoolant

  1. 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 madge to 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
  1. I also tried eslint-plugin-react-refresh which 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.

kasbah avatar Dec 14 '22 14:12 kasbah

By the way, while it's not happening in the initial folder anymore I can still reproduce this issue by doing a fresh clone.

kasbah avatar Dec 14 '22 15:12 kasbah