diff options
| -rw-r--r-- | gui/packages/desktop/src/main/index.js | 5 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/app.js | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/daemon-rpc-proxy.js | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/src/shared/ipc-event-channel.js | 22 |
4 files changed, 31 insertions, 4 deletions
diff --git a/gui/packages/desktop/src/main/index.js b/gui/packages/desktop/src/main/index.js index 683ec5db55..d63a65a944 100644 --- a/gui/packages/desktop/src/main/index.js +++ b/gui/packages/desktop/src/main/index.js @@ -772,6 +772,11 @@ const ApplicationMain = { this._guiSettings.monochromaticIcon = monochromaticIcon; }); + IpcMainEventChannel.account.handleSet((token: AccountToken) => + this._daemonRpc.setAccount(token), + ); + IpcMainEventChannel.account.handleUnset(() => this._daemonRpc.setAccount(null)); + IpcMainEventChannel.accountHistory.handleGet(() => this._daemonRpc.getAccountHistory()); IpcMainEventChannel.accountHistory.handleRemoveItem((token: AccountToken) => this._daemonRpc.removeAccountFromHistory(token), diff --git a/gui/packages/desktop/src/renderer/app.js b/gui/packages/desktop/src/renderer/app.js index 28fc33f949..f433688a98 100644 --- a/gui/packages/desktop/src/renderer/app.js +++ b/gui/packages/desktop/src/renderer/app.js @@ -177,7 +177,7 @@ export default class AppRenderer { log.debug(`Failed to get account data, logging in anyway: ${verification.error.message}`); } - await this._daemonRpc.setAccount(accountToken); + await IpcRendererEventChannel.account.set(accountToken); // Redirect the user after some time to allow for the 'Logged in' screen to be visible this._loginTimer = setTimeout(async () => { @@ -217,7 +217,7 @@ export default class AppRenderer { async logout() { try { - await this._daemonRpc.setAccount(null); + await IpcRendererEventChannel.account.unset(); } catch (e) { log.info('Failed to logout: ', e.message); } diff --git a/gui/packages/desktop/src/renderer/lib/daemon-rpc-proxy.js b/gui/packages/desktop/src/renderer/lib/daemon-rpc-proxy.js index a9f32b34d3..182fb0fbb2 100644 --- a/gui/packages/desktop/src/renderer/lib/daemon-rpc-proxy.js +++ b/gui/packages/desktop/src/renderer/lib/daemon-rpc-proxy.js @@ -106,8 +106,8 @@ export default class DaemonRpcProxy implements DaemonRpcProtocol { return this._sendMessage('getRelayLocations'); } - setAccount(accountToken: ?AccountToken): Promise<void> { - return this._sendMessage('setAccount', accountToken); + setAccount(_accountToken: ?AccountToken): Promise<void> { + throw new Error('Do not use this method'); } updateRelaySettings(update: RelaySettingsUpdate): Promise<void> { diff --git a/gui/packages/desktop/src/shared/ipc-event-channel.js b/gui/packages/desktop/src/shared/ipc-event-channel.js index d54009dfdb..029ff7dd26 100644 --- a/gui/packages/desktop/src/shared/ipc-event-channel.js +++ b/gui/packages/desktop/src/shared/ipc-event-channel.js @@ -46,6 +46,16 @@ interface GuiSettingsHandlers { handleMonochromaticIcon: ((boolean) => void) => void; } +interface AccountHandlers { + handleSet(fn: (AccountToken) => Promise<void>): void; + handleUnset(fn: () => Promise<void>): void; +} + +interface AccountMethods { + set(token: AccountToken): Promise<void>; + unset(): Promise<void>; +} + interface AccountHistoryHandlers { handleGet(fn: () => Promise<Array<AccountToken>>): void; handleRemoveItem(fn: (token: AccountToken) => Promise<void>): void; @@ -74,6 +84,8 @@ const SET_START_MINIMIZED = 'set-start-minimized'; const GET_APP_STATE = 'get-app-state'; const GET_ACCOUNT_HISTORY = 'get-account-history'; const REMOVE_ACCOUNT_HISTORY_ITEM = 'remove-account-history-item'; +const SET_ACCOUNT = 'set-account'; +const UNSET_ACCOUNT = 'unset-account'; /// Typed IPC event channel /// @@ -127,6 +139,11 @@ export class IpcRendererEventChannel { setStartMinimized: set(SET_START_MINIMIZED), }; + static account: AccountMethods = { + set: requestSender(SET_ACCOUNT), + unset: requestSender(UNSET_ACCOUNT), + }; + static accountHistory: AccountHistoryMethods = { get: requestSender(GET_ACCOUNT_HISTORY), removeItem: requestSender(REMOVE_ACCOUNT_HISTORY_ITEM), @@ -181,6 +198,11 @@ export class IpcMainEventChannel { handleStartMinimized: handler(SET_START_MINIMIZED), }; + static account: AccountHandlers = { + handleSet: requestHandler(SET_ACCOUNT), + handleUnset: requestHandler(UNSET_ACCOUNT), + }; + static accountHistory: AccountHistoryHandlers = { handleGet: requestHandler(GET_ACCOUNT_HISTORY), handleRemoveItem: requestHandler(REMOVE_ACCOUNT_HISTORY_ITEM), |
