real-debrid-downloader/tests
Sucukdeluxe c417ebb57f Auto-Rename Race-Fix: parallele Scans pro Package serialisieren
Im Production-Log:
  21:30:33.957Z Auto-Rename Scan gestartet | videoFiles=25
  21:30:33.992Z Auto-Rename Scan gestartet | videoFiles=25  (35ms spaeter, gleiches pkg!)
  21:30:33.994Z Auto-Rename durchgefuehrt | E24.B          (Scan 1)
  21:30:34.009Z Auto-Rename uebersprungen: Ziel existiert  (Scan 2 sieht renamed file)
  21:30:34.029Z Auto-Rename durchgefuehrt | E24.A          (Scan 1)
  21:30:34.056Z Auto-Rename fehlgeschlagen | ENOENT        (Scan 2 versucht renamed file)

Ursache: hybrid-extract feuert nach JEDEM erfolgreichen Archive einen
fire-and-forget autoRename (Z.10915), und der deferred Post-Process-Pfad
ruft am Ende nochmal autoRename auf (Z.11630). Bei einem Multi-Archive-
Package (25 Episoden) ueberlappen sich 2+ Scans auf demselben Fileset.

Ergebnis: "Ziel existiert"-Warnungen + ENOENT-Fehler beim Rename.
Manchmal blieben einzelne Files unbenannt durchrutschen (Scan 2 sieht
File X, will renamen, aber Scan 1 hat es schon weg-renamed).

Fix: pro Package via Promise-Chaining serialisieren. Neue Map
autoRenameInFlight haelt das laufende Scan-Promise pro packageId. Der
neue Wrapper kettet jeden weiteren Aufruf an das vorherige Promise an
— so laeuft maximal ein Scan zur Zeit pro Package, der naechste startet
erst wenn der vorherige fertig ist (und sieht damit den korrekten
Disk-State).

Test: zwei parallele autoRenameExtractedVideoFiles-Aufrufe fuer dasselbe
Package mit 3 obfuskierten Files. Beide resolven sauber, Summe der
Renames == 3, alle 3 Folders enthalten am Ende den korrekten Folder-
Namen statt Hoster-Obfuskation. 582/582 Tests gruen.
2026-04-22 01:38:26 +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 Auto-Rename Folder-Override: nur bei OBFUSKIERTEM Source-Filename 2026-04-22 01:29:32 +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-manager.test.ts Auto-Rename Race-Fix: parallele Scans pro Package serialisieren 2026-04-22 01:38:26 +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-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