"error",
          confirmButtonColor: "#d33",
          confirmButtonText: "OK"
        });
      }
  
      function abortIfNeeded(reason) {
        if (controller) {
          controller.abort();
          controller = null;
        }
        clearTimeout(timeoutId);
        setBusy(false);
  
        if (reason === 'user') {
          Swal.fire({ title: "Launch canceled", icon: "info", timer: 1200, showConfirmButton: false });
        } else if (reason === 'timeout') {
          Swal.fire({
            