From 0d913641d70c03e25b0a02b433885bf27599dfb2 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Tue, 5 Nov 2024 20:32:23 +0100 Subject: [PATCH 1/3] [bugfix] do not encode url query params --- src/main/util.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/util.ts b/src/main/util.ts index 508c31fa..acfeb6db 100644 --- a/src/main/util.ts +++ b/src/main/util.ts @@ -8,8 +8,9 @@ export function resolveHtmlPath (htmlFileName: string) { const url = new URL(`http://localhost:${port}/${htmlFileName}`); return url.toString(); } - const filePath = path.resolve(__dirname, "..", "renderer", htmlFileName); - return pathToFileURL(filePath).toString(); + + const filePath = path.resolve(__dirname, "..", "renderer"); + return pathToFileURL(filePath).toString().concat("/", htmlFileName); }; From 57e1029b757bd2e1f0002c4bde8d3c892d19a7f2 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Tue, 5 Nov 2024 20:33:18 +0100 Subject: [PATCH 2/3] [bugfix] Unable to download playlist if its filename was containing special chars --- .../additional-content/local-playlists-manager.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/services/additional-content/local-playlists-manager.service.ts b/src/main/services/additional-content/local-playlists-manager.service.ts index 464a9aeb..5be06e9b 100644 --- a/src/main/services/additional-content/local-playlists-manager.service.ts +++ b/src/main/services/additional-content/local-playlists-manager.service.ts @@ -123,7 +123,7 @@ export class LocalPlaylistsManagerService { const dest = await (async () => { if(opt.dest && path.isAbsolute(opt.dest) && this.acceptPlaylistFiletype(opt.dest)) { return opt.dest; } const playlistFolder = await this.getPlaylistsFolder(opt.version); - return path.join(playlistFolder, filename); + return path.join(playlistFolder, sanitize(filename)); })(); writeFileSync(dest, JSON.stringify(bpList, null, 2)); From 9e60dc4e0ea853b51ed0337ee19db38a9b4b5420 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Tue, 5 Nov 2024 20:34:26 +0100 Subject: [PATCH 3/3] [bugfix] prevent bug with special chars when using "preferContentDisposition" --- src/main/services/request.service.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/services/request.service.ts b/src/main/services/request.service.ts index 9f5f7164..ef3777e3 100644 --- a/src/main/services/request.service.ts +++ b/src/main/services/request.service.ts @@ -8,6 +8,7 @@ import { unlinkSync } from "fs-extra"; import { tryit } from "shared/helpers/error.helpers"; import path from "path"; import { pipeline } from "stream/promises"; +import sanitize from "sanitize-filename"; export class RequestService { private static instance: RequestService; @@ -66,7 +67,7 @@ export class RequestService { const filename = opt?.preferContentDisposition ? this.getFilenameFromContentDisposition(response.headers["content-disposition"]) : null; if (filename) { - dest = path.join(path.dirname(dest), filename); + dest = path.join(path.dirname(dest), sanitize(filename)); } progress.data = dest;