From 2c524aed07f8ef28a32d9ddc23ed575a1f4945ca Mon Sep 17 00:00:00 2001 From: Krzysztof Jelski Date: Mon, 11 Jan 2021 10:26:58 +0100 Subject: [PATCH] Remove colon from account path in Electron (#4361) --- packages/apps-electron/src/main/account-store.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/apps-electron/src/main/account-store.ts b/packages/apps-electron/src/main/account-store.ts index a56ed5e003..0f90394e21 100644 --- a/packages/apps-electron/src/main/account-store.ts +++ b/packages/apps-electron/src/main/account-store.ts @@ -13,12 +13,20 @@ import { registerIpcHandler } from './register-ipc-handler'; const ACCOUNTS_SUBFOLDER = 'polkadot-accounts'; +function safeWriteKey (key: string) { + return key.replace(/:/g, '-'); +} + +function safeReadKey (key: string) { + return key.replace(/-/g, ':'); +} + export const accountStoreIpcHandler = (fileStore: FileStore): IpcMainHandler => ({ 'account-store-all': () => { let result: { key: string, value: KeyringJson }[] = []; const collect = (key: string, value: KeyringJson) => { - result = [...result, { key, value }]; + result = [...result, { key: safeReadKey(key), value }]; }; fileStore.all(collect); @@ -27,16 +35,16 @@ export const accountStoreIpcHandler = (fileStore: FileStore): IpcMainHandler => }, 'account-store-get': async (key: string) => new Promise((resolve) => { try { - fileStore.get(key, resolve); + fileStore.get(safeWriteKey(key), resolve); } catch (err) { resolve(null); } }), 'account-store-remove': async (key: string) => new Promise((resolve) => - fileStore.remove(key, () => resolve(undefined)) + fileStore.remove(safeWriteKey(key), () => resolve(undefined)) ), 'account-store-set': async (key: string, value: KeyringJson) => new Promise((resolve) => - fileStore.set(key, value, () => resolve(undefined)) + fileStore.set(safeWriteKey(key), value, () => resolve(undefined)) ) });