Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2025-04-16 08:06:01 +01:00
parent 73a6d9972c
commit 319dd06305
No known key found for this signature in database
GPG Key ID: A2B008A5F49F5D0D

View File

@ -73,12 +73,12 @@ class Store extends ElectronStore<{
}); });
} }
private whenSafeStorageReadyPromise?: Promise<void>; private whenSafeStorageReadyPromise?: Promise<unknown>;
public safeStorageReady(): Promise<void> { public async safeStorageReady(): Promise<void> {
if (!this.whenSafeStorageReadyPromise) { if (!this.whenSafeStorageReadyPromise) {
this.whenSafeStorageReadyPromise = app.whenReady().then(() => this.migrateSecrets()); this.whenSafeStorageReadyPromise = Promise.allSettled([app.whenReady().then(() => this.migrateSecrets())]);
} }
return this.whenSafeStorageReadyPromise; await this.whenSafeStorageReadyPromise;
} }
private getSecretStorageKey = (key: string) => `safeStorage.${key}` as const; private getSecretStorageKey = (key: string) => `safeStorage.${key}` as const;
@ -91,7 +91,10 @@ class Store extends ElectronStore<{
private async migrateSecrets(): Promise<void> { private async migrateSecrets(): Promise<void> {
if (this.has("safeStorage")) return; if (this.has("safeStorage")) return;
console.info("Store migration: started"); console.info("Store migration: started");
if (!safeStorage.isEncryptionAvailable()) { if (
!safeStorage.isEncryptionAvailable() &&
!(process.platform === "linux" && safeStorage.getSelectedStorageBackend() === "basic_text")
) {
console.error( console.error(
"Store migration: safeStorage is not available with backend", "Store migration: safeStorage is not available with backend",
safeStorage.getSelectedStorageBackend(), safeStorage.getSelectedStorageBackend(),