real-debrid-downloader/tests
Sucukdeluxe eacd0c9d81 Fix: stille Mid-File-Korruption beim Resume nach Verbindungsabbruch (known-total) + Rewind-Haertung (Runde-8-Audit)
RANGE-1 (HIGH, adversarisch 3/3): Wenn ein Debrid-Server beim Socket-Abbruch
einen Garbage-Block in den Body schreibt UND das im LETZTEN inneren Versuch
passiert, wurde der Tail nicht zurueckgespult: der `attempt < maxAttempts`-Guard
verhindert das Vormerken, resumeRewindBytesNextAttempt ist funktions-lokal und
ueberlebt den downloadToFile-Re-Entry nicht, und der Outer-Handler nimmt fuer
terminated-class den generic-retry-Zweig (loescht die Teil-Datei NICHT). Beim
Fresh-Link-Resume wurden die echten Bytes NACH dem Garbage angehaengt → eine
Datei mit exakt korrekter Laenge, die die reine Laengen-Pruefung
(validateDownloadedFileCompletion) besteht; bei manifestlosen .mkv/.mp4 ohne
Pruefsumme fiel die Korruption nie auf.

Fix: am Exhaustion-Punkt vor dem Throw den verdaechtigen Tail zurueckspulen
(truncate auf written - RESUME_REWIND_BYTES, downloadedBytes ZUERST gesetzt,
damit der binary-Re-Entry-prealloc-reconcile auch bei fehlgeschlagenem truncate
greift). GEGATED auf bekannte Groesse (totalBytes != null && > 0): dann ist
rewound size < totalBytes = minBytes, sodass tryFinalizeItemFromDisk die
gekuerzte Datei ablehnt und der Re-Entry den Garbage sauber ueberschreibt.

Ehrliche Einordnung: behoben fuer Medien mit bekannter Groesse (Debrid liefert
fast immer fileSize). Der seltene Fall OHNE Groessenangabe behaelt eine separate,
schon vorher bestehende stille Korruption unter dem dokumentierten
Size-only-Validation-Blindspot — durch dieses Rueckspulen nicht loesbar (kein
Laengensignal; nur ein Hard-Reset wuerde helfen, groesserer separater Eingriff).
Bewusst NICHT angefasst, um keinen vierten Bug einzubauen.

REWIND-TRUNCATE-FAIL (MED, 3/3): Das `finally` setzte
resumeRewindBytesNextAttempt=0 unbedingt — auch wenn die Rewind-truncate warf
(transienter win32-EBUSY/AV-Lock) → Garbage-Tail blieb, Flag gecleart, nie
erneut versucht. Fix: Reset nur noch im Success-Branch, sodass ein
fehlgeschlagenes Rueckspulen im naechsten Versuch erneut probiert wird.

PREALLOC-ZEROS-ACCEPTED (MED, schwaechste) dokumentiert nicht gefixt: dominante
Medien/Archive sind immun (footprint-threshold 0); narrow non-binary-Conjunction.

Advisor vor Implementierung konsultiert (HIGH-Hot-Path); Check A (totalBytes-null
finalisiert die gekuerzte Datei) am echten Code verifiziert und der Fix
entsprechend auf known-total gegated.

Rot-bewiesen: Cross-Call-Integrationstest (final-attempt Garbage-Inject + Drop →
Exhaustion → queueRetry → 2. downloadToFile via Fresh-Link → byte-genaue
Inhaltsgleichheit). Ohne den Fix ist die Laengen-Assertion gruen und die
Inhalts-Assertion rot (exakt-laengen-Korruption) — genau die RANGE-1-Signatur.
Volle Suite 885 gruen, tsc unveraendert (6).
2026-06-17 12:16:51 +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-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
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 Fix: Mega "bis Tagesreset gesperrt" parkt das Paket bis zum Reset statt es den ganzen Tag alle 2 min neu zu versuchen 2026-06-17 10:16:16 +02:00
debug-server.test.ts chore: remove all source code comments and internal artifacts 2026-06-06 04:53:54 +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 Fix: stille Mid-File-Korruption beim Resume nach Verbindungsabbruch (known-total) + Rewind-Haertung (Runde-8-Audit) 2026-06-17 12:16:51 +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 Mega-Debrid: Link-Umwandlung parallel ueber mehrere Accounts (per-Account-Queue + Tiefen-Routing) 2026-06-16 23:36:22 +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: Einstellungen gehen nicht mehr durch zeitgleiches Speichern verloren (Lost Update) 2026-06-17 04:57:23 +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 UI Phase 2: Einstellungen-Tab neu strukturiert (Untergruppen + Erklaertexte) + konfigurierbarer Verlauf (Obergrenze + Zeitlimit) 2026-06-15 00:49:19 +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 "bis Tagesreset gesperrt" parkt das Paket bis zum Reset statt es den ganzen Tag alle 2 min neu zu versuchen 2026-06-17 10:16:16 +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