Fix auto-rename race in hybrid extraction missing MKV files

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>
This commit is contained in:
Sucukdeluxe 2026-03-23 11:53:51 +01:00
parent 024e0995b5
commit 87c097c822

View File

@ -10735,6 +10735,22 @@ export class DownloadManager extends EventEmitter {
pkg.postProcessLabel = "Verschiebe Videos..."; pkg.postProcessLabel = "Verschiebe Videos...";
this.emitState(); this.emitState();
await this.collectMkvFilesToLibrary(packageId, pkg, shouldAbort); await this.collectMkvFilesToLibrary(packageId, pkg, shouldAbort);
// ── Post-MKV-move rename pass ──
// During hybrid extraction, files can finish extracting between the
// auto-rename scan and MKV-move, causing them to be moved with their
// original scene names (e.g. awa-diethundermans03e21hd.mkv).
// Run auto-rename on the MKV library dir to catch these stragglers.
if (this.settings.autoRename4sf4sj && this.settings.collectMkvToLibrary) {
const mkvDir = String(this.settings.mkvLibraryDir || "").trim();
if (mkvDir && await this.existsAsync(mkvDir)) {
throwIfAborted();
const postMkvRenamed = await this.autoRenameExtractedVideoFiles(mkvDir, pkg, shouldAbort);
if (postMkvRenamed > 0) {
logger.info(`Post-MKV-Move Auto-Rename: pkg=${pkg.name}, renamed=${postMkvRenamed} in ${mkvDir}`);
}
}
}
} }
throwIfAborted(); throwIfAborted();