diff options
Diffstat (limited to 'gui/src/main')
| -rw-r--r-- | gui/src/main/index.ts | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts index ff45009ca4..9163264a03 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -1433,16 +1433,18 @@ class ApplicationMain { label: this.getLinuxContextMenuActionButtonLabel(), click: () => { if (this.tunnelState.state === 'disconnected') { - consumePromise(this.daemonRpc.connectTunnel()); + // Workaround: gRPC calls are sometimes delayed by a few seconds and setImmediate + // mitigates this. https://github.com/grpc/grpc-node/issues/882 + setImmediate(() => consumePromise(this.daemonRpc.connectTunnel())); } else { - consumePromise(this.daemonRpc.disconnectTunnel()); + setImmediate(() => consumePromise(this.daemonRpc.disconnectTunnel())); } }, }, { label: messages.gettext('Reconnect'), enabled: this.tunnelState.state === 'connected' || this.tunnelState.state === 'connecting', - click: () => consumePromise(this.daemonRpc.reconnectTunnel()), + click: () => setImmediate(() => consumePromise(this.daemonRpc.reconnectTunnel())), }, ]; |
