SenshiSentou / sd-webui-state-manager

A state manager to quickly save and return to previous configs in A1111
MIT License
55 stars 6 forks source link

I'm not sure this is working in 1.7.0 #1

Closed blakejrobinson closed 5 months ago

blakejrobinson commented 8 months ago

Sounds like this will be really useful but I can't seem to get it to work. I noticed a few things trying this out:

My install details:

ryanull24 commented 8 months ago

I m also having issues with it - I can t get it to work. I can see the save / load buttons whatever, but the UI seems broken, all white, unreadable text, but I got it to save something (no items checkmark like author shows) which was gone after a reload

SenshiSentou commented 8 months ago

That's odd, it was tested in master just last week. I can check later this week. In the meantime, do either of you have any related console outputs?

ryanull24 commented 8 months ago

I can't see any output in the console. I do have a bunch of other extensions, so there may be a conflict?

If I save my settings, under Favorites > double click a saved one I can see it changing at least the prompt.

image

Regular, non-extended panel looks like this:

image

version: [v1.7.0]  •  python: 3.10.11  •  torch: 2.0.1+cu118  •  xformers: 0.0.20  •  gradio: 3.41.2

L.E. Installed a fresh version of a1111 1.7.0 to test this, switched to white theme; now text is readable, but still the same issues as above

Later L.E. I don't know if this might be of any use:

image

Antivash commented 8 months ago

Getting similar results out of pretty much every browser I try; Opera GX, Brave, Edge, Chrome. Thought setting log level to debug might help, but no new information in the console window. Everything loads fine, I can favorite things, but everything vanishes when I restart.

image

vis223 commented 8 months ago

I hope you can figure this all out as it looks to be something that is really needed. I can confirm similar UI issues in SD Next but I guess there's much to fix in A1111 first. Keep up the good work. This definitely has huge potential.

PeanutButterSkeletonCrew commented 7 months ago

I have the same issues with 1.7.0. Hope this get resolved, this extension is exactly what I've wanted for a long time. It has lots of potential.

CHollman82 commented 7 months ago

Same issue here, I saved a few things, put them in favorites, then lost them. Seems like whenever you reload the page in your browser or close and reopen it everything that you thought was saved is gone.

SenshiSentou commented 7 months ago

I'm spending some time working on this this week. I just pulled to the latest 1.7.0 and everything still works as expected for me, on both FF and Chrome. To the people having issues: Are you on the latest(ish) browser versions?

CHollman82 commented 7 months ago

I'm using this Chrome version: 120.0.6099.200 (Official Build) (64-bit)

PeanutButterSkeletonCrew commented 7 months ago

I'm using Chrome Version 120.0.6099.217 (Official Build) (64-bit)

SenshiSentou commented 7 months ago

Thanks both. I just pushed a commit that I think should fix the issue. Can you let me know if it works?

PeanutButterSkeletonCrew commented 7 months ago

Thanks for the commit. I tested it and it does seem to work! Saved UIs and history seem to persist across sessions and double-clickling them loads the saved state. Thanks for fixing this! (EDIT: See my next comment for an update on this).

The only issue I'm having now is that my system uses dark mode and the state manager UI doesn't display many elements properly when in dark mode. I can work around that but it'd be great to see a fix if you get an opportunity :)

EDIT: I should say that the UI doesn't seem to show any of the config settings that are shown in the github screenshots, even when in light mode.

PeanutButterSkeletonCrew commented 7 months ago

I did some more testing and while the basic settings (prompt etc) seem to be saved / loaded, settings for extensions (e.g. ControlNet, AfterDetailer) don't seem to load. I'm not sure if they're supposed to or not, it'd be great if they could though, it would save me a lot of time every time I load up A111.

SenshiSentou commented 7 months ago

Extension settings are absolutely meant to be saved as well. Could you show me a screenshot of what things look like on your end? I'll take a second look at dark mode for sure, but I'm especially interested in the elements that are always missing

PeanutButterSkeletonCrew commented 7 months ago

Unfortunately it seems the saved states don't survive between system reboots. Weirdly, if I close and reopen A111 I see the saved states but after a reboot they vanish. I tried this several times to be certain. Perhaps they're persisting in memory but not being properly saved? If you can add some debug output around the save / load process I'd be happy to test again and send you the output.

Also, I've attached a snip of the extension in dark theme so you can see what's missing. Perhaps this is unrelated to dark theme and is just an extension of the save / load issue?

window

PeanutButterSkeletonCrew commented 7 months ago

I did some more detective work and have an update to my previous post! At least part of the problem seems to be caused by Incognito Mode in Chrome. I use A111 in Incognito by default. When in incognito mode I get the issue I described above (saved states not persisting after rebooting my PC). However if I'm in standard Chrome, this issue does not occur. I can save and reload states between reboots.

However, even in standard chrome it doesn't seem to save / restore settings for extensions (ControlNet etc) and it still misses all the information in the side panel as shown in my screenshot above. The only difference is that saved states persist between reboots.

I hope that's useful information for you in diagnosing the problem.

ryanull24 commented 7 months ago

The only issue I'm having now is that my system uses dark mode and the state manager UI doesn't display many elements properly when in dark mode. I can work around that but it'd be great to see a fix if you get an opportunity :)

EDIT: I should say that the UI doesn't seem to show any of the config settings that are shown in the github screenshots, even when in light mode.

Same over here, and it seems i cannot delete saved states, but otherwise it works.

SenshiSentou commented 6 months ago

I just did a huge rewrite on this addon. For those that were having issues, could you please try the $v2.0-beta branch? It's not 100% feature-complete yet, and it will overwrite your current history, but I'm curious if it at least display correctly now.

If you're getting errors, please manually clear all state-manager data from your localstorage's ldb

Screenshot 2024-02-24 at 01 28 17
CHollman82 commented 6 months ago

Thank you, I'll give it a try tomorrow. It's a great idea and a very useful feature, thanks for developing it.

On Fri, Feb 23, 2024, 7:30 PM Patrick Boelens (bluetomato) < @.***> wrote:

I just did a huge rewrite on this addon. For those that were having issues, could you please try the $v2.0-beta branch? It's not 100% feature-complete yet, and it will overwrite your current history, but I'm curious if it at least display correctly now.

If you're getting errors, please manually clear all state-manager data from your localstorage's ldb Screenshot.2024-02-24.at.01.28.17.png (view on web) https://github.com/SenshiSentou/sd-webui-state-manager/assets/4528688/bf063d11-44f4-4786-85f2-c88a9ff2740a

— Reply to this email directly, view it on GitHub https://github.com/SenshiSentou/sd-webui-state-manager/issues/1#issuecomment-1962175007, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAX5YNWH3QVIG4E5VJCF3VDYVEYAVAVCNFSM6AAAAABAZWEHO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRSGE3TKMBQG4 . You are receiving this because you commented.Message ID: @.***>

Antivash commented 6 months ago

I just did a huge rewrite on this addon. For those that were having issues, could you please try the $v2.0-beta branch? It's not 100% feature-complete yet, and it will overwrite your current history, but I'm curious if it at least display correctly now.

If you're getting errors, please manually clear all state-manager data from your localstorage's ldb Screenshot 2024-02-24 at 01 28 17

So with this one, I am getting an error with the v2.0-beta branch even after clearing. Screenshot here

Changing line 64 of api.py from

with open(filepath,"r") as f:

to

with open(filepath,"r",encoding='utf-8') as f:

resolves the issue entirely for me. Screenshot here

Im not sure if its just an issue with my setup in particular specifically, but once that change is made, it functions perfectly for me, so I figure I'd drop this here, just in case..

SenshiSentou commented 6 months ago

@Antivash Great catch, thank you! Added this in

PeanutButterSkeletonCrew commented 6 months ago

@SenshiSentou V2.0 mostly works! Thanks for the hard work! A few small issues I did notice with saving settings from specific extensions:

  1. ControlNet - If the user has multiple ControlNet units, only the settings for the first ControlNet unit are saved / restored
  2. µ Detection Detailer - The state of the main checkbox for enabling the extension is not saved / restored. The Inpainting Options submenu doesn't seem to save manually entered values in the Inpainting Height / Width fields. I suspect the radio buttons for the size presets here are being applied over the manually entered values when the state is loaded.

Also the pop-out menu isn't legible in dark mode.

Other than that, everything works great! Thanks again for fixing the major issues :)

PeanutButterSkeletonCrew commented 6 months ago

I did a bit more testing and it seems like my earlier flagged issue of saves not persisting between rebooting my system in incognito mode is still in V2.0. Hopefully you can find a fix that issue :)

blakejrobinson commented 6 months ago

I did a bit more testing and it seems like my earlier flagged issue of saves not persisting between rebooting my system in incognito mode is still in V2.0. Hopefully you can find a fix that issue :)

Isn't this the point of Incognito mode? It won't save sessions/history/etc.

blakejrobinson commented 6 months ago

Gave the new version a try and definitely an improvement. I can't seem to get things like ControlNet to recall though (they seem to store okay, but it won't change any settings on 'Load generation settings' or 'Load all'

ryanull24 commented 6 months ago

I just did a huge rewrite on this addon. For those that were having issues, could you please try the $v2.0-beta branch? It's not 100% feature-complete yet, and it will overwrite your current history, but I'm curious if it at least display correctly now.

If you're getting errors, please manually clear all state-manager data from your localstorage's ldb Screenshot 2024-02-24 at 01 28 17

On my regular install it throws some errors and sd doesn't generate anything, on the fresh install that I tried the 1.0 extension (A111 1.7.0 still) same thing, but on a fresh Forge (A1111 fork) install seems to work well, so that's a me issue.

One little thing that annoys me is that the full screen mode is white when I am using dark mode, but other than that, all good.

SenshiSentou commented 5 months ago

@SenshiSentou V2.0 mostly works! Thanks for the hard work! A few small issues I did notice with saving settings from specific extensions:

1. ControlNet - If the user has multiple ControlNet units, only the settings for the first ControlNet unit are saved / restored

2. µ Detection Detailer - The state of the main checkbox for enabling the extension is not saved / restored. The Inpainting Options submenu doesn't seem to save manually entered values in the Inpainting Height / Width fields. I suspect the radio buttons for the size presets here are being applied over the manually entered values when the state is loaded.

Also the pop-out menu isn't legible in dark mode.

Other than that, everything works great! Thanks again for fixing the major issues :)

Gave the new version a try and definitely an improvement. I can't seem to get things like ControlNet to recall though (they seem to store okay, but it won't change any settings on 'Load generation settings' or 'Load all'

Dangit. ControlNet is always gonna be a bit of a PITA, with some of its state being control images and such. This is an unexpected one though, so I'll have to take a look. I'm not familiar with mu detailer, but I'll see if I can check that out as well. I did just push a commit with some better support for dark mode. It's not very pretty, but at least it's usable now!

I did a bit more testing and it seems like my earlier flagged issue of saves not persisting between rebooting my system in incognito mode is still in V2.0. Hopefully you can find a fix that issue :)

By definition, incognito mode clears things like localstorage/ indexed DB. However, I did add a setting to save to a persistent file instead, have you tried that yet?

On my regular install it throws some errors and sd doesn't generate anything, on the fresh install that I tried the 1.0 extension (A111 1.7.0 still) same thing, but on a fresh Forge (A1111 fork) install seems to work well, so that's a me issue.

One little thing that annoys me is that the full screen mode is white when I am using dark mode, but other than that, all good.

I'm on 1.7.0 as well, so I'm tempted to take your word for it that it's a problem on your end ;) Please note Forge is not officially supported, and I've never even used it, so all bets are off there. Dark mode is now supported though!

Thanks for the feedback and helping test it everyone!

PeanutButterSkeletonCrew commented 5 months ago

I did a bit more testing and it seems like my earlier flagged issue of saves not persisting between rebooting my system in incognito mode is still in V2.0. Hopefully you can find a fix that issue :)

By definition, incognito mode clears things like localstorage/ indexed DB. However, I did add a setting to save to a persistent file instead, have you tried that yet?

I wasn't aware of the persistent file option. I tried it and it appears to work, thank you!

I had a few initial issues with it; it failed to create the history.txt file initially but I have some issues with file permissions on the drive I run SD from so that is possibly the culprit. After manually creating a history.txt file, I had a strange issue where attempting to save a favourite would cause most of the web UI to become unresponsive. I fixed this by saving a favourite as soon as A111 had loaded (essentially a blank favourite). After that, everything behaved as expected. I wonder if this issue was caused by me manually creating a blank text file for the history.txt file after that failed to be created?

However, once I resolved those teething problems, the persistent file option seems to work perfectly. Thanks again for implementing it. State Manager is already saving me plenty of time.

As a note, I switched over to Forge after resolving these issues and State Manager seems to work well there. There are similar issues with ControlNet like I mentioned above (Forge's version of Control Net is slightly different as it's native rather than an extension) but other than that everything seemed to work as expected.

SenshiSentou commented 5 months ago

Interesting.. Thanks for sharing your findings! I'll try deleting and seeing how it behaves without the file present.

Everyone keeps mentioning Forge! I think I'll have to check that out at some point, though I'll focus on stock A1111 for now :)

Glad you're finding the extension useful!

SenshiSentou commented 5 months ago

Just pushed a change to 2.0-beta that adds support for ControlNet.

It doesn't get its own pretty accordion, because the internal CN naming is absolutely awful (simply txt2img/Enable rather than txt2img/ControlNet/Enable for example), and I really dislike adding extra code just to handle exception cases like this. CN is a big one though, so I might change my mind on this later. Regardless, it does at least correctly save and load all 3 units separately.