From cf914af0da5035a938eacfc9f313dc3cf09c467d Mon Sep 17 00:00:00 2001 From: Ludwig Reiter Date: Fri, 10 Jul 2026 10:23:32 +0200 Subject: [PATCH 1/2] Motion export: sanitize filename --- .../pdf-document.service/pdf-document.service.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/client/src/app/gateways/export/pdf-document.service/pdf-document.service.ts b/client/src/app/gateways/export/pdf-document.service/pdf-document.service.ts index f993498607..a06deff6db 100644 --- a/client/src/app/gateways/export/pdf-document.service/pdf-document.service.ts +++ b/client/src/app/gateways/export/pdf-document.service/pdf-document.service.ts @@ -570,7 +570,7 @@ export class PdfDocumentService { landscape: false, imageUrls: imageUrls }), - filename: `${filetitle}.pdf`, + filename: `${this.sanitizeFilename(filetitle)}.pdf`, settings: this.settings, loadImages: (): Promise => this.loadImages(), progressService: null, @@ -590,7 +590,7 @@ export class PdfDocumentService { progressService: this.progressService }); if (file) { - saveAs(file, config.filename, { autoBom: true }); + saveAs(file, this.sanitizeFilename(config.filename), { autoBom: true }); } } @@ -607,7 +607,7 @@ export class PdfDocumentService { pageMargins: [50, 80, 50, 75], landscape: true }), - filename: `${filetitle}.pdf`, + filename: `${this.sanitizeFilename(filetitle)}.pdf`, settings: this.settings, loadImages: (): Promise => this.loadImages(), progressService: this.progressService, @@ -1078,4 +1078,8 @@ export class PdfDocumentService { .mapToObject((url, index) => ({ [url]: atob(svgs[index].data) })) }; } + + private sanitizeFilename(value: string): string { + return value.replace(/[^a-zA-Z0-9_-]/g, '_'); + } } From d9d856bce7a0891838afd68299a0d1e97607ed42 Mon Sep 17 00:00:00 2001 From: Ludwig Reiter Date: Fri, 10 Jul 2026 11:24:05 +0200 Subject: [PATCH 2/2] Allow more letters in filename --- .../export/pdf-document.service/pdf-document.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/app/gateways/export/pdf-document.service/pdf-document.service.ts b/client/src/app/gateways/export/pdf-document.service/pdf-document.service.ts index a06deff6db..d608d597ff 100644 --- a/client/src/app/gateways/export/pdf-document.service/pdf-document.service.ts +++ b/client/src/app/gateways/export/pdf-document.service/pdf-document.service.ts @@ -1080,6 +1080,6 @@ export class PdfDocumentService { } private sanitizeFilename(value: string): string { - return value.replace(/[^a-zA-Z0-9_-]/g, '_'); + return value.replace(/[^a-zA-Z0-9_-üöäÜÖħ\s]/g, '_'); } }