Compare commits

..

2 Commits

Author SHA1 Message Date
w-e-w 4861dccf7c local iframeResizer
load iframeResizer from webui assets
ASSETS_COMMIT_HASH needs to be updated accordingly after https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets/pull/2 is merged
2024-08-10 19:34:01 +09:00
w-e-w eed3b43252 remove preconnects 2024-08-10 19:22:28 +09:00
5 changed files with 14 additions and 24 deletions
-2
View File
@@ -19,7 +19,6 @@ class SdVersion(enum.Enum):
SD1 = 2
SD2 = 3
SDXL = 4
SD3 = 5
class NetworkOnDisk:
@@ -60,7 +59,6 @@ class NetworkOnDisk:
self.sd_version = self.detect_version()
def detect_version(self):
# TODO: SdVersion.SD3 detection
if str(self.metadata.get('ss_base_model_version', "")).startswith("sdxl_"):
return SdVersion.SDXL
elif str(self.metadata.get('ss_v2', "")) == "True":
@@ -38,8 +38,7 @@ shared.options_templates.update(shared.options_section(('extra_networks', "Extra
"lora_add_hashes_to_infotext": shared.OptionInfo(True, "Add Lora hashes to infotext"),
"lora_bundled_ti_to_infotext": shared.OptionInfo(True, "Add Lora name as TI hashes for bundled Textual Inversion").info('"Add Textual Inversion hashes to infotext" needs to be enabled'),
"lora_show_all": shared.OptionInfo(False, "Always show all networks on the Lora page").info("otherwise, those detected as for incompatible version of Stable Diffusion will be hidden"),
"lora_hide_unknown_for_versions": shared.OptionInfo([], "Hide networks of unknown versions for model versions", gr.CheckboxGroup, {"choices": ["SD1", "SD2", "SDXL", "SD3"]}),
"TEMP_setting_sd3_lora_filter": shared.OptionInfo(["SD1", "Unknown"], "For SD3 model also show Lora of other sd version", gr.CheckboxGroup, {"choices": ["SD1", "SD2", "SDXL", "Unknown"]}).info('Temporary setting until SD3 Lora detection is implemented'),
"lora_hide_unknown_for_versions": shared.OptionInfo([], "Hide networks of unknown versions for model versions", gr.CheckboxGroup, {"choices": ["SD1", "SD2", "SDXL"]}),
"lora_in_memory_limit": shared.OptionInfo(0, "Number of Lora networks to keep cached in memory", gr.Number, {"precision": 0}),
"lora_not_found_warning_console": shared.OptionInfo(False, "Lora not found warning in console"),
"lora_not_found_gradio_warning": shared.OptionInfo(False, "Lora not found warning popup in webui"),
@@ -160,7 +160,7 @@ class LoraUserMetadataEditor(ui_extra_networks_user_metadata.UserMetadataEditor)
def create_extra_default_items_in_left_column(self):
# this would be a lot better as gr.Radio but I can't make it work
self.select_sd_version = gr.Dropdown(['SD1', 'SD2', 'SDXL', 'SD3', 'Unknown'], value='Unknown', label='Stable Diffusion version', interactive=True)
self.select_sd_version = gr.Dropdown(['SD1', 'SD2', 'SDXL', 'Unknown'], value='Unknown', label='Stable Diffusion version', interactive=True)
def create_editor(self):
self.create_default_editor_elems()
@@ -3,7 +3,7 @@ import os
import network
import networks
from modules import shared, ui_extra_networks, sd_models_types
from modules import shared, ui_extra_networks
from modules.ui_extra_networks import quote_js
from ui_edit_user_metadata import LoraUserMetadataEditor
@@ -62,14 +62,8 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
if shared.opts.lora_show_all or not enable_filter or not shared.sd_model:
pass
elif shared.sd_model.is_sd3:
# TODO: add proper SD3 filtering when detection is implemented
# TODO: move after Unknown block when implemented
if sd_version is network.SdVersion.SD3 or sd_version.name in shared.opts.TEMP_setting_sd3_lora_filter:
return item
return None
elif sd_version == network.SdVersion.Unknown:
model_version = self.sd_to_lora_version(shared.sd_model)
model_version = network.SdVersion.SDXL if shared.sd_model.is_sdxl else network.SdVersion.SD2 if shared.sd_model.is_sd2 else network.SdVersion.SD1
if model_version.name in shared.opts.lora_hide_unknown_for_versions:
return None
elif shared.sd_model.is_sdxl and sd_version != network.SdVersion.SDXL:
@@ -94,14 +88,3 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
def create_user_metadata_editor(self, ui, tabname):
return LoraUserMetadataEditor(ui, tabname, self)
@staticmethod
def sd_to_lora_version(sd_model: sd_models_types.WebuiSdModel):
if sd_model.is_sd1:
return network.SdVersion.SD1
elif sd_model.is_sd2:
return network.SdVersion.SD2
elif sd_model.is_sdxl:
return network.SdVersion.SDXL
elif sd_model.is_sd3:
return network.SdVersion.SD3
+10
View File
@@ -1,4 +1,5 @@
import os
import re
import gradio as gr
from modules import localization, shared, scripts, util
@@ -49,12 +50,21 @@ def css_html():
return head
re_preconnect = re.compile(rb'<link\s+rel="preconnect"\s+href="([^"]+)"(?:\s+[^>]*)?/?>')
def reload_javascript():
js = javascript_html()
css = css_html()
def template_response(*args, **kwargs):
res = shared.GradioTemplateResponseOriginal(*args, **kwargs)
# remove preconnects
res.body = re_preconnect.sub(b'', res.body)
# replace iframeResizer with local version
res.body = res.body.replace(b'src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.3.6/iframeResizer.contentWindow.min.js"', b'src="webui-assets/js/iframe-resizer/4.3.6/iframeResizer.contentWindow.min.js"')
res.body = res.body.replace(b'</head>', f'{js}<meta name="referrer" content="no-referrer"/></head>'.encode("utf8"))
res.body = res.body.replace(b'</body>', f'{css}</body>'.encode("utf8"))
res.init_headers()