From 5a9a5d4f6899bf7bca72f8aa010dc147e7a6b61f Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Sun, 28 Dec 2025 04:22:21 -0800 Subject: [PATCH 01/15] Add word break tags to snake_case and camelCase names Otherwise these are not normally considered word-wrapping points. --- modules/ui_extensions.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index da3ae39d0..3cab55954 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -3,6 +3,7 @@ import json import shutil import errno import html +import re from datetime import datetime, timezone, timedelta import gradio as gr from modules import extensions, shared, paths, errors, ui_symbols, call_queue @@ -268,6 +269,16 @@ def search_extensions(search_text, sort_column): return code, f'Search | {search_text} | {sort_column}' +def make_wrappable_html(text: str) -> str: + text = html.escape(text) + if "_" in text: + return text.replace("_", "_") + elif "-" not in text: + return re.sub(r"(?<=[a-z])([A-Z])", r"\1", text) + else: + return text + + def create_html(search_text, sort_column): # shared.log.debug(f'Extensions manager: refresh list search="{search_text}" sort="{sort_column}"') code = """ @@ -406,7 +417,7 @@ def create_html(search_text, sort_column): {status} {enabled_code} - {html.escape(ext.get("name", "unknown"))}
{tags_text} + {make_wrappable_html(ext.get("name", "unknown"))}
{tags_text} {html.escape(ext.get("description", ""))}

Created {html.escape(dt('created'))} | Added {html.escape(dt('added'))} | Pushed {html.escape(dt('pushed'))} | Updated {html.escape(dt('updated'))}

{author} | Stars {html.escape(str(ext.get('stars', 0)))} | Size {html.escape(str(ext.get('size', 0)))} | Commits {html.escape(str(ext.get('commits', 0)))} | Issues {html.escape(str(ext.get('issues', 0)))} | Trending {html.escape(str(ext['sort_trending']))}

