diff --git a/index.html b/index.html index a140a79..9f5dd21 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + @@ -315,8 +315,8 @@
- Alpha release v0.0.16.3 - v20230715.002 + Alpha release v0.0.16.4 + v20230722.001
- + @@ -539,7 +539,7 @@ - + - + diff --git a/js/extensions.js b/js/extensions.js index 0b16e3d..b4e8448 100644 --- a/js/extensions.js +++ b/js/extensions.js @@ -89,40 +89,42 @@ const extensions = { ) { var url = document.getElementById("host").value + "/controlnet/version"; - try { - const response = await fetch(url); - const data = await response.json(); - - if ( - data.version > 0 && - this.enabledExtensions.filter((e) => e.includes("controlnet")).length > - 0 - ) { - // ControlNet found - this.alwaysOnScripts = true; - this.controlNetEnabled = true; - document.getElementById("cbxControlNet").disabled = false; - // ok cool so now we can get the models and modules - this.getModels(controlNetModelAutoComplete); - this.getModules( - controlNetModuleAutoComplete, - controlNetReferenceModuleAutoComplete - ); - } - url = document.getElementById("host").value + "/controlnet/settings"; + if ( + this.enabledExtensions.filter((e) => e.includes("controlnet")).length > 0 + ) { try { - const response2 = await fetch(url); - const data2 = await response2.json(); - if (data2.control_net_max_models_num < 2) { - document.getElementById("cbxControlNetReferenceLayer").disabled = - "disabled"; - console.warn( - "[extensions] ControlNet reference layer disabled due to insufficient units enabled in settings - cannot be enabled via API, please increase to at least 2 units manually" + const response = await fetch(url); + const data = await response.json(); + + if (data.version > 0) { + // ControlNet found + this.alwaysOnScripts = true; + this.controlNetEnabled = true; + document.getElementById("cbxControlNet").disabled = false; + // ok cool so now we can get the models and modules + this.getModels(controlNetModelAutoComplete); + this.getModules( + controlNetModuleAutoComplete, + controlNetReferenceModuleAutoComplete ); } - } catch (ex) {} - } catch (e) { - // ?? + url = document.getElementById("host").value + "/controlnet/settings"; + try { + const response2 = await fetch(url); + const data2 = await response2.json(); + if (data2.control_net_max_models_num < 2) { + document.getElementById("cbxControlNetReferenceLayer").disabled = + "disabled"; + console.warn( + "[extensions] ControlNet reference layer disabled due to insufficient units enabled in settings - cannot be enabled via API, please increase to at least 2 units manually" + ); + } + } catch (ex) {} + } catch (e) { + // ?? + global.controlnetAPI = false; + } + } else { global.controlnetAPI = false; } }, diff --git a/js/index.js b/js/index.js index eb13fd9..7af7016 100644 --- a/js/index.js +++ b/js/index.js @@ -888,13 +888,14 @@ function changeControlNetExtension() { .querySelectorAll(".controlNetElement") .forEach((el) => el.classList.add("invisible")); } + changeControlNetReference(); } function changeControlNetReference() { extensions.controlNetReferenceActive = document.getElementById( "cbxControlNetReferenceLayer" ).checked; - if (extensions.controlNetReferenceActive) { + if (extensions.controlNetReferenceActive && extensions.controlNetActive) { document .querySelectorAll(".controlNetReferenceElement") .forEach((el) => el.classList.remove("invisible"));