From 40edb89974d55d496722a1ef6de95494a6f1f7fe Mon Sep 17 00:00:00 2001 From: DominikDoom Date: Sat, 6 May 2023 20:06:47 +0200 Subject: [PATCH] Fix model name not being detected after startup Fixes #174 --- javascript/_utils.js | 13 +++++++++++++ javascript/tagAutocomplete.js | 11 ++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/javascript/_utils.js b/javascript/_utils.js index 863b4d3..1346932 100644 --- a/javascript/_utils.js +++ b/javascript/_utils.js @@ -98,6 +98,19 @@ function escapeHTML(unsafeText) { return div.innerHTML; } +// For black/whitelisting +function updateModelName() { + let sdm = gradioApp().querySelector("#setting_sd_model_checkpoint"); + let modelDropdown = sdm.querySelector("input") || sdm.querySelector("#select"); + if (modelDropdown) { + currentModelName = modelDropdown.value; + } else { + // Fallback for intermediate versions + modelDropdown = sdm.querySelector("span.single-select"); + currentModelName = modelDropdown.textContent; + } +} + // Queue calling function to process global queues async function processQueue(queue, context, ...args) { for (let i = 0; i < queue.length; i++) { diff --git a/javascript/tagAutocomplete.js b/javascript/tagAutocomplete.js index 8fc7854..8a3c63b 100644 --- a/javascript/tagAutocomplete.js +++ b/javascript/tagAutocomplete.js @@ -860,21 +860,14 @@ async function setup() { // Add mutation observer for the model hash text to also allow hash-based blacklist again let modelHashText = gradioApp().querySelector("#sd_checkpoint_hash"); + updateModelName(); if (modelHashText) { currentModelHash = modelHashText.title let modelHashObserver = new MutationObserver((mutationList, observer) => { for (const mutation of mutationList) { if (mutation.type === "attributes" && mutation.attributeName === "title") { currentModelHash = mutation.target.title; - let sdm = gradioApp().querySelector("#setting_sd_model_checkpoint"); - let modelDropdown = sdm.querySelector("input") || sdm.querySelector("#select"); - if (modelDropdown) { - currentModelName = modelDropdown.value; - } else { - // Fallback for intermediate versions - modelDropdown = sdm.querySelector("span.single-select"); - currentModelName = modelDropdown.textContent; - } + updateModelName(); } } });