mirror of
https://github.com/vladmandic/automatic
synced 2026-09-20 01:31:13 +02:00
handle startup errors
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
+4
-3
@@ -1,8 +1,8 @@
|
||||
# Change Log for SD.Next
|
||||
|
||||
## Update for 2025-07-21
|
||||
## Update for 2025-07-22
|
||||
|
||||
### Highlights for 2025-07-21
|
||||
### Highlights for 2025-07-22
|
||||
|
||||
Feature highlights include:
|
||||
- **ModernUI** layout redesign which should make it more user friendly and easier to navigate
|
||||
@@ -29,7 +29,7 @@ For details, see [ChangeLog](https://github.com/vladmandic/automatic/blob/master
|
||||
|
||||
[ReadMe](https://github.com/vladmandic/automatic/blob/master/README.md) | [ChangeLog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) | [Docs](https://vladmandic.github.io/sdnext-docs/) | [WiKi](https://github.com/vladmandic/automatic/wiki) | [Discord](https://discord.com/invite/sd-next-federal-batch-inspectors-1101998836328697867)
|
||||
|
||||
### Details for 2025-07-21
|
||||
### Details for 2025-07-22
|
||||
|
||||
- **License**
|
||||
- SD.Next [license](https://github.com/vladmandic/sdnext/blob/dev/LICENSE.txt) switched from **aGPL-v3.0** to **Apache-v2.0**
|
||||
@@ -162,6 +162,7 @@ For details, see [ChangeLog](https://github.com/vladmandic/automatic/blob/master
|
||||
- remove legacy clip/blip interrogate module
|
||||
- remove modern-ui remove `only-original` vs `only-diffusers` code paths
|
||||
- refactor control processing and separate preprocessing and image save ops
|
||||
- refactor modernui layouts to rely on accordions more than individual controls
|
||||
- split monolithic `shared.py`
|
||||
- cleanup `/modules`: move pipeline loaders to `/pipelines` root
|
||||
- cleanup `/modules`: move code folders used by pipelines to `/pipelines/<pipeline>` folder
|
||||
|
||||
Submodule extensions-builtin/stable-diffusion-webui-rembg updated: b3a3a0a60b...3ec8f9eb79
@@ -60,6 +60,10 @@ function changelogNavigate(found) {
|
||||
async function initChangelog() {
|
||||
const search = gradioApp().querySelector('#changelog_search > label> textarea');
|
||||
const md = gradioApp().getElementById('changelog_markdown');
|
||||
if (!search || !md) {
|
||||
error('initChangelog', 'Missing search or markdown elements');
|
||||
return;
|
||||
}
|
||||
const searchChangelog = async (e) => {
|
||||
if (changelogElements.length < 100) changelogElements = getAllChildren(md);
|
||||
const found = [];
|
||||
|
||||
@@ -469,6 +469,10 @@ async function initGallery() { // triggered on gradio change to monitor when ui
|
||||
el.files = gradioApp().getElementById('tab-gallery-files');
|
||||
el.status = gradioApp().getElementById('tab-gallery-status');
|
||||
el.search = gradioApp().querySelector('#tab-gallery-search textarea');
|
||||
if (!el.folders || !el.files || !el.status || !el.search) {
|
||||
error('initGallery', 'Missing gallery elements');
|
||||
return;
|
||||
}
|
||||
el.search.addEventListener('input', gallerySearch);
|
||||
el.btnSend = gradioApp().getElementById('tab-gallery-send-image');
|
||||
document.getElementById('tab-gallery-files').style.height = opts.logmonitor_show ? '75vh' : '85vh';
|
||||
|
||||
@@ -181,6 +181,10 @@ async function initSettings() {
|
||||
if (settingsInitialized) return;
|
||||
settingsInitialized = true;
|
||||
const tabNavElements = gradioApp().querySelector('#settings > .tab-nav');
|
||||
if (!tabNavElements) {
|
||||
error('initSettings', 'No tab nav elements found');
|
||||
return;
|
||||
}
|
||||
const tabNavButtons = gradioApp().querySelectorAll('#settings > .tab-nav > button');
|
||||
const tabElements = gradioApp().querySelectorAll('#settings > div:not(.tab-nav)');
|
||||
const observer = new MutationObserver((mutations) => {
|
||||
|
||||
@@ -387,7 +387,7 @@ class YoloRestorer(Detailer):
|
||||
enabled = gr.Checkbox(label="Enable detailer pass", elem_id=f"{tab}_detailer_enabled", value=False)
|
||||
with gr.Row():
|
||||
detailers = gr.Dropdown(label="Detailer models", elem_id=f"{tab}_detailers", choices=self.list, value=shared.opts.detailer_models, multiselect=True, visible=True)
|
||||
detailers_text = gr.Textbox(label="Detailer models", elem_id=f"{tab}_detailers_text", placeholder="Comma separated list of detailer models", lines=2, visible=False, interactive=True)
|
||||
detailers_text = gr.Textbox(label="Detailer list", elem_id=f"{tab}_detailers_text", placeholder="Comma separated list of detailer models", lines=2, visible=False, interactive=True)
|
||||
refresh_btn = ui_common.create_refresh_button(detailers, self.enumerate, {}, elem_id=f"{tab}_detailers_refresh")
|
||||
ui_mode = ui_components.ToolButton(value=ui_symbols.view)
|
||||
ui_mode.click(fn=self.change_mode, inputs=[detailers, detailers_text], outputs=[detailers, detailers_text, refresh_btn])
|
||||
|
||||
@@ -364,7 +364,7 @@ def create_ui():
|
||||
create_safetensors = gr.Checkbox(label="Save safetensors", value=True)
|
||||
debug = gr.Checkbox(label="Debug info", value=False)
|
||||
|
||||
model_modules_btn = gr.Button(value="Modules", variant='primary')
|
||||
model_modules_btn = gr.Button(value="Merge Modules", variant='primary')
|
||||
model_modules_btn.click(
|
||||
fn=extras.run_model_modules,
|
||||
inputs=[
|
||||
|
||||
Reference in New Issue
Block a user