diff --git a/public/scripts/extensions.js b/public/scripts/extensions.js index e5dfd8f15..0e4e8882c 100644 --- a/public/scripts/extensions.js +++ b/public/scripts/extensions.js @@ -193,7 +193,6 @@ async function connectToApi(baseUrl) { modules = data.modules; await activateExtensions(); eventSource.emit(event_types.EXTRAS_CONNECTED, modules); - $("#extensionsMenuButton").css("display", "flex"); } updateStatus(getExtensionsResult.ok); diff --git a/public/scripts/extensions/stable-diffusion/index.js b/public/scripts/extensions/stable-diffusion/index.js index 0cfd3fea9..304666b53 100644 --- a/public/scripts/extensions/stable-diffusion/index.js +++ b/public/scripts/extensions/stable-diffusion/index.js @@ -106,6 +106,7 @@ const defaultSettings = { // Horde settings horde: false, horde_nsfw: false, + horde_karras: true, } async function loadSettings() { @@ -121,6 +122,7 @@ async function loadSettings() { $('#sd_height').val(extension_settings.sd.height).trigger('input'); $('#sd_horde').prop('checked', extension_settings.sd.horde); $('#sd_horde_nsfw').prop('checked', extension_settings.sd.horde_nsfw); + $('#sd_horde_karras').prop('checked', extension_settings.sd.horde_karras); $('#sd_restore_faces').prop('checked', extension_settings.sd.restore_faces); $('#sd_enable_hr').prop('checked', extension_settings.sd.enable_hr); @@ -181,6 +183,11 @@ async function onHordeNsfwInput() { saveSettingsDebounced(); } +async function onHordeKarrasInput() { + extension_settings.sd.horde_karras = !!$(this).prop('checked'); + saveSettingsDebounced(); +} + function onRestoreFacesInput() { extension_settings.sd.restore_faces = !!$(this).prop('checked'); saveSettingsDebounced(); @@ -473,6 +480,7 @@ async function generateExtrasImage(prompt, callback) { negative_prompt: extension_settings.sd.negative_prompt, restore_faces: !!extension_settings.sd.restore_faces, enable_hr: !!extension_settings.sd.enable_hr, + karras: !!extension_settings.sd.horde_karras, }), }); @@ -592,17 +600,19 @@ function addSDGenButtons() { }); } -async function moduleWorker() { - const context = getContext(); +function isConnectedToExtras() { + return modules.includes('sd'); +} - if (context.onlineStatus === 'no_connection') { - $('#sd_gen').hide(200); - $('.sd_message_gen').hide(); - } - else { +async function moduleWorker() { + if (isConnectedToExtras() || extension_settings.sd.horde) { $('#sd_gen').show(200); $('.sd_message_gen').show(); } + else { + $('#sd_gen').hide(200); + $('.sd_message_gen').hide(); + } } addSDGenButtons(); @@ -746,6 +756,12 @@ jQuery(async () => { +