diff --git a/.eslintrc.json b/.eslintrc.json index 0fa3cf216..ca36cce73 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -22,6 +22,7 @@ "no-confusing-arrow":"off", "no-console":"off", "no-empty":"off", + "no-loop-func":"off", "no-mixed-operators":"off", "no-param-reassign":"off", "no-plusplus":"off", diff --git a/extensions-builtin/sd-webui-controlnet b/extensions-builtin/sd-webui-controlnet index 27c522029..fce6775a6 160000 --- a/extensions-builtin/sd-webui-controlnet +++ b/extensions-builtin/sd-webui-controlnet @@ -1 +1 @@ -Subproject commit 27c522029e6efe64fe889c89386497b5a14d3512 +Subproject commit fce6775a6dddef52ecd658259e909687d9dedf72 diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index a0773514a..06c0cf819 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -1,4 +1,5 @@ const activePromptTextarea = {}; +let sortVal = 0; // helpers @@ -92,22 +93,28 @@ async function filterExtraNetworksForTab(tabname, searchTerm) { let found = 0; let items = 0; const t0 = performance.now(); - const cards = Array.from(gradioApp().querySelectorAll(`#${tabname}_extra_tabs div.card`)); - cards.forEach((elem) => { - items += 1; - if (searchTerm === '') { - elem.style.display = ''; - } else { - let text = `${elem.querySelector('.name').textContent.toLowerCase()} ${elem.querySelector('.search_term').textContent}`; - text = text.toLowerCase().replace('models--', 'Diffusers').replace('\\', '/'); - if (text.indexOf(searchTerm) === -1) { - elem.style.display = 'none'; - } else { + const pagename = getENActivePage(); + if (!pagename) return; + const allPages = Array.from(gradioApp().querySelectorAll('.extra-network-cards')); + const pages = allPages.filter((el) => el.id.includes(pagename.toLowerCase())); + for (const pg of pages) { + const cards = Array.from(pg.querySelectorAll('.card') || []); + cards.forEach((elem) => { + items += 1; + if (searchTerm === '') { elem.style.display = ''; - found += 1; + } else { + let text = elem.dataset.search.toLowerCase(); + text = text.toLowerCase().replace('models--', 'Diffusers').replace('\\', '/'); + if (text.indexOf(searchTerm) === -1) { + elem.style.display = 'none'; + } else { + elem.style.display = ''; + found += 1; + } } - } - }); + }); + } const t1 = performance.now(); if (found > 0) log(`filterExtraNetworks: text=${searchTerm} items=${items} match=${found} time=${Math.round(1000 * (t1 - t0)) / 1000000}`); else log(`filterExtraNetworks: text=all items=${items} time=${Math.round(1000 * (t1 - t0)) / 1000000}`); @@ -145,8 +152,6 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text) { return false; } -let sortVal = 0; - function sortExtraNetworks() { const sortDesc = ['Name [A-Z]', 'Name [Z-A]', 'Date [Newest]', 'Date [Oldest]', 'Size [Largest]', 'Size [Smallest]']; const pagename = getENActivePage(); @@ -160,8 +165,8 @@ function sortExtraNetworks() { if (num === 0) return 'sort: no cards'; cards.sort((a, b) => { // eslint-disable-line no-loop-func switch (sortVal) { - case 0: return a.dataset.name ? a.dataset.name.localeCompare(b.dataset.name) : 0; - case 1: return b.dataset.name ? b.dataset.name.localeCompare(a.dataset.name) : 0; + case 0: return a.dataset.name ? a.dataset.search.localeCompare(b.dataset.name) : 0; + case 1: return b.dataset.name ? b.dataset.search.localeCompare(a.dataset.name) : 0; case 2: return a.dataset.mtime && !isNaN(a.dataset.mtime) ? parseFloat(b.dataset.mtime) - parseFloat(a.dataset.mtime) : 0; case 3: return b.dataset.mtime && !isNaN(b.dataset.mtime) ? parseFloat(a.dataset.mtime) - parseFloat(b.dataset.mtime) : 0; case 4: return a.dataset.size && !isNaN(a.dataset.size) ? parseFloat(b.dataset.size) - parseFloat(a.dataset.size) : 0; diff --git a/modules/images.py b/modules/images.py index e061040f1..2c4ecefe4 100644 --- a/modules/images.py +++ b/modules/images.py @@ -413,7 +413,7 @@ class FilenameGenerator: [part := part.replace(word, '_') for word in invalid_files] # pylint: disable=expression-not-assigned newparts.append(part) fn = Path(*newparts) - max_length = os.statvfs(__file__).f_namemax - 32 if hasattr(os, 'statvfs') else 230 + max_length = max(230, os.statvfs(__file__).f_namemax - 32 if hasattr(os, 'statvfs') else 230) fn = str(fn)[:max_length-max(4, len(ext))].rstrip(invalid_suffix) + ext debug(f'Filename sanitize: input="{filename}" parts={parts} output="{fn}" ext={ext} max={max_length} len={len(fn)}') return fn diff --git a/modules/lora b/modules/lora index 2a23713f7..95ae56bd2 160000 --- a/modules/lora +++ b/modules/lora @@ -1 +1 @@ -Subproject commit 2a23713f71628b2d1b88a51035b3e4ee2b5dbe46 +Subproject commit 95ae56bd22c285ccb2fe5fca96d92f39842bb99b diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py index 0cc87b0cf..9a9257d39 100644 --- a/modules/ui_extra_networks.py +++ b/modules/ui_extra_networks.py @@ -25,9 +25,8 @@ refresh_time = 0 extra_pages = shared.extra_networks debug = shared.log.info if os.environ.get('SD_EN_DEBUG', None) is not None else lambda *args, **kwargs: None card_full = ''' -