From 79c178eb0d706781b8a21d57c9804e97a57efeae Mon Sep 17 00:00:00 2001 From: Sucukdeluxe Date: Mon, 23 Mar 2026 12:06:41 +0100 Subject: [PATCH] Skip sample files during auto-rename to prevent (2) MKV duplicates Sample files like wayne-sample.mkv were renamed by auto-rename which stripped the -sample suffix. After rename they were indistinguishable from the main MKV, causing MKV collection to create (2) copies (e.g. Messiah.Superstar.S01E01...WAYNE (2).mkv at 17 MB alongside the real 470 MB episode). Auto-rename now skips files with a "sample" token in their name, matching the same detection used by MKV collection's sample filter. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/main/download-manager.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/download-manager.ts b/src/main/download-manager.ts index c4120b6..ce2a7cf 100644 --- a/src/main/download-manager.ts +++ b/src/main/download-manager.ts @@ -3307,6 +3307,7 @@ export class DownloadManager extends EventEmitter { } } + const sampleTokenRe = /(^|[._\-\s])sample([._\-\s]|$)/i; for (const sourcePath of videoFiles) { if (shouldAbort?.()) { return renamed; @@ -3314,6 +3315,13 @@ export class DownloadManager extends EventEmitter { const sourceName = path.basename(sourcePath); const sourceExt = path.extname(sourceName); const sourceBaseName = path.basename(sourceName, sourceExt); + + // Skip sample files — renaming them strips the "-sample" suffix, + // making them indistinguishable from the main MKV and causing (2) + // duplicates during MKV collection. + if (sampleTokenRe.test(sourceBaseName)) { + continue; + } const folderCandidates: string[] = []; let currentDir = path.dirname(sourcePath); while (currentDir && isPathInsideDir(currentDir, extractDir)) {