diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2020-09-11 16:11:31 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2020-09-14 16:17:32 +0200 |
| commit | 9e1bb82fbeab9e21bb46dc8369c1f710d2282bff (patch) | |
| tree | f9203d4e70fa1b2750e6a8d24d67f195161fd2b5 /gui/src | |
| parent | 74cd774c0ec0a80a7f23b82221672567b3a91340 (diff) | |
| download | mullvadvpn-9e1bb82fbeab9e21bb46dc8369c1f710d2282bff.tar.xz mullvadvpn-9e1bb82fbeab9e21bb46dc8369c1f710d2282bff.zip | |
Add workaround for Linux tray context menu action delay
Diffstat (limited to 'gui/src')
| -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())), }, ]; |
