During hybrid extraction, files can finish extracting between the
auto-rename scan and MKV-move, causing them to be moved to the MKV
library dir with their original scene names (e.g. awa-diethundermans03e21hd.mkv).
Add a post-MKV-move auto-rename pass on the MKV library directory to
catch these stragglers and rename them to the proper folder-based name.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Folder names with episode ranges like S01E01-E08 (common in season
packs from debrid servers) were returned unchanged as target name,
causing all episodes to get the same filename and producing (2)(3)(4)
suffixes during MKV collection.
- Detect episode ranges (S01E01-E08, S01E01-08) in folder names and
replace them with the source file's specific episode token
- Extend applyEpisodeTokenToFolderName regex to match and replace
full episode ranges instead of only single episode tokens
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix episode-token pollution: packageExtraCandidates included ALL item
filenames, causing resolveEpisodeTokenForAutoRename to pick up episode
tokens from unrelated files (e.g. S01E07 from 4sf-...-s01e07 applied
to all hrs-...-101/102/103 files). This also caused (2)(3) MKV
suffixes when multiple files were renamed to the same wrong episode.
Now only the package name (outputDir) is used as extra candidate.
- Fix deferred nested extraction missing abort signal: the nested
extractPackageArchives call in runDeferredPostExtraction did not
receive deferredController.signal, making it unabortable on
stop/cancel/restart.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Dynamically compute JVM -Xmx based on system RAM instead of hardcoded 32g
- Reduce peak memory during session loading (inline JSON string, skip redundant clone)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>