From 161357522e7cc3c5b4e886f79861b98779474cb8 Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 17 Apr 2026 16:54:53 +0200 Subject: [PATCH] fix(backup): don't pass click event as legacy password addEventListener('click', doBackupImport) was passing the MouseEvent as the first argument, which got forwarded to pbkdf2 as an Object. --- renderer/app.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/renderer/app.js b/renderer/app.js index 67852b5..1c095dd 100644 --- a/renderer/app.js +++ b/renderer/app.js @@ -1200,12 +1200,13 @@ function askLegacyBackupPassword() { } async function doBackupImport(legacyPassword) { + const pw = typeof legacyPassword === 'string' ? legacyPassword : undefined; try { - const result = await window.api.importBackup(legacyPassword); + const result = await window.api.importBackup(pw); if (!result || result.canceled) return; if (result.needsPassword) { - const pw = await askLegacyBackupPassword(); - if (pw) doBackupImport(pw); + const entered = await askLegacyBackupPassword(); + if (entered) doBackupImport(entered); return; } if (result.ok) { @@ -2311,8 +2312,8 @@ function renderSettings() { arrow.innerHTML = isOpen ? '▶' : '▼'; }); - document.getElementById('exportBackupBtn').addEventListener('click', doBackupExport); - document.getElementById('importBackupBtn').addEventListener('click', doBackupImport); + document.getElementById('exportBackupBtn').addEventListener('click', () => doBackupExport()); + document.getElementById('importBackupBtn').addEventListener('click', () => doBackupImport()); // --- Separator before hoster panels --- const separator = document.createElement('div');