diff --git a/package.json b/package.json index 14724c7..14ea365 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "real-debrid-downloader", - "version": "1.4.78", + "version": "1.4.79", "description": "Real-Debrid Downloader Desktop (Electron + React + TypeScript)", "main": "build/main/main/main.js", "author": "Sucukdeluxe", diff --git a/src/main/download-manager.ts b/src/main/download-manager.ts index 67165db..c84529a 100644 --- a/src/main/download-manager.ts +++ b/src/main/download-manager.ts @@ -3346,7 +3346,14 @@ export class DownloadManager extends EventEmitter { } item.provider = unrestricted.provider; item.retries += unrestricted.retriesUsed; - item.fileName = sanitizeFilename(unrestricted.fileName || filenameFromUrl(item.url)); + const resolvedName = sanitizeFilename(unrestricted.fileName || filenameFromUrl(item.url)); + // Only overwrite fileName if the resolved name is better (not "download.bin" / opaque) + if (resolvedName && !looksLikeOpaqueFilename(resolvedName) && resolvedName.toLowerCase() !== "download.bin") { + item.fileName = resolvedName; + } else if (looksLikeOpaqueFilename(item.fileName)) { + // Current name is also opaque, use whatever we got + item.fileName = resolvedName; + } try { fs.mkdirSync(pkg.outputDir, { recursive: true }); } catch (mkdirError) {