real-debrid-downloader/tasks
Sucukdeluxe 35622445da Fix: Deferred-Final-Pass benennt frische Dateien vor dem Collect um
Folge-Fund zu 18eada9 (Opus-Verifikation des deferFreshFiles-Konzepts):
18eada9 schloss den "frische Datei landet mit Original-Scene-Namen in der
Library"-Bug nur fuer den Hybrid-Pfad (deferFreshFiles=true + Mehrfach-Paesse).
Der finale Deferred-Pass blieb betroffen.

Root Cause (verifiziert via failing Test gegen HEAD):
- runDeferredPostExtraction macht Rename -> Collect (deferFreshFiles=false). Ist
  eine Datei beim Deferred-Rename noch "frisch" (juenger als fileStabilizeMinAgeMs,
  prod=2000ms) -- v.a. eine eben per Nested-Extraction geschriebene Datei --
  ueberspringt der Frische-Gate sie, und der Collect moved sie mit Original-
  Scene-Namen in die Library. collectMkvFilesToLibrary benennt selbst nicht um
  (buildUniqueFlattenTargetPath, nur Flatten).
- Im Deferred-FINAL-Pass gibt es keinen concurrent Extractor-Write mehr
  (Extraktion inkl. Nested ist awaited) -- der Frische-Gate ist dort ein False
  Positive. Pre-existierender Gap (Frische-Skip aelter als 18eada9), auch
  v1.7.162 betroffen.

Fix (minimal): treatFilesAsStable-Param durch autoRenameExtractedVideoFiles(Impl).
Der Deferred-Final-Pass ruft mit treatFilesAsStable=true -> Frische-Gate umgangen
-> alle Dateien werden umbenannt, bevor der Collect sie sammelt. Hybrid-Pfad
unangetastet (nutzt ...Impl mit Default false -> Frische-Skip bleibt aktiv).

Regressionstest: frische Datei im Deferred-Pass landet UMBENANNT in der Library.
623 Tests gruen, tsc unveraendert (9 pre-existing).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-28 22:16:01 +02:00
..
todo.md Fix: Deferred-Final-Pass benennt frische Dateien vor dem Collect um 2026-05-28 22:16:01 +02:00