From 5df4b093d36a257e7fa924180fd9419e0bcb771e Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Sun, 28 Dec 2025 14:25:36 -0800 Subject: [PATCH 02/15] Make seconds optional and only show them in logs --- modules/extensions.py | 6 ++++-- modules/ui_extensions.py | 10 +++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/extensions.py b/modules/extensions.py index 134176e3d..ff2fcf400 100644 --- a/modules/extensions.py +++ b/modules/extensions.py @@ -25,10 +25,12 @@ def parse_isotime(time_string: str) -> datetime: raise ValueError(f"Unexpected time string format: '{time_string}'") -def format_dt(d: datetime) -> str: +def format_dt(d: datetime, seconds = False) -> str: if d.tzinfo is None: return d.strftime('%Y-%m-%d %H:%M') - return d.astimezone(timezone.utc).strftime('%Y-%m-%d %H:%M:%S') # Ensure UTC time is shown (just in case) + if seconds: + return d.astimezone(timezone.utc).strftime('%Y-%m-%d %H:%M:%S') + return d.astimezone(timezone.utc).strftime('%Y-%m-%d %H:%M') def ts2utc(timestamp: int) -> datetime: diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 3cab55954..7c9757b11 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -109,10 +109,10 @@ def check_updates(_id_task, disable_list, search_text, sort_column): ext.git_fetch() ext.read_info(True) commit_date = ext.commit_date or 1577836800 - shared.log.info(f'Extensions updated: {ext.name} {ext.commit_hash[:8]} {extensions.format_dt(extensions.ts2utc(commit_date))}') + shared.log.info(f'Extensions updated: {ext.name} {ext.commit_hash[:8]} {extensions.format_dt(extensions.ts2utc(commit_date), seconds=True)}') else: commit_date = ext.commit_date or 1577836800 - shared.log.debug(f'Extensions no update available: {ext.name} {ext.commit_hash[:8]} {extensions.format_dt(extensions.ts2utc(commit_date))}') + shared.log.debug(f'Extensions no update available: {ext.name} {ext.commit_hash[:8]} {extensions.format_dt(extensions.ts2utc(commit_date), seconds=True)}') except FileNotFoundError as e: if 'FETCH_HEAD' not in str(e): raise @@ -230,10 +230,10 @@ def update_extension(extension_path, search_text, sort_column): ext.git_fetch() ext.read_info(True) commit_date = ext.commit_date or 1577836800 - shared.log.info(f'Extensions updated: {ext.name} {ext.commit_hash[:8]} {extensions.format_dt(extensions.ts2utc(commit_date))}') + shared.log.info(f'Extensions updated: {ext.name} {ext.commit_hash[:8]} {extensions.format_dt(extensions.ts2utc(commit_date), seconds=True)}') else: commit_date = ext.commit_date or 1577836800 - shared.log.info(f'Extensions no update available: {ext.name} {ext.commit_hash[:8]} {extensions.format_dt(extensions.ts2utc(commit_date))}') + shared.log.info(f'Extensions no update available: {ext.name} {ext.commit_hash[:8]} {extensions.format_dt(extensions.ts2utc(commit_date), seconds=True)}') except FileNotFoundError as e: if 'FETCH_HEAD' not in str(e): raise @@ -342,7 +342,7 @@ def create_html(search_text, sort_column): local_ver_date = datetime.fromtimestamp(ext['commit_date'], timezone.utc) # TZ-aware update_available = (installed is not None) and (not ext['is_builtin']) and (ext['remote'] is not None) and (updated > local_ver_date) # TZ-aware if update_available: - debug(f'Extension update available: name={ext["name"]} updated={extensions.format_dt(updated)} commit={extensions.format_dt(local_ver_date)}') # TZ-aware + debug(f'Extension update available: name={ext["name"]} updated={extensions.format_dt(updated, seconds=True)} commit={extensions.format_dt(local_ver_date, seconds=True)}') # TZ-aware ext['sort_user'] = f"{'0' if ext['is_builtin'] else '1'}{'1' if ext['installed'] else '0'}{ext.get('name', '')}" ext['sort_enabled'] = f"{'0' if ext['enabled'] else '1'}{'1' if ext['is_builtin'] else '0'}{'1' if ext['installed'] else '0'}{ext.get('updated', '2000-01-01T00:00Z')}" ext['sort_update'] = f"{'1' if update_available else '0'}{'1' if ext['installed'] else '0'}{ext.get('updated', '2000-01-01T00:00Z')}" From e1a4331a214497ccd32bb1beb3fc02448557c17e Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Sun, 28 Dec 2025 16:55:55 -0800 Subject: [PATCH 03/15] Update configurable symbols - Support additional properties. - Cached values. --- modules/ui_extensions.py | 20 ++++++++++---------- modules/ui_symbols.py | 37 +++++++++++++++++++++++++++++-------- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 0c141352a..e1e546d9a 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -391,27 +391,27 @@ def create_html(search_text, sort_column): if ext.get('status', None) is None or type(ext['status']) == str: # old format ext['status'] = 0 if ext['url'] is None or ext['url'] == '': - status = f"
{ui_symbols.svg_bullet.color('#00C0FD')}
" + status = f"
{ui_symbols.svg_bullet.style('#00C0FD')}
" elif ext['status'] > 0: if ext['status'] == 1: - status = f"
{ui_symbols.svg_bullet.color('#00FD9C')}
" + status = f"
{ui_symbols.svg_bullet.style('#00FD9C')}
" elif ext['status'] == 2: - status = f"
{ui_symbols.svg_bullet.color('#FFC300')}
" + status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" elif ext['status'] == 3: - status = f"
{ui_symbols.svg_bullet.color('#FFC300')}
" + status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" elif ext['status'] == 4: - status = f"
{ui_symbols.svg_bullet.color('#4E22FF')}
" + status = f"
{ui_symbols.svg_bullet.style('#4E22FF')}
" elif ext['status'] == 5: - status = f"
{ui_symbols.svg_bullet.color('#CE0000')}
" + status = f"
{ui_symbols.svg_bullet.style('#CE0000')}
" elif ext['status'] == 6: - status = f"
{ui_symbols.svg_bullet.color('#AEAEAE')}
" + status = f"
{ui_symbols.svg_bullet.style('#AEAEAE')}
" else: - status = f"
{ui_symbols.svg_bullet.color('#008EBC')}
" + status = f"
{ui_symbols.svg_bullet.style('#008EBC')}
" else: if updated < datetime.now(timezone.utc) - timedelta(6*30): # TZ-aware - status = f"
{ui_symbols.svg_bullet.color('#C000CF')}
" + status = f"
{ui_symbols.svg_bullet.style('#C000CF')}
" else: - status = f"
{ui_symbols.svg_bullet.color('#7C7C7C')}
" + status = f"
{ui_symbols.svg_bullet.style('#7C7C7C')}
" code += f""" diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index ddc16c273..91d5b113c 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -1,3 +1,9 @@ +import re +from functools import lru_cache + + +# Basic symbols + refresh = '⟲' close = '✕' load = '⇧' @@ -41,23 +47,38 @@ sort_time_dsc = '\uf0dd' style_apply = '↶' style_save = '↷' +# Configurable symbols + class SVGSymbol: + __re_display = re.compile(r"(?<=display:\s*?)\w+(?=;)") + + @lru_cache # Class method due to RUF001, but also mostly so the `style` method shows params in IDE + @classmethod + def __stylize(cls, svg: str, color: str | None = None, display: str | None = None): + if color: + svg = re.sub("currentColor", color, svg, count=1) + if display: + svg = cls.__re_display.sub(display, svg, count=1) + return svg + def __init__(self, svg: str): self.svg = svg - self.before = "" - self.after = "" self.supports_color = False + self.supports_display = False if "currentColor" in self.svg: self.supports_color = True - self.before, self.after = self.svg.split("currentColor", maxsplit=1) + if self.__re_display.search(self.svg): + self.supports_display = True - def color(self, color: str): - if self.supports_color: - return self.before + color + self.after - else: - return self.svg + def style(self, color: str | None = None, display: str | None = None) -> str: + style_args = { + "color": color if color and self.supports_color else None, + "display": display if display and self.supports_display else None + } + return self.__stylize(self.svg, **style_args) def __str__(self): return self.svg + svg_bullet = SVGSymbol("") From 811ff45f21898342e4d0cb6eee3641ccbf83d40e Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Sun, 28 Dec 2025 16:56:16 -0800 Subject: [PATCH 04/15] Set default svg_bullet display to block --- modules/ui_symbols.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index 91d5b113c..f85df68ed 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -81,4 +81,4 @@ class SVGSymbol: return self.svg -svg_bullet = SVGSymbol("") +svg_bullet = SVGSymbol("") From 69865cf620e0fdc476e92cdd6fb44798bfa371a2 Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Sun, 28 Dec 2025 16:59:57 -0800 Subject: [PATCH 05/15] Fix regex and lru_cache --- modules/ui_symbols.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index f85df68ed..ad3470bea 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -50,10 +50,10 @@ style_save = '↷' # Configurable symbols class SVGSymbol: - __re_display = re.compile(r"(?<=display:\s*?)\w+(?=;)") + __re_display = re.compile(r"(?<=display:)\s*?(\w+)(?=;)") - @lru_cache # Class method due to RUF001, but also mostly so the `style` method shows params in IDE @classmethod + @lru_cache # Class method due to RUF001, but also mostly so the `style` method shows params in IDE def __stylize(cls, svg: str, color: str | None = None, display: str | None = None): if color: svg = re.sub("currentColor", color, svg, count=1) From a5b7531d008808bf8c78989421099b79f89e84dd Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Mon, 29 Dec 2025 15:43:12 -0800 Subject: [PATCH 06/15] Update ui_symbols.py - Fix wrong warning code in comment. - Replace all instances of `currentColor` when stylizing. - Enforce proper SVGSymbol usage. --- modules/ui_symbols.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index ad3470bea..d2749819d 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -1,5 +1,6 @@ import re from functools import lru_cache +from typing import final # Basic symbols @@ -49,19 +50,25 @@ style_save = '↷' # Configurable symbols +@final class SVGSymbol: + __created = [] __re_display = re.compile(r"(?<=display:)\s*?(\w+)(?=;)") @classmethod - @lru_cache # Class method due to RUF001, but also mostly so the `style` method shows params in IDE + @lru_cache # Class method due to B019, but also mostly so the `style` method shows params in IDE def __stylize(cls, svg: str, color: str | None = None, display: str | None = None): if color: - svg = re.sub("currentColor", color, svg, count=1) + svg = re.sub("currentColor", color, svg) if display: svg = cls.__re_display.sub(display, svg, count=1) return svg def __init__(self, svg: str): + if svg in self.__created: + raise RuntimeError("SVGSymbol class was created with an existing value. There should only be one instance per symbol.", svg) + else: + self.__created.append(svg) self.svg = svg self.supports_color = False self.supports_display = False From e22f807f934088f1a80d796b25fb6551d79d246e Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:45:20 -0800 Subject: [PATCH 07/15] Update `make_wrappable_html` function --- modules/ui_extensions.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index e1e546d9a..0f427ba8c 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -30,6 +30,8 @@ sort_ordering = { } +re_snake_case = re.compile(r'_(?=[a-zA-z0-9])') +re_camelCase = re.compile(r'(?<=[a-z])([A-Z])') def get_installed(ext): installed = [e for e in extensions.extensions if (e.remote or '').startswith(ext['url'].replace('.git', ''))] return installed[0] if len(installed) > 0 else None @@ -271,12 +273,8 @@ def search_extensions(search_text, sort_column): def make_wrappable_html(text: str) -> str: text = html.escape(text) - if "_" in text: - return text.replace("_", "_") - elif "-" not in text: - return re.sub(r"(?<=[a-z])([A-Z])", r"\1", text) - else: - return text + text = re_snake_case.sub("_", text) + return re_camelCase.sub(r"\1", text) def create_html(search_text, sort_column): From 24da36282e62f7d1f57848a078922a1450cc3e86 Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Tue, 30 Dec 2025 00:10:13 -0800 Subject: [PATCH 08/15] Update extension table layout - Use icons on Modern UI to better fit being in a narrow sidebar. (Full labels kept for Standard UI) - Swap Status and Enabled columns. - Improve status and enabled element spacing on Standard UI. - Minor readability improvements to extension information. - *Internal*: Add `if_modern()` function to `shared.py` to switch between two inputs depending on whether the Modern UI is being used or not. --- modules/shared.py | 15 ++++++++++++++- modules/ui_extensions.py | 38 +++++++++++++++++++++----------------- modules/ui_symbols.py | 2 ++ 3 files changed, 37 insertions(+), 18 deletions(-) diff --git a/modules/shared.py b/modules/shared.py index 9d6bc157b..568679d1b 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -5,7 +5,7 @@ import sys import time import contextlib from enum import Enum -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, TypeVar import gradio as gr from modules.json_helpers import readfile, writefile # pylint: disable=W0611 from modules.shared_helpers import listdir, walk_files, html_path, html, req, total_tqdm # pylint: disable=W0611 @@ -30,6 +30,9 @@ if TYPE_CHECKING: from modules.shared_legacy import LegacyOption from modules.ui_extra_networks import ExtraNetworksPage +M = TypeVar("M") +S = TypeVar("S") + class Backend(Enum): ORIGINAL = 1 @@ -117,6 +120,16 @@ list_checkpoint_tiles = list_checkpoint_titles # alias for legacy typo default_checkpoint = list_checkpoint_titles()[0] if len(list_checkpoint_titles()) > 0 else "model.safetensors" +def if_modern(modern: M, standard: S = None) -> M | S: + """Return input depending on whether Modern UI is being used or not. + + Args: + modern (Any): Value to return if Modern UI is being used. + standard (Any, optional): Value to return if Modern UI is NOT being used. Defaults to None. + """ + return modern if opts.theme_type == "Modern" else standard + + def is_url(string): from urllib.parse import urlparse parsed_url = urlparse(string) diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 0f427ba8c..15821781c 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -32,6 +32,10 @@ sort_ordering = { re_snake_case = re.compile(r'_(?=[a-zA-z0-9])') re_camelCase = re.compile(r'(?<=[a-z])([A-Z])') +th_status = shared.if_modern(f'{ui_symbols.info_btn}', "Status") +th_enabled = shared.if_modern(f'{ui_symbols.check_btn}', "Enabled") + + def get_installed(ext): installed = [e for e in extensions.extensions if (e.remote or '').startswith(ext['url'].replace('.git', ''))] return installed[0] if len(installed) > 0 else None @@ -279,7 +283,7 @@ def make_wrappable_html(text: str) -> str: def create_html(search_text, sort_column): # shared.log.debug(f'Extensions manager: refresh list search="{search_text}" sort="{sort_column}"') - code = """ + code = f"""
@@ -293,8 +297,8 @@ def create_html(search_text, sort_column): - - + + @@ -377,7 +381,7 @@ def create_html(search_text, sort_column): stats['enabled'] += 1 type_code = f"""
{"SYSTEM" if ext['is_builtin'] else 'USER'}
""" version_code = f"""
{ext['version']}
""" - enabled_code = f"""""" + enabled_code = f"""""" masked_path = html.escape(ext.get("path", "").replace('\\', '/')) if not ext['is_builtin']: install_code = f"""""" @@ -389,36 +393,36 @@ def create_html(search_text, sort_column): if ext.get('status', None) is None or type(ext['status']) == str: # old format ext['status'] = 0 if ext['url'] is None or ext['url'] == '': - status = f"
{ui_symbols.svg_bullet.style('#00C0FD')}
" + status = f"
{ui_symbols.svg_bullet.style('#00C0FD')}
" elif ext['status'] > 0: if ext['status'] == 1: - status = f"
{ui_symbols.svg_bullet.style('#00FD9C')}
" + status = f"
{ui_symbols.svg_bullet.style('#00FD9C')}
" elif ext['status'] == 2: - status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" + status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" elif ext['status'] == 3: - status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" + status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" elif ext['status'] == 4: - status = f"
{ui_symbols.svg_bullet.style('#4E22FF')}
" + status = f"
{ui_symbols.svg_bullet.style('#4E22FF')}
" elif ext['status'] == 5: - status = f"
{ui_symbols.svg_bullet.style('#CE0000')}
" + status = f"
{ui_symbols.svg_bullet.style('#CE0000')}
" elif ext['status'] == 6: - status = f"
{ui_symbols.svg_bullet.style('#AEAEAE')}
" + status = f"
{ui_symbols.svg_bullet.style('#AEAEAE')}
" else: - status = f"
{ui_symbols.svg_bullet.style('#008EBC')}
" + status = f"
{ui_symbols.svg_bullet.style('#008EBC')}
" else: if updated < datetime.now(timezone.utc) - timedelta(6*30): # TZ-aware - status = f"
{ui_symbols.svg_bullet.style('#C000CF')}
" + status = f"
{ui_symbols.svg_bullet.style('#C000CF')}
" else: - status = f"
{ui_symbols.svg_bullet.style('#7C7C7C')}
" + status = f"
{ui_symbols.svg_bullet.style('#7C7C7C')}
" code += f""" - {enabled_code} + diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index d2749819d..ba10b2b5f 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -33,6 +33,8 @@ search = '🔍' preview = '🖼️' image = '🖌️' resize = '⁜' +check_btn = '☑️' +info_btn = 'ℹ️' # noqa: RUF001 interrogate = '\uf46b' # Telescope icon in Noto Sans. Previously '♻' bullet = '⃝' vision = '\uf06e' # Font Awesome eye icon (more minimalistic) From cae3249757b731483ee1ea71a5c4e46e8e57e227 Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Tue, 30 Dec 2025 00:40:40 -0800 Subject: [PATCH 09/15] Ensure styling works correctly with display:block --- modules/ui_extensions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 15821781c..8aefa7d8d 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -381,7 +381,7 @@ def create_html(search_text, sort_column): stats['enabled'] += 1 type_code = f"""
{"SYSTEM" if ext['is_builtin'] else 'USER'}
""" version_code = f"""
{ext['version']}
""" - enabled_code = f"""""" + enabled_code = f"""""" masked_path = html.escape(ext.get("path", "").replace('\\', '/')) if not ext['is_builtin']: install_code = f"""""" From 67c5384d9777c1722a90050b963da7b7e3029eb1 Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Tue, 30 Dec 2025 14:06:24 -0800 Subject: [PATCH 10/15] Standardize SVG input to minimal format - Remove newlines - Convert multiple spaces to just a single space - Remove space between tags - Remove surrounding whitespace --- modules/ui_symbols.py | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index ba10b2b5f..7d60ceb4f 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -67,6 +67,7 @@ class SVGSymbol: return svg def __init__(self, svg: str): + svg = re.sub(r"\s{2,}", " ", svg.replace("\n", "")).replace("> <", "><").strip() if svg in self.__created: raise RuntimeError("SVGSymbol class was created with an existing value. There should only be one instance per symbol.", svg) else: From d14c64caa228faddbacc465a14628aad7a629f3f Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Tue, 30 Dec 2025 16:24:47 -0800 Subject: [PATCH 11/15] UI update - Remove headers for "enable" and "status" - Set status icon width to 1rem - Remove `if_modern()` --- modules/shared.py | 15 +-------------- modules/ui_extensions.py | 28 +++++++++++++--------------- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/modules/shared.py b/modules/shared.py index 568679d1b..9d6bc157b 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -5,7 +5,7 @@ import sys import time import contextlib from enum import Enum -from typing import TYPE_CHECKING, TypeVar +from typing import TYPE_CHECKING import gradio as gr from modules.json_helpers import readfile, writefile # pylint: disable=W0611 from modules.shared_helpers import listdir, walk_files, html_path, html, req, total_tqdm # pylint: disable=W0611 @@ -30,9 +30,6 @@ if TYPE_CHECKING: from modules.shared_legacy import LegacyOption from modules.ui_extra_networks import ExtraNetworksPage -M = TypeVar("M") -S = TypeVar("S") - class Backend(Enum): ORIGINAL = 1 @@ -120,16 +117,6 @@ list_checkpoint_tiles = list_checkpoint_titles # alias for legacy typo default_checkpoint = list_checkpoint_titles()[0] if len(list_checkpoint_titles()) > 0 else "model.safetensors" -def if_modern(modern: M, standard: S = None) -> M | S: - """Return input depending on whether Modern UI is being used or not. - - Args: - modern (Any): Value to return if Modern UI is being used. - standard (Any, optional): Value to return if Modern UI is NOT being used. Defaults to None. - """ - return modern if opts.theme_type == "Modern" else standard - - def is_url(string): from urllib.parse import urlparse parsed_url = urlparse(string) diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 8aefa7d8d..d97e04048 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -32,8 +32,6 @@ sort_ordering = { re_snake_case = re.compile(r'_(?=[a-zA-z0-9])') re_camelCase = re.compile(r'(?<=[a-z])([A-Z])') -th_status = shared.if_modern(f'{ui_symbols.info_btn}', "Status") -th_enabled = shared.if_modern(f'{ui_symbols.check_btn}', "Enabled") def get_installed(ext): @@ -283,7 +281,7 @@ def make_wrappable_html(text: str) -> str: def create_html(search_text, sort_column): # shared.log.debug(f'Extensions manager: refresh list search="{search_text}" sort="{sort_column}"') - code = f""" + code = """
StatusEnabled{th_enabled}{th_status} Extension Description Type
{status} {status} {make_wrappable_html(ext.get("name", "unknown"))}
{tags_text}
{html.escape(ext.get("description", ""))} -

Created {html.escape(dt('created'))} | Added {html.escape(dt('added'))} | Pushed {html.escape(dt('pushed'))} | Updated {html.escape(dt('updated'))}

-

{author} | Stars {html.escape(str(ext.get('stars', 0)))} | Size {html.escape(str(ext.get('size', 0)))} | Commits {html.escape(str(ext.get('commits', 0)))} | Issues {html.escape(str(ext.get('issues', 0)))} | Trending {html.escape(str(ext['sort_trending']))}

+

Created: {html.escape(dt('created'))} | Added: {html.escape(dt('added'))} | Pushed: {html.escape(dt('pushed'))} | Updated: {html.escape(dt('updated'))}

+

{author} | Stars: {html.escape(str(ext.get('stars', 0)))} | Size: {html.escape(str(ext.get('size', 0)))} | Commits: {html.escape(str(ext.get('commits', 0)))} | Issues: {html.escape(str(ext.get('issues', 0)))} | Trending: {html.escape(str(ext['sort_trending']))}

{type_code} {version_code}
@@ -297,8 +295,8 @@ def create_html(search_text, sort_column): - - + + @@ -393,27 +391,27 @@ def create_html(search_text, sort_column): if ext.get('status', None) is None or type(ext['status']) == str: # old format ext['status'] = 0 if ext['url'] is None or ext['url'] == '': - status = f"
{ui_symbols.svg_bullet.style('#00C0FD')}
" + status = f"
{ui_symbols.svg_bullet.style('#00C0FD')}
" elif ext['status'] > 0: if ext['status'] == 1: - status = f"
{ui_symbols.svg_bullet.style('#00FD9C')}
" + status = f"
{ui_symbols.svg_bullet.style('#00FD9C')}
" elif ext['status'] == 2: - status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" + status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" elif ext['status'] == 3: - status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" + status = f"
{ui_symbols.svg_bullet.style('#FFC300')}
" elif ext['status'] == 4: - status = f"
{ui_symbols.svg_bullet.style('#4E22FF')}
" + status = f"
{ui_symbols.svg_bullet.style('#4E22FF')}
" elif ext['status'] == 5: - status = f"
{ui_symbols.svg_bullet.style('#CE0000')}
" + status = f"
{ui_symbols.svg_bullet.style('#CE0000')}
" elif ext['status'] == 6: - status = f"
{ui_symbols.svg_bullet.style('#AEAEAE')}
" + status = f"
{ui_symbols.svg_bullet.style('#AEAEAE')}
" else: - status = f"
{ui_symbols.svg_bullet.style('#008EBC')}
" + status = f"
{ui_symbols.svg_bullet.style('#008EBC')}
" else: if updated < datetime.now(timezone.utc) - timedelta(6*30): # TZ-aware - status = f"
{ui_symbols.svg_bullet.style('#C000CF')}
" + status = f"
{ui_symbols.svg_bullet.style('#C000CF')}
" else: - status = f"
{ui_symbols.svg_bullet.style('#7C7C7C')}
" + status = f"
{ui_symbols.svg_bullet.style('#7C7C7C')}
" code += f""" From a8bce14ee7bef667736c80305255d5134d8f65dc Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Tue, 30 Dec 2025 16:26:49 -0800 Subject: [PATCH 12/15] Remove unused icons --- modules/ui_symbols.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index 7d60ceb4f..bc62f643f 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -33,8 +33,6 @@ search = '🔍' preview = '🖼️' image = '🖌️' resize = '⁜' -check_btn = '☑️' -info_btn = 'ℹ️' # noqa: RUF001 interrogate = '\uf46b' # Telescope icon in Noto Sans. Previously '♻' bullet = '⃝' vision = '\uf06e' # Font Awesome eye icon (more minimalistic) From 632cf64d70653e2e5b1e1a1bdc86bb8807b1e96f Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Tue, 30 Dec 2025 16:35:32 -0800 Subject: [PATCH 13/15] Update regex --- modules/ui_symbols.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index bc62f643f..c880a4a8f 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -53,7 +53,7 @@ style_save = '↷' @final class SVGSymbol: __created = [] - __re_display = re.compile(r"(?<=display:)\s*?(\w+)(?=;)") + __re_display = re.compile(r"(?<=display:)\s*([\w\-]+)(?=;)") @classmethod @lru_cache # Class method due to B019, but also mostly so the `style` method shows params in IDE From 4de810b15d6fbb1888ba1b7ce28cd6637194c745 Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Wed, 31 Dec 2025 00:33:51 -0800 Subject: [PATCH 14/15] Minor cleanup of function for installing from URL --- modules/ui_extensions.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index d97e04048..4a800ec73 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -126,26 +126,27 @@ def check_updates(_id_task, disable_list, search_text, sort_column): return create_html(search_text, sort_column), "Extension update complete | Restart required" -def normalize_git_url(url) -> str: - return '' if url is None else url.removesuffix('.git') +def normalize_git_url(url: str | None) -> str: + return '' if url is None else url.strip().removesuffix('.git') def install_extension_from_url(dirname, url, branch_name, search_text, sort_column): if shared.cmd_opts.disable_extension_access: shared.log.error('Extension: apply changes disallowed because public access is enabled and insecure is not specified') return ['', ''] - if url is None or len(url) == 0: + url = normalize_git_url(url) + if not url: shared.log.error('Extension: url is not specified') return ['', ''] - if dirname is None or dirname == "": - dirname = normalize_git_url(url.split('/')[-1]) + if not dirname: + dirname = url.split('/')[-1] target_dir = os.path.join(extensions.extensions_dir, dirname) shared.log.info(f'Installing extension: {url} into {target_dir}') if os.path.exists(target_dir): shared.log.error(f'Extension: path="{target_dir}" directory already exists') return ['', ''] - url = normalize_git_url(url) - assert len([x for x in extensions.extensions if normalize_git_url(x.remote) == url]) == 0, 'Extension with this URL is already installed' + if any(normalize_git_url(x.remote) == url for x in extensions.extensions): + return ['', "Extension with this URL is already installed"] tmpdir = os.path.join(paths.data_path, "tmp", dirname) try: import git From bc8ee0e99e8e177381e3da400358eadf8df9930d Mon Sep 17 00:00:00 2001 From: Oleksandr Liutyi Date: Wed, 31 Dec 2025 15:58:57 +0000 Subject: [PATCH 15/15] Add Qwen-Image-2512 model cover. And model itself.. --- html/reference.json | 9 +++++++++ models/Reference/Qwen--Qwen-Image-2512.jpg | Bin 0 -> 90160 bytes 2 files changed, 9 insertions(+) create mode 100644 models/Reference/Qwen--Qwen-Image-2512.jpg diff --git a/html/reference.json b/html/reference.json index a7c42a338..4fd74b92c 100644 --- a/html/reference.json +++ b/html/reference.json @@ -181,6 +181,15 @@ "extras": "", "size": 56.1, "date": "2025 August" + }, + "Qwen-Image-2512": { + "path": "Qwen/Qwen-Image-2512", + "preview": "Qwen--Qwen-Image-2512.jpg", + "desc": "Qwen-Image-2512 is an Qwen Image successor, that significantly reduces the AI-generated look, got finer natural detailils and improved text rendering.", + "skip": true, + "extras": "", + "size": 53.7, + "date": "2025 December" }, "Qwen-Image-Edit": { "path": "Qwen/Qwen-Image-Edit", diff --git a/models/Reference/Qwen--Qwen-Image-2512.jpg b/models/Reference/Qwen--Qwen-Image-2512.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc1839828e4480c596a1ded1edc730c79ca57dfc GIT binary patch literal 90160 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%0AF+WwgmZG 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 Xt~rW75x>GYI1!(B1CL>ZQeXes-PL(= literal 0 HcmV?d00001
{th_enabled}{th_status} Extension Description Type