real-debrid-downloader/tests
Sucukdeluxe 7d52d5a495 Deferred-Post-Processing Lifecycle härten (H1/H2/M1) + 0-Byte-Fix (H3) + Dead Code (N1)
Aus der Bug-Analyse (3 Subagents): die Deferred-Post-Processing-Pipeline war
nur halb ins Abbruch-/Lifecycle-Management integriert — gleiche Ecke wie der
v1.7.156-Datenverlust.

H1: abortPostProcessing (globaler Stop/Shutdown/clearAll/external) bricht jetzt
    auch packageDeferredPostProcessAbortControllers + die neue Hybrid-Map ab.
    Vorher rasten MKV-Move/Cleanup/Rename gegen den synchronen Shutdown-Save.

H2: Hybrid-Post-Extract (Rename+MKV-Collect) lief als komplett ungetracktes
    detached Promise. Jetzt in packageHybridPostProcessControllers (Set/Package)
    registriert — SYNCHRON vor dem Promise, mit shouldAbort an beide Aufrufe.
    Bewusst SEPARAT von der Deferred-Map, sonst würde runDeferredPostExtraction's
    replace-Logik die laufende Hybrid-Arbeit selbst killen (Advisor-Fund).
    Cancel/Reset/Stop stoppt jetzt laufende Hybrid-Verschiebungen.

M1: hasAnyDeferredPostProcessPending() — Scheduler-Abschluss + finishRun-Clear
    gaten darauf. Run endet/Summary feuert nicht mehr während im Hintergrund
    noch Dateien verschoben werden; Run-State wird nicht mehr mittendrin geleert.

H3: validateDownloadedFileCompletion akzeptierte 0-Byte bei source=stream-end
    (kein Content-Length, keine Provider-Größe) als "fertig". Jetzt ok:false
    -> bestehender download_underflow-Retry-Pfad. Verhindert leere Datei = komplett.

N1: toter (unerreichbarer) Disk-Fallback-Block in findReadyArchiveSets +
    verwaiste pendingItemStatus-Map entfernt (verhaltensneutral).

Bewusst übersprungen: M2 (blockAllPersistence — vorgeschlagener Reset wäre
unsicher, In-Memory-Session ist nach Import stale) und M3 (cancelPendingAsyncSaves
— Generation-Guard schützt Korrektheit bereits). Siehe tasks/todo.md.

8 neue Tests (tests/download-completion.test.ts) inkl. H3-Regression. 621 Tests grün.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 16:39:34 +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 v1.7.151 Review-Findings nachgepflegt: 3 Edge-Cases entschaerft 2026-04-22 02:25:10 +02:00
backup-crypto.test.ts Refactor: Extractor in 18 Sektionen reorganisiert 2026-03-10 23:47:02 +01:00
bestdebrid-web.test.ts Release v1.6.81 2026-03-06 12:09:39 +01:00
cleanup.test.ts Refactor: Extractor in 18 Sektionen reorganisiert 2026-03-10 23:47:02 +01:00
container.test.ts Release v1.4.35 with 413 handling for both dcrypt endpoints 2026-03-01 02:00:52 +01:00
debrid.test.ts Debrid-Link skip-Errors: Key bleibt "ready" statt "error" 2026-04-20 16:52:18 +02:00
debug-server.test.ts Fix Debrid-Link retry recovery 2026-03-10 18:20:19 +01:00
download-completion.test.ts Deferred-Post-Processing Lifecycle härten (H1/H2/M1) + 0-Byte-Fix (H3) + Dead Code (N1) 2026-05-23 16:39:34 +02:00
download-manager.test.ts v1.7.156 HOTFIX: MKV-Collection loescht keine pending Archive im outputDir mehr 2026-05-23 15:12:00 +02:00
extractor-jvm.test.ts Use bulk IInArchive.extract() for ~8x faster extraction, fix archive item resolution 2026-03-05 06:24:12 +01:00
extractor.test.ts Fix parallel extraction false positives 2026-03-10 19:34:42 +01:00
integrity.test.ts Release v1.4.27 with bug audit hardening fixes 2026-02-28 14:12:16 +01: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 Add package and item link export 2026-03-09 04:11:18 +01:00
mega-public-api.test.ts v1.7.155 Mega.nz Filename-Pre-Resolve via Public API 2026-05-23 01:00:08 +02:00
mega-web-fallback.test.ts Comprehensive bugfix release v1.6.45 2026-03-05 03:53:28 +01: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 Add daily traffic limits, auto-sort packages, Debrid-Link multi-key improvements 2026-03-07 02:29:48 +01: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 Use bulk IInArchive.extract() for ~8x faster extraction, fix archive item resolution 2026-03-05 06:24:12 +01:00
self-check.ts Comprehensive bugfix release v1.6.45 2026-03-05 03:53:28 +01:00
session-log.test.ts Comprehensive bugfix release v1.6.45 2026-03-05 03:53:28 +01:00
startup-health-check.test.ts Startup Health-Check: proaktive Warnungen bei Problem-Zustaenden 2026-04-20 20:20:25 +02:00
storage.test.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
trace-log.test.ts Harden support logging and debug setup 2026-03-09 02:47:49 +01:00
update.test.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
utils.test.ts Add package and item link export 2026-03-09 04:11:18 +01:00