summaryrefslogtreecommitdiffhomepage
path: root/gui
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-08-30 14:50:25 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-09-03 08:05:18 -0300
commit329efd1f50a640c7cb20f042446a3eed5186057b (patch)
tree4c4a0daf7459748574f360c1483898554719ca7f /gui
parentd35b7d5f22ea2018aa0a383c846c4fdcb6d9f080 (diff)
downloadmullvadvpn-329efd1f50a640c7cb20f042446a3eed5186057b.tar.xz
mullvadvpn-329efd1f50a640c7cb20f042446a3eed5186057b.zip
Block connection if starting the tunnel fails
Diffstat (limited to 'gui')
-rw-r--r--gui/packages/desktop/src/renderer/errors.js8
-rw-r--r--gui/packages/desktop/src/renderer/lib/daemon-rpc.js5
2 files changed, 10 insertions, 3 deletions
diff --git a/gui/packages/desktop/src/renderer/errors.js b/gui/packages/desktop/src/renderer/errors.js
index 15a7696f18..8651adfb97 100644
--- a/gui/packages/desktop/src/renderer/errors.js
+++ b/gui/packages/desktop/src/renderer/errors.js
@@ -4,7 +4,13 @@ import type { BlockReason } from './lib/daemon-rpc';
export class BlockedError extends Error {
constructor(reason: BlockReason) {
- super(reason);
+ switch (reason) {
+ case 'start_tunnel_error':
+ super('Failed to start tunnel connection');
+ break;
+ default:
+ super(`Unknown error: ${(reason: empty)}`);
+ }
}
}
diff --git a/gui/packages/desktop/src/renderer/lib/daemon-rpc.js b/gui/packages/desktop/src/renderer/lib/daemon-rpc.js
index 1578b04638..38450173fd 100644
--- a/gui/packages/desktop/src/renderer/lib/daemon-rpc.js
+++ b/gui/packages/desktop/src/renderer/lib/daemon-rpc.js
@@ -41,7 +41,7 @@ const LocationSchema = object({
mullvad_exit_ip: boolean,
});
-export type BlockReason = string;
+export type BlockReason = 'start_tunnel_error';
export type DisconnectedState = {
state: 'disconnected',
};
@@ -218,9 +218,10 @@ const AccountDataSchema = object({
expiry: string,
});
+const allBlockReasons: Array<BlockReason> = ['start_tunnel_error'];
const BlockedStateSchema = object({
state: enumeration('blocked'),
- details: string,
+ details: enumeration(...allBlockReasons),
});
const ConnectedStateSchema = object({ state: enumeration('connected') });
const ConnectingStateSchema = object({ state: enumeration('connecting') });