Auto Retry for lucida.to

Automatically press the retry button when something goes wrong. Mostly meant to fix error 429 but also works for other errors.

As of 28. 10. 2024. See the latest version.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Auto Retry for lucida.to
// @author       cracktorio
// @namespace    https://cracktorio.net/
// @version      1.0
// @description  Automatically press the retry button when something goes wrong. Mostly meant to fix error 429 but also works for other errors.
// @match        *://lucida.to/*
// @grant        none
// @license      GNU GPLv3
// ==/UserScript==

(function() {
    'use strict';

    // Define the selector for the div that changes display
    const displayDivSelector = '#zip-error'; // Replace with the actual class of the div
    let displayDiv;
    let RetryButton;
    console.log("retry download script running");

    // Interval check function to detect display change
    setInterval(() => {
    displayDiv = document.querySelector(displayDivSelector);
    RetryButton = document.querySelector('button[data-action="retry"]');

        if (displayDiv && window.getComputedStyle(displayDiv).display !== 'none' && RetryButton) {
            console.log("Waiting 200ms to press retry button.");
            setTimeout(() => {
                RetryButton.click();
                console.log("Retry button clicked due to display change.");
            }, 200); // Wait 200ms before clicking
        }
    }, 2000); // Check every 2000 milliseconds

})();