From 45bcc0e0b1541558ecf410e9a92bc2db192cfe93 Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Tue, 5 Aug 2025 10:31:15 -0300 Subject: [PATCH] fix: Fixes issue where plaintext backups would use invalid special characters for filenames (#2924) --- .../app/javascripts/Main/FileBackups/FileBackupsManager.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/desktop/app/javascripts/Main/FileBackups/FileBackupsManager.ts b/packages/desktop/app/javascripts/Main/FileBackups/FileBackupsManager.ts index b78cbd6fd..56d4572a1 100644 --- a/packages/desktop/app/javascripts/Main/FileBackups/FileBackupsManager.ts +++ b/packages/desktop/app/javascripts/Main/FileBackups/FileBackupsManager.ts @@ -17,6 +17,7 @@ import { FileReadOperation } from './FileReadOperation' import { Paths } from '../Types/Paths' import { MessageToWebApp } from '../../Shared/IpcMessages' import { FilesManagerInterface } from '../File/FilesManagerInterface' +import { sanitizeFileName } from '@standardnotes/utils' const TextBackupFileExtension = '.txt' @@ -316,7 +317,8 @@ export class FilesBackupManager implements FileBackupsDevice { const relativePath = forTag ?? '' const filenameWithSlashesEscaped = filename.replace(/\//g, '\u2215') - const fileAbsolutePath = path.join(absolutePath, relativePath, filenameWithSlashesEscaped) + const sanitizedFilename = sanitizeFileName(filenameWithSlashesEscaped) + const fileAbsolutePath = path.join(absolutePath, relativePath, sanitizedFilename) await this.filesManager.writeFile(fileAbsolutePath, data) const existingRecord = findMappingRecord(forTag)