real-debrid-downloader/tests
Sucukdeluxe 93a85a0255 HTTP 416: erschoepftes Range-Konflikt-Item macht bounded Clean-Restart statt dauerhaft zu haengen
Nutzer-Report (ultracode-Diagnose, 6-Agenten): ein Item mit "Fehler: HTTP 416"
(Range Not Satisfiable) wurde gar nicht mehr erneut versucht und blockierte das
ganze Paket ("Entpacken - Ausstehend" bei allen fertigen Geschwistern). Befund
code-belegt: nach dem In-Run-416-Budget (maxHttp416Retries) lief das Item in
einen Endzustand:
- retryLimit>0 (bare "HTTP 416", directLinkRetryMatch=false): direkt terminal
  "failed" (download-manager ~9442). Der einzige Re-Retry-Pfad
  recoverRetryableItems() laeuft NUR bei Boot/Start, nie mid-run -> mit
  autoReconnect=false bleibt es bis zum Neustart "failed". Und da jeder
  Extract-Zweig auf failed===0 gated, friert EIN failed-Item das ganze Paket
  ein -> exakt das Screenshot-Symptom.
- retryLimit=0 (wrapped "direct_link_retry_exhausted:HTTP 416"): faellt nach dem
  416-Budget in den generischen Retry (9349) mit maxGenericErrorRetries=
  MAX_SAFE_INTEGER -> unbegrenzte futile Re-Unrestricts (haemmert den Hoster,
  Item kommt nie weiter).

Fix: bei erschoepftem 416-Budget an BEIDEN Stellen (gewrappt @9320, bare @9442)
nicht mehr terminalisieren bzw. endlos generisch retrien, sondern via neuem
escalateHttp416OrFail() einen kompletten Neu-Download von 0 anstossen: Partial
loeschen (rmSync), Bytes/Progress/Budget zuruecksetzen, mit Delay re-queuen. Da
416 ein abgelehnter Resume-Range ist, ist der korrekte Weg ein frischer
Download ohne Range-Header (kein 416 mehr) statt erneuter Resume. Hart gedeckelt
ueber http416FreshRestartByItem (MAX_HTTP416_FRESH_RESTARTS=2, retryLimit-
unabhaengig) -> ein wirklich toter Link faellt nach begrenzten sauberen
Neustarts terminal, kein Endlos-Hammering. Zaehler wird in start() und beim
terminalen Fail geleert. Fresh-Restart-Delay via RD_HTTP416_FRESH_RESTART_DELAY_MS
testbar.

Sobald das Item den failed-Zustand verlaesst, entsperrt die bestehende
failed===0-Logik das Paket-Entpacken von selbst. (Die optionale Haertung
"fertige Archiv-Sets trotz failed-Geschwister entpacken" + "Voll-Datei-416 als
fertig werten statt neu laden" sind bewusst als Folgeschritt offen.)

Tests: Recovery (416 erschoepft -> Clean-Restart -> Item completed, retryLimit>0
bare) + Bounded-Fail (persistentes 416 -> begrenzte Neustarts -> failed,
retryLimit=0 wrapped, terminiert statt Endlos). Suite 945 gruen, tsc=6.
2026-06-23 16:12:52 +02:00
..
account-check.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
account-dialog-prefer-api.test.ts Fix: Bearbeiten eines Mega-Debrid-Accounts ändert nicht mehr heimlich die API/Web-Bevorzugung 2026-06-17 05:54:42 +02:00
account-rotation-log.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
app-order.test.ts Release v1.6.18 2026-03-04 17:31:20 +01:00
audit-log.test.ts Harden support logging and debug setup 2026-03-09 02:47:49 +01:00
auto-rename.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
backup-crypto.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
backup-mcp.test.ts Test: /providers + /logs/conversion ueber authentifiziertes HTTP 2026-06-21 21:41:35 +02:00
backup-payload.test.ts Backup: nur Settings als Default + 4 Selektions/Flicker-Bugfixes 2026-06-07 04:40:54 +02:00
bestdebrid-web.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
cleanup.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
connection-code.test.ts Ferndiagnose (MCP): Verbindungscode + abgesicherter Fernzugriff + stdio-Bridge 2026-06-19 17:05:28 +02:00
container.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
conversion-trace.test.ts Diagnose: Vollstaendiges Conversion-Trace-Logging (conversion.log) fuer haengende/langsame Link-Umwandlung 2026-06-17 02:52:44 +02:00
debrid.test.ts Mega-Debrid: nicht mehr nach 3 transienten Leer-Antworten faelschlich aufs Tageslimit sperren 2026-06-22 03:33:00 +02:00
debug-server-allowlist.test.ts Sicherheit: Allowlist anhand des echten Socket-Peers statt X-Forwarded-For 2026-06-19 17:10:11 +02:00
debug-server.test.ts Sicherheit: Allowlist anhand des echten Socket-Peers statt X-Forwarded-For 2026-06-19 17:10:11 +02:00
desktop-rename-log.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
download-completion.test.ts Fix: Stille Datei-Korruption auf Windows bei vorab-allozierten Downloads (Null-Bytes am Ende) 2026-06-17 04:48:11 +02:00
download-manager.test.ts HTTP 416: erschoepftes Range-Konflikt-Item macht bounded Clean-Restart statt dauerhaft zu haengen 2026-06-23 16:12:52 +02:00
error-ring.test.ts Add extended diagnostics logging 2026-06-07 17:00:06 +02:00
extractor-jvm.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
extractor.test.ts Fix: Nicht-Archiv-".00x"-Dateien werden beim Aufräumen nicht mehr gelöscht (Datenverlust) 2026-06-17 04:52:54 +02:00
fs-error.test.ts Add extended diagnostics logging 2026-06-07 17:00:06 +02:00
german-audio-integration.test.ts Feature: Tonspur-Ergebnis sichtbar am Paket (audioStripSummary) 2026-06-09 20:42:22 +02:00
hybrid-collect-race.test.ts Fix: Hybrid-Race liess .DL.+Doppeltonspur auf einzelnen Episoden zurueck 2026-06-10 15:53:47 +02:00
integrity.test.ts Fix: Falsch benannte Hash-Manifeste löschen keine korrekten Dateien mehr 2026-06-17 05:07:13 +02:00
item-log.test.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
link-export.test.ts Add app runtime statistics 2026-03-09 04:59:00 +01:00
link-parser.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
log-timestamp.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
mega-debrid-errors.test.ts Fix: Mega-Debrid-Umwandlung robust + parallel — schneller Retry, alle Accounts, sichtbarer Grund 2026-06-17 02:07:25 +02:00
mega-public-api.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
mega-web-fallback.test.ts Fix: Mega-Web Selbst-Cooldown bei belegter Queue + Legacy-Config Mega-Demotion (Audit Runde 9+10) 2026-06-17 14:23:41 +02:00
notify-hooks.test.ts Test: Regressionstests fuer die Failed-Transition-Benachrichtigung (Mixed-Paket, Dedup, Run-Guard, Marker-Freigabe) 2026-06-10 00:37:40 +02:00
notify.test.ts Fix: Webhook-Zustellung haertbar — Discord-Rate-Limit, Retries, Kappung, Logging 2026-06-10 00:17:57 +02:00
package-log.test.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
package-order.test.ts Backup: nur Settings als Default + 4 Selektions/Flicker-Bugfixes 2026-06-07 04:40:54 +02:00
realdebrid-web.test.ts Fix Real-Debrid web login session reuse 2026-03-09 00:03:05 +01:00
realdebrid.test.ts Release v1.4.27 with bug audit hardening fixes 2026-02-28 14:12:16 +01:00
rename-log.test.ts Add dedicated rename support logging 2026-03-09 04:48:58 +01:00
resolve-archive-items.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
selection.test.ts Backup: nur Settings als Default + 4 Selektions/Flicker-Bugfixes 2026-06-07 04:40:54 +02:00
self-check.ts Comprehensive bugfix release v1.6.45 2026-03-05 03:53:28 +01:00
session-log.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
session-restart-loss.test.ts Fix: Komplett leere Liste nach unsauberem Neustart (Datenverlust bei Stromausfall/Crash waehrend Download) 2026-06-19 22:42:05 +02:00
startup-health-check.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
storage.test.ts Fix: Mega-Web Selbst-Cooldown bei belegter Queue + Legacy-Config Mega-Demotion (Audit Runde 9+10) 2026-06-17 14:23:41 +02:00
support-bundle.test.ts Fix: Support-Bundle-Export friert die UI nicht mehr 1-2 Minuten ein (asynchrones IO) 2026-06-17 03:14:01 +02:00
trace-log.test.ts Harden support logging and debug setup 2026-03-09 02:47:49 +01:00
unrestrict-retry.test.ts Fix: Mega-Debrid Einzel-Account friert bei 60s-Timeout nicht mehr die ganze Liste ein 2026-06-21 21:21:34 +02:00
update-install-flow.test.ts Fix: Download-Queue läuft nach fehlgeschlagenem Update weiter (kein Stillstand bis Neustart) 2026-06-17 05:50:55 +02:00
update-restart-resume.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
update.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
utils.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +02:00
video-processor.test.ts Fix: deutsche Tonspur-Erkennung waehlt nicht mehr eine falsch-getaggte Spur per Titel (Datenverlust-Schutz, Runde-7-Audit) 2026-06-17 11:30:32 +02:00