fix(settings): restore archive password list

Load the stored archive password list through a dedicated trusted IPC channel when extraction settings are opened. Preserve write-only drafts across settings and account updates, guard unsaved edits against late responses, and invalidate stale loads during backup imports. Prepare version 2.0.46 with public release notes.
This commit is contained in:
Sucukdeluxe
2026-08-20 00:45:46 +02:00
parent 09ea7803f3
commit 08f017e8c4
16 changed files with 164 additions and 14 deletions
+15
View File
@@ -103,4 +103,19 @@ Backup-Passphrase=${echoedPassphrase}`;
expect((controller as unknown as { manager: { applyDebridAccountStatuses: ReturnType<typeof vi.fn> } }).manager.applyDebridAccountStatuses)
.toHaveBeenCalledWith([expect.objectContaining({ accountId, valid: true })]);
});
it("returns the stored archive password list only through the explicit accessor", () => {
const passwords = "fixture-archive-password-one\nfixture-archive-password-two";
const controller = createController({ ...defaultSettings(), archivePasswordList: passwords });
const result = controller.getArchivePasswordList();
expect(result).toEqual({ passwords });
expect((controller as unknown as { audit: ReturnType<typeof vi.fn> }).audit).toHaveBeenCalledWith(
"INFO",
"Archiv-Passwortliste explizit angezeigt",
{ entryCount: 2 }
);
expect(JSON.stringify((controller as unknown as { audit: ReturnType<typeof vi.fn> }).audit.mock.calls)).not.toContain(passwords);
});
});