diff options
Diffstat (limited to 'gui/src')
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index 0619e873ca..89360fbc15 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -155,7 +155,11 @@ export class DaemonRpc { public disconnect() { this.isConnected = false; - this.subscriptions.clear(); + + for (const subscriptionId of this.subscriptions.keys()) { + this.removeSubscription(subscriptionId); + } + this.client.close(); if (this.reconnectionTimeout) { clearTimeout(this.reconnectionTimeout); @@ -558,14 +562,14 @@ export class DaemonRpc { this.subscriptions.delete(id); subscription.removeAllListeners('data'); subscription.removeAllListeners('error'); - try { - subscription.cancel(); - } catch (e) { + + subscription.on('error', (e) => { const error = e as grpc.ServiceError; if (error.code !== grpc.status.CANCELLED) { throw error; } - } + }); + subscription.cancel(); } } |
