summaryrefslogtreecommitdiffhomepage
path: root/gui/src
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-09-11 16:11:31 +0200
committerOskar Nyberg <oskar@mullvad.net>2020-09-14 16:17:32 +0200
commit9e1bb82fbeab9e21bb46dc8369c1f710d2282bff (patch)
treef9203d4e70fa1b2750e6a8d24d67f195161fd2b5 /gui/src
parent74cd774c0ec0a80a7f23b82221672567b3a91340 (diff)
downloadmullvadvpn-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.ts8
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())),
},
];