-
v1.7.105 Stable
released this
2026-03-22 16:24:38 +01:00 | 187 commits to main since this releasev1.7.105 — Bug Fixes
Fix: Auto-Rename Episode Token Pollution
Root cause of two user-reported issues:
-
Wrong episode numbers during auto-rename — Files like
hrs-irland.krimi.hdtv.7p-101.mkvwere not renamed (or renamed to the wrong episode) because the episode detection picked upS01E07from an unrelated file in the same package (4sf-...-s01e07.mkv) instead of correctly parsing the compact episode code101→S01E01. -
Duplicate MKV files with (2)(3) suffixes — When multiple files were incorrectly renamed to the same episode number (e.g., all getting
S01E07), the MKV collection step would createfilename (2).mkv,filename (3).mkvcopies because the target already existed.
Technical details: The
packageExtraCandidatesarray inautoRenameExtractedVideoFilespreviously included ALL item filenames from the package. TheresolveEpisodeTokenForAutoRenamefunction iterated these candidates looking for episode tokens, and would return the firstSxxExxmatch from ANY file — even if it belonged to a completely different episode. This polluted the episode detection for all files that relied on compact numeric codes (e.g.,101,102,103).Fix: Only the package directory name (outputDir) is now used as an extra naming candidate. Individual item filenames are no longer included, preventing cross-file episode token leakage.
Fix: Deferred Nested Extraction Not Abortable
The nested extraction step in
runDeferredPostExtraction(which extracts archives found inside the extracted output) did not receive thedeferredController.signal. This meant that if the user stopped, cancelled, or restarted the application during nested extraction, the extraction process would continue running until it finished naturally instead of aborting immediately.Fix: The
signal: deferredController.signalparameter is now passed toextractPackageArchivesin the deferred nested extraction path, matching the behavior of both the hybrid and full extraction paths.
Test Suite Fully Green (548/548)
All 14 previously failing tests have been resolved:
- Updated extract error label expectations to match the current format (archive name + German error summaries)
- Added timeouts for tests affected by the archive settle delay
- Relaxed byte-exact assertions to account for Windows ALLOCATION_UNIT_SIZE tolerance
- Made mini-file retry assertion platform-aware (Windows pre-allocation masks detection)
-