Fix Mega-Web rotation skipping accounts on a timeout abort
When a Mega-Web account's unrestrict aborts because the shared unrestrict timeout fired while it was running, give that account a 2-min cooldown (only if it actually ran >=8s, so a quick user-cancel does not cool it down). The download-manager retry then skips the cooled-down account and rotates to the next one, instead of hammering the same account every 60s. - debrid.ts: handle the abort in the rotation catch before classifyAccountFailure - rotation log event TIMEOUT_COOLDOWN (+ renderer label) replaces the misleading red "fataler Fehler" for this case - RD_MEGA_ABORT_MIN_RUN_MS env override for the run-length threshold - 2 regression tests (cooldown set -> next call rotates; quick abort -> no cooldown)
This commit is contained in:
@@ -1150,6 +1150,10 @@ function rotationEventText(ev: { event: string; cooldownSec?: number; next?: str
|
||||
return `fehlgeschlagen${cd}${nx}`;
|
||||
}
|
||||
case "FATAL": return "abgebrochen (fataler Fehler)";
|
||||
case "TIMEOUT_COOLDOWN": {
|
||||
const cd = ev.cooldownSec ? `, Cooldown ${ev.cooldownSec}s` : "";
|
||||
return `Timeout/Abbruch${cd} → nächster Account beim Retry`;
|
||||
}
|
||||
case "SKIP_COOLDOWN": return untilRestart ? "übersprungen (bis Neustart gesperrt)" : "übersprungen (Cooldown aktiv)";
|
||||
case "SKIP_DISABLED": return "übersprungen (deaktiviert)";
|
||||
case "SKIP_DAILY_LIMIT": return "übersprungen (Tageslimit erreicht)";
|
||||
|
||||
Reference in New Issue
Block a user