Fix aborting via hourglass

This commit is contained in:
Cohee 2024-07-18 23:32:20 +03:00
parent 1effb66fd6
commit 739752ccf3

View File

@ -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');