diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2018-08-30 14:50:25 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2018-09-03 08:05:18 -0300 |
| commit | 329efd1f50a640c7cb20f042446a3eed5186057b (patch) | |
| tree | 4c4a0daf7459748574f360c1483898554719ca7f /gui | |
| parent | d35b7d5f22ea2018aa0a383c846c4fdcb6d9f080 (diff) | |
| download | mullvadvpn-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.js | 8 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/daemon-rpc.js | 5 |
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') }); |
