From 739752ccf315134a271c83520271b0d605636505 Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Thu, 18 Jul 2024 23:32:20 +0300 Subject: [PATCH] Fix aborting via hourglass --- public/scripts/extensions/stable-diffusion/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/public/scripts/extensions/stable-diffusion/index.js b/public/scripts/extensions/stable-diffusion/index.js index 0e727a931..d43031950 100644 --- a/public/scripts/extensions/stable-diffusion/index.js +++ b/public/scripts/extensions/stable-diffusion/index.js @@ -3467,6 +3467,7 @@ async function moduleWorker() { } setInterval(moduleWorker, UPDATE_INTERVAL); +let buttonAbortController = null; async function sdMessageButton(e) { function setBusyIcon(isBusy) { @@ -3484,15 +3485,15 @@ async function sdMessageButton(e) { const messageText = message?.mes; const hasSavedImage = message?.extra?.image && message?.extra?.title; const hasSavedNegative = message?.extra?.negative; - const abortController = new AbortController(); if ($icon.hasClass(busyClass)) { - abortController.abort(); + buttonAbortController?.abort('Aborted by user'); console.log('Previous image is still being generated...'); return; } let dimensions = null; + buttonAbortController = new AbortController(); try { setBusyIcon(true); @@ -3504,7 +3505,7 @@ async function sdMessageButton(e) { const generationType = message?.extra?.generationType ?? generationMode.FREE; console.log('Regenerating an image, using existing prompt:', prompt); dimensions = setTypeSpecificDimensions(generationType); - await sendGenerationRequest(generationType, prompt, negative, characterFileName, saveGeneratedImage, initiators.action, abortController.signal); + await sendGenerationRequest(generationType, prompt, negative, characterFileName, saveGeneratedImage, initiators.action, buttonAbortController?.signal); } else { console.log('doing /sd raw last');