From 76cd7eb30252fc1630f31bc25c6f8c90a4bd2a41 Mon Sep 17 00:00:00 2001 From: jamz-uk <222520099+jamz-uk@users.noreply.github.com> Date: Wed, 13 Aug 2025 19:47:38 +0100 Subject: [PATCH] Update Auto-Image.js --- Auto-Image.js | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/Auto-Image.js b/Auto-Image.js index 9787678..36a925a 100644 --- a/Auto-Image.js +++ b/Auto-Image.js @@ -1524,45 +1524,28 @@ async function autoRefreshSequence() { const success = await sendPixelBatch(pixelBatch, regionX, regionY); if (success === "token_error") { - // Only auto-refresh if enabled and more than 1 charge available - if (state.autoRefresh && state.currentCharges > 1) { - // CAPTCHA expired: keep trying refresh and retry until token works + if (state.autoRefresh) { + // CAPTCHA expired: auto-refresh and retry updateUI("captchaNeeded", "error"); Utils.showAlert(Utils.t("captchaNeeded"), "error"); - let retry; - do { - // wait until enough charges to paint this batch - while (state.currentCharges < pixelBatch.length) { - updateUI( - state.language === 'pt' - ? `⌛ Sem cargas suficientes (${state.currentCharges}/${pixelBatch.length}). Esperando ${Math.ceil(state.cooldown/1000)}s...` - : `⌛ Insufficient charges (${state.currentCharges}/${pixelBatch.length}). Waiting ${Math.ceil(state.cooldown/1000)}s...`, - 'status' - ); - await Utils.sleep(state.cooldown); - const info = await WPlaceService.getCharges(); - state.currentCharges = Math.floor(info.charges); - state.cooldown = info.cooldown; - } - // now attempt captcha refresh (if token expired) - await autoRefreshSequence(); - retry = await sendPixelBatch(pixelBatch, regionX, regionY); - } while (retry === "token_error"); + await autoRefreshSequence(); + // retry this batch + const retry = await sendPixelBatch(pixelBatch, regionX, regionY); if (retry === true) { - // successful retry: mark pixels and continue pixelBatch.forEach(p => { state.paintedMap[p.localY][p.localX] = true; state.paintedPixels++; }); state.currentCharges -= pixelBatch.length; updateStats(); - updateUI('paintingProgress', 'default', { painted: state.paintedPixels, total: state.totalPixels }); + updateUI("paintingProgress", "default", { painted: state.paintedPixels, total: state.totalPixels }); pixelBatch = []; + // continue painting continue; } - // if retry is false (non-token error), fall through to fallback + // if retry fails, stop } - // fallback: halt on token error + // manual or retry failure state.stopFlag = true; updateUI("captchaNeeded", "error"); Utils.showAlert(Utils.t("captchaNeeded"), "error"); @@ -1635,6 +1618,9 @@ async function autoRefreshSequence() { } async function sendPixelBatch(pixelBatch, regionX, regionY) { + if (!capturedCaptchaToken) { + return "token_error"; + } const coords = []; const colors = [];