Fix aborting via hourglass
| @@ -3467,6 +3467,7 @@ async function moduleWorker() { | |||
| 3467 | } | 3467 | } |
| 3468 | 3468 | ||
| 3469 | setInterval(moduleWorker, UPDATE_INTERVAL); | 3469 | setInterval(moduleWorker, UPDATE_INTERVAL); |
| 3470 | let buttonAbortController = null; | ||
| 3470 | 3471 | ||
| 3471 | async function sdMessageButton(e) { | 3472 | async function sdMessageButton(e) { |
| 3472 | function setBusyIcon(isBusy) { | 3473 | function setBusyIcon(isBusy) { |
| @@ -3484,15 +3485,15 @@ async function sdMessageButton(e) { | |||
| 3484 | const messageText = message?.mes; | 3485 | const messageText = message?.mes; |
| 3485 | const hasSavedImage = message?.extra?.image && message?.extra?.title; | 3486 | const hasSavedImage = message?.extra?.image && message?.extra?.title; |
| 3486 | const hasSavedNegative = message?.extra?.negative; | 3487 | const hasSavedNegative = message?.extra?.negative; |
| 3487 | const abortController = new AbortController(); | ||
| 3488 | 3488 | ||
| 3489 | if ($icon.hasClass(busyClass)) { | 3489 | if ($icon.hasClass(busyClass)) { |
| 3490 | abortController.abort(); | 3490 | buttonAbortController?.abort('Aborted by user'); |
| 3491 | console.log('Previous image is still being generated...'); | 3491 | console.log('Previous image is still being generated...'); |
| 3492 | return; | 3492 | return; |
| 3493 | } | 3493 | } |
| 3494 | 3494 | ||
| 3495 | let dimensions = null; | 3495 | let dimensions = null; |
| 3496 | buttonAbortController = new AbortController(); | ||
| 3496 | 3497 | ||
| 3497 | try { | 3498 | try { |
| 3498 | setBusyIcon(true); | 3499 | setBusyIcon(true); |
| @@ -3504,7 +3505,7 @@ async function sdMessageButton(e) { | |||
| 3504 | const generationType = message?.extra?.generationType ?? generationMode.FREE; | 3505 | const generationType = message?.extra?.generationType ?? generationMode.FREE; |
| 3505 | console.log('Regenerating an image, using existing prompt:', prompt); | 3506 | console.log('Regenerating an image, using existing prompt:', prompt); |
| 3506 | dimensions = setTypeSpecificDimensions(generationType); | 3507 | dimensions = setTypeSpecificDimensions(generationType); |
| 3507 | await sendGenerationRequest(generationType, prompt, negative, characterFileName, saveGeneratedImage, initiators.action, abortController.signal); | 3508 | await sendGenerationRequest(generationType, prompt, negative, characterFileName, saveGeneratedImage, initiators.action, buttonAbortController?.signal); |
| 3508 | } | 3509 | } |
| 3509 | else { | 3510 | else { |
| 3510 | console.log('doing /sd raw last'); | 3511 | console.log('doing /sd raw last'); |