diff --git a/.gitmodules b/.gitmodules index a6d3e9bf1..cc6c17569 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,34 +1,36 @@ [submodule "wiki"] path = wiki url = https://github.com/vladmandic/automatic.wiki -[submodule "extensions-builtin/sd-extension-system-info"] - path = extensions-builtin/sd-extension-system-info - url = https://github.com/vladmandic/sd-extension-system-info -[submodule "extensions-builtin/stable-diffusion-webui-images-browser"] - path = extensions-builtin/stable-diffusion-webui-images-browser - url = https://github.com/AlUlkesh/stable-diffusion-webui-images-browser - ignore = dirty -[submodule "modules/lora"] - path = modules/lora - url = https://github.com/kohya-ss/sd-scripts - ignore = dirty -[submodule "extensions-builtin/sd-webui-controlnet"] - path = extensions-builtin/sd-webui-controlnet - url = https://github.com/Mikubill/sd-webui-controlnet - ignore = dirty -[submodule "extensions-builtin/stable-diffusion-webui-rembg"] - path = extensions-builtin/stable-diffusion-webui-rembg - url = https://github.com/vladmandic/sd-extension-rembg - ignore = dirty -[submodule "extensions-builtin/sd-webui-agent-scheduler"] - path = extensions-builtin/sd-webui-agent-scheduler - url = https://github.com/ArtVentureX/sd-webui-agent-scheduler - ignore = dirty -[submodule "extensions-builtin/sd-extension-chainner"] - path = extensions-builtin/sd-extension-chainner - url = https://github.com/vladmandic/sd-extension-chainner ignore = dirty [submodule "modules/k-diffusion"] path = modules/k-diffusion url = https://github.com/crowsonkb/k-diffusion ignore = dirty +[submodule "modules/lora"] + path = modules/lora + url = https://github.com/kohya-ss/sd-scripts + ignore = dirty +[submodule "extensions-builtin/sd-extension-system-info"] + path = extensions-builtin/sd-extension-system-info + url = https://github.com/vladmandic/sd-extension-system-info + ignore = dirty +[submodule "extensions-builtin/sd-extension-chainner"] + path = extensions-builtin/sd-extension-chainner + url = https://github.com/vladmandic/sd-extension-chainner + ignore = dirty +[submodule "extensions-builtin/stable-diffusion-webui-rembg"] + path = extensions-builtin/stable-diffusion-webui-rembg + url = https://github.com/vladmandic/sd-extension-rembg + ignore = dirty +[submodule "extensions-builtin/stable-diffusion-webui-images-browser"] + path = extensions-builtin/stable-diffusion-webui-images-browser + url = https://github.com/AlUlkesh/stable-diffusion-webui-images-browser + ignore = dirty +[submodule "extensions-builtin/sd-webui-controlnet"] + path = extensions-builtin/sd-webui-controlnet + url = https://github.com/Mikubill/sd-webui-controlnet + ignore = dirty +[submodule "extensions-builtin/sd-webui-agent-scheduler"] + path = extensions-builtin/sd-webui-agent-scheduler + url = https://github.com/ArtVentureX/sd-webui-agent-scheduler + ignore = dirty diff --git a/extensions-builtin/stable-diffusion-webui-rembg b/extensions-builtin/stable-diffusion-webui-rembg index d5cd87bd4..b73dee3f3 160000 --- a/extensions-builtin/stable-diffusion-webui-rembg +++ b/extensions-builtin/stable-diffusion-webui-rembg @@ -1 +1 @@ -Subproject commit d5cd87bd434f1d82403ef740e0ab727afaf9dc96 +Subproject commit b73dee3f3fa99b1e7c7ee8dc6dad0176cb74e24c diff --git a/javascript/settings.js b/javascript/settings.js index dacc8bd87..93e4bebce 100644 --- a/javascript/settings.js +++ b/javascript/settings.js @@ -77,7 +77,7 @@ function markIfModified(setting_name, value) { tab_nav_indicator.classList.toggle('saved', saved.size > 0); if (changed_items.size > 0) tab_nav_indicator.title += `click to reset ${changed_items.size} unapplied changes in this tab\n`; if (saved.size > 0) tab_nav_indicator.title += `${saved.size} custom values\n${unsaved.size} default values}`; - elem.scrollIntoView({ behavior: 'smooth', block: 'center' }); // TODO why is scroll happening on every change if all pages are visible? + // elem.scrollIntoView({ behavior: 'smooth', block: 'center' }); // TODO why is scroll happening on every change if all pages are visible? } onAfterUiUpdate(async () => { @@ -105,9 +105,10 @@ onAfterUiUpdate(async () => { }, }); - const settings_search = gradioApp().querySelectorAll('#settings_search > label > textarea')[0]; - settings_search.oninput = (e) => { + const settingsSearch = gradioApp().querySelectorAll('#settings_search > label > textarea')[0]; + settingsSearch.oninput = (e) => { setTimeout(() => { + log('settingsSearch', e.target.value) showAllSettings(); gradioApp().querySelectorAll('#tab_settings .tabitem').forEach((section) => { section.querySelectorAll('.dirtyable').forEach((setting) => { @@ -131,23 +132,23 @@ onOptionsChanged(() => { function initSettings() { if (settingsInitialized) return; settingsInitialized = true; - const tab_nav_element = gradioApp().querySelector('#settings > .tab-nav'); - const tab_nav_buttons = gradioApp().querySelectorAll('#settings > .tab-nav > button'); - const tab_elements = gradioApp().querySelectorAll('#settings > div:not(.tab-nav)'); + const tabNavElements = gradioApp().querySelector('#settings > .tab-nav'); + const tabNavButtons = gradioApp().querySelectorAll('#settings > .tab-nav > button'); + const tabElements = gradioApp().querySelectorAll('#settings > div:not(.tab-nav)'); const observer = new MutationObserver((mutations) => { - const show_all_pages_dummy = gradioApp().getElementById('settings_show_all_pages'); - if (show_all_pages_dummy.style.display === 'none') { return; } - const mutation_on_style = (mut) => mut.type === 'attributes' && mut.attributeName === 'style'; - if (mutations.some(mutation_on_style)) showAllSettings(); + const showAllPages = gradioApp().getElementById('settings_show_all_pages'); + if (showAllPages.style.display === 'none') return; + const mutation = (mut) => mut.type === 'attributes' && mut.attributeName === 'style' + if (mutations.some(mutation)) showAllSettings(); }); - const tab_content_wrapper = document.createElement('div'); - tab_content_wrapper.className = 'tab-content'; - tab_nav_element.parentElement.insertBefore(tab_content_wrapper, tab_nav_element.nextSibling); - tab_elements.forEach((elem, index) => { - const tab_name = elem.id.replace('settings_', ''); - const indicator = gradioApp().getElementById(`modification_indicator_${tab_name}`); - tab_nav_element.insertBefore(indicator, tab_nav_buttons[index]); - tab_content_wrapper.appendChild(elem); + const tabContentWrapper = document.createElement('div'); + tabContentWrapper.className = 'tab-content'; + tabNavElements.parentElement.insertBefore(tabContentWrapper, tabNavElements.nextSibling); + tabElements.forEach((elem, index) => { + const tabName = elem.id.replace('settings_', ''); + const indicator = gradioApp().getElementById(`modification_indicator_${tabName}`); + tabNavElements.insertBefore(indicator, tabNavButtons[index]); + tabContentWrapper.appendChild(elem); observer.observe(elem, { attributes: true, attributeFilter: ['style'] }); }); log('initSettings'); diff --git a/modules/sd_samplers_diffusers.py b/modules/sd_samplers_diffusers.py index 015a55aaa..9cd3ee806 100644 --- a/modules/sd_samplers_diffusers.py +++ b/modules/sd_samplers_diffusers.py @@ -73,10 +73,10 @@ class DiffusionSampler: return for key, value in config.get('All', {}).items(): # apply global defaults self.config[key] = value - shared.log.debug(f'Sampler: name={name} type=all config={self.config}') + # shared.log.debug(f'Sampler: name={name} type=all config={self.config}') for key, value in config.get(name, {}).items(): # apply diffusers per-scheduler defaults self.config[key] = value - shared.log.debug(f'Sampler: name={name} type=scheduler config={self.config}') + # shared.log.debug(f'Sampler: name={name} type=scheduler config={self.config}') if hasattr(model.scheduler, 'scheduler_config'): # find model defaults orig_config = model.scheduler.scheduler_config else: @@ -84,11 +84,11 @@ class DiffusionSampler: for key, value in orig_config.items(): # apply model defaults if key in self.config: self.config[key] = value - shared.log.debug(f'Sampler: name={name} type=model config={self.config}') + # shared.log.debug(f'Sampler: name={name} type=model config={self.config}') for key, value in kwargs.items(): # apply user args, if any if key in self.config: self.config[key] = value - shared.log.debug(f'Sampler: name={name} type=user config={self.config}') + # shared.log.debug(f'Sampler: name={name} type=user config={self.config}') # finally apply user preferences if shared.opts.schedulers_prediction_type != 'default': self.config['prediction_type'] = shared.opts.schedulers_prediction_type