diff --git a/TODO.md b/TODO.md index f27044535..a77609141 100644 --- a/TODO.md +++ b/TODO.md @@ -4,17 +4,23 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma ## Candidates for next release -- stable cascade -- init latents, variations, tiling -- lora sliders: +- defork +- stable cascade: +- ipadapter masking: +- init latents: variations, tiling, img2img - x-adapter: - diffusers public callbacks - image2video: pia and vgen pipelines - video2video - async lowvram: +- remove builtin: controlnet +- remove builtin: image-browser +- remove training: ti +- remove training: hypernetwork ## Control missing features - second pass: - control api - masking api +- preprocess api diff --git a/html/screenshot-differrential.jpg b/html/screenshot-differential.jpg similarity index 100% rename from html/screenshot-differrential.jpg rename to html/screenshot-differential.jpg diff --git a/installer.py b/installer.py index cfb322cf5..0aae1b9b8 100644 --- a/installer.py +++ b/installer.py @@ -1039,7 +1039,7 @@ def extensions_preload(parser): preload_extensions(ext_dir, parser) t1 = time.time() preload_time[ext_dir] = round(t1 - t0, 2) - log.info(f'Extension preload: {preload_time}') + log.debug(f'Extension preload: {preload_time}') except Exception: log.error('Error running extension preloading') if args.profile: diff --git a/modules/api/middleware.py b/modules/api/middleware.py index 978d14b11..4c004ca08 100644 --- a/modules/api/middleware.py +++ b/modules/api/middleware.py @@ -18,7 +18,6 @@ def setup_middleware(app: FastAPI, cmd_opts): - log.info('Initializing middleware') ssl._create_default_https_context = ssl._create_unverified_context # pylint: disable=protected-access uvicorn_logger=logging.getLogger("uvicorn.error") uvicorn_logger.disabled = True @@ -91,3 +90,4 @@ async def general_exception_handler(req: Request, e: Exception): return handle_exception(req, e) app.build_middleware_stack() # rebuild middleware stack on-the-fly + log.debug(f'FastAPI middleware: {[m.__class__.__name__ for m in app.user_middleware]}') diff --git a/modules/face/__init__.py b/modules/face/__init__.py index f26d841eb..e0d76b689 100644 --- a/modules/face/__init__.py +++ b/modules/face/__init__.py @@ -72,7 +72,7 @@ def ui(self, _is_img2img): id_strength = gr.Slider(label='Strength', minimum=0.0, maximum=2.0, step=0.01, value=1.0) id_conditioning = gr.Slider(label='Control', minimum=0.0, maximum=2.0, step=0.01, value=0.5) with gr.Row(visible=True): - id_cache = gr.Checkbox(label='Cache model', value=True) + id_cache = gr.Checkbox(label='Cache model', value=False) with gr.Group(visible=False) as cfg_photomaker: with gr.Row(): gr.HTML('  Tenecent ARC Lab PhotoMaker
') diff --git a/modules/sd_models.py b/modules/sd_models.py index 01a847439..798324442 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -864,8 +864,14 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No if debug_load: errors.display(e, 'Load') return - elif 'ONNX' in model_type: # forced pipeline - sd_model = pipeline.from_pretrained(checkpoint_info.path) + elif model_type is not None and pipeline is not None and 'ONNX' in model_type: # forced pipeline + try: + sd_model = pipeline.from_pretrained(checkpoint_info.path) + except Exception as e: + shared.log.error(f'ONNX Failed loading {op}: {checkpoint_info.path} {e}') + if debug_load: + errors.display(e, 'Load') + return else: err1, err2, err3 = None, None, None # diffusers_load_config['use_safetensors'] = True diff --git a/modules/shared.py b/modules/shared.py index 937073bf1..526d27731 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -295,6 +295,8 @@ def temp_disable_extensions(): disable_themes.append('sdnext-ui-ux') if theme_name.lower() != 'lobe': disable_themes.append('sd-webui-lobe-theme') + if theme_name.lower() != 'cozy-nest': + disable_themes.append('Cozy-Nest') for ext in disable_themes: if ext not in opts.disabled_extensions: disabled.append(ext) diff --git a/modules/theme.py b/modules/theme.py index 7380b3672..eb594834e 100644 --- a/modules/theme.py +++ b/modules/theme.py @@ -49,7 +49,11 @@ def list_themes(): if f.endswith('.css'): engines.append(f'modern/{os.path.splitext(f)[0]}') if 'sd-webui-lobe-theme' in extensions: + modules.shared.log.info('Theme: installed="lobe"') engines.append('lobe') + if 'Cozy-Nest' in extensions: + modules.shared.log.info('Theme: installed="cozy-nest"') + engines.append('cozy-nest') gradio = ["gradio/default", "gradio/base", "gradio/glass", "gradio/monochrome", "gradio/soft"] huggingface = refresh_themes(no_update=True) huggingface = {x['id'] for x in huggingface if x['status'] == 'RUNNING' and 'test' not in x['id'].lower()} @@ -75,7 +79,7 @@ def reload_gradio_theme(theme_name=None): gradio_theme = gr.themes.Base(**default_font_params) modules.shared.log.info(f'UI theme: name="{theme_name}" style={modules.shared.opts.theme_style} base={base}') return True - elif theme_name.lower() in ['lobe']: + elif theme_name.lower() in ['lobe', 'cozy-nest']: gradio_theme = gr.themes.Base(**default_font_params) modules.shared.log.info(f'UI theme: name="{theme_name}" style={modules.shared.opts.theme_style} base={base}') elif theme_name.lower() == 'modern' or theme_name.lower().startswith('modern/'): diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py index eb78940a7..9dabf5565 100644 --- a/modules/ui_extra_networks.py +++ b/modules/ui_extra_networks.py @@ -585,6 +585,8 @@ def ui_tab_change(page): executor.submit(page.create_items, ui.tabname) for page in get_pages(): page.create_page(ui.tabname, skip_indexing) + if len(page.items) == 0: + continue with gr.Tab(page.title, id=page.title.lower().replace(" ", "_"), elem_classes="extra-networks-tab") as tab: page_html = gr.HTML(page.html, elem_id=f'{tabname}{page.name}_extra_page', elem_classes="extra-networks-page") ui.pages.append(page_html) diff --git a/modules/ui_javascript.py b/modules/ui_javascript.py index 7bcb0dc27..b6201c3cb 100644 --- a/modules/ui_javascript.py +++ b/modules/ui_javascript.py @@ -58,6 +58,8 @@ def stylesheet(fn): head += stylesheet(cssfile) theme_name = modules.shared.cmd_opts.theme or modules.shared.opts.gradio_theme or '' + if theme_name == 'default': + theme_name = 'black-teal' if theme_name.startswith('modern/'): theme_name = theme_name[7:] theme_folder = next((e.path for e in modules.extensions.extensions if e.name == 'sdnext-ui-ux'), None) diff --git a/webui.py b/webui.py index a92830858..e39c3ead6 100644 --- a/webui.py +++ b/webui.py @@ -105,7 +105,7 @@ def initialize(): t_timer, t_total = modules.scripts.load_scripts() timer.startup.record("extensions") timer.startup.records["extensions"] = t_total # scripts can reset the time - log.info(f'Extensions init time: {t_timer.summary()}') + log.debug(f'Extensions init time: {t_timer.summary()}') modelloader.load_upscalers() timer.startup.record("upscalers")