* started implementing hamunii's image editor, and added a hamunii theme
* fixed so active tab is main tab
* added some testing stuff for image ediotr
* re-implemented canvas drawing myself. just need to add layer stuff now
* moved everything to an image editor class and implement it so it actually works nicely now
* fixed a couple weird bugs and cleaned up the background image and sharpness stuff
* cleaned up a lot of stuff about the editor, added tools, buttons, made it mostly work in the current ui
* added inpainting support
* updated with more nice changes/updates to the inpainting and drawing editor
* made some more fixes and touchups to the image editor
* removed a bunch of semicolons
* remove old image inpainting system
* updated to work properly on mobile
* made a minor bugfix
* fixed img_size_box alignment
* Update index.html
Co-authored-by: cmdr2 <secondary.cmdr2@gmail.com>
Co-authored-by: cmdr2 <shashank.shekhar.global@gmail.com>
* Toggle image modifiers plugin
Right-click on image modifiers to temporarily turn them off without removing them. To quickly iterate and experiment with various combinations.
Please note this plugin required a minor tweak in getPrompts() to add support for image modifier inactive state.
* Fix tag matching
Co-authored-by: cmdr2 <secondary.cmdr2@gmail.com>
Update the seed *before* starting the processing, so interrupting the processing retains the seed being used for the batch being currently processed.
The idea behind that is that if I like the gen I'm currently seeing and want to build on top of it, I can create a new task with the same seed without having to wait for the current task to complete.
Ask for a confimation before clearing the results pane or stopping a render task. The dialog can be skipped by holding down the shift key while clicking on the button.
During getModel(), the server picklescans the model files for potential
malicious code in the pickled python objects. If a malicious file is
found, the web UI will show a big red error message, the makeImage
button will be disabled, and the user must remove the malicious file
and reload the UI page.
By default, healthCheck() is run every 5s. On background tabs, this may get extended. My tests have shown pings every 60s. The ping was older than 10s, so the condition in line 490 evaluates to `false` and the client tries to access the stream before the server is ready. By increasing the validity this can be avoided - at least until the browser runs the healthcheck even less often.
See https://discord.com/channels/1014774730907209781/1041811939380178964/1041812021018120262 for the analysis.