From 180d2950622c87664ebe0b753307c4b460bc8fc9 Mon Sep 17 00:00:00 2001 From: Subhamoy Biswas Date: Thu, 5 Mar 2026 23:17:43 +0530 Subject: [PATCH] fix: shell escaping of yt-dlp args on flatpak --- src/helpers/use-downloader.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/helpers/use-downloader.ts b/src/helpers/use-downloader.ts index 1fb44b5..670e916 100644 --- a/src/helpers/use-downloader.ts +++ b/src/helpers/use-downloader.ts @@ -198,7 +198,7 @@ export default function useDownloader() { const isFlatpak = await invoke('is_flatpak'); const command = isFlatpak - ? Command.create('sh', ['-c', `yt-dlp ${args.map(arg => arg.includes(' ') ? `"${arg}"` : arg).join(' ')}`]) + ? Command.create('sh', ['-c', `yt-dlp ${args.map(arg => `'${arg.replace(/'/g, "'\\''")}'`).join(' ')}`]) : Command.sidecar('binaries/yt-dlp', args); let jsonOutput = ''; @@ -562,7 +562,7 @@ export default function useDownloader() { console.log('Starting download with args:', args); const isFlatpak = await invoke('is_flatpak'); const command = isFlatpak - ? Command.create('sh', ['-c', `yt-dlp ${args.map(arg => arg.includes(' ') ? `"${arg}"` : arg).join(' ')}`]) + ? Command.create('sh', ['-c', `yt-dlp ${args.map(arg => `'${arg.replace(/'/g, "'\\''")}'`).join(' ')}`]) : Command.sidecar('binaries/yt-dlp', args); command.on('close', async (data) => {