diff options
4 files changed, 53 insertions, 16 deletions
diff --git a/gui/packages/desktop/src/main/index.js b/gui/packages/desktop/src/main/index.js index 7ebd88a8c7..99463a6c93 100644 --- a/gui/packages/desktop/src/main/index.js +++ b/gui/packages/desktop/src/main/index.js @@ -699,7 +699,12 @@ const ApplicationMain = { return 'securing'; case 'blocked': - return 'securing'; + switch (tunnelState.details.reason) { + case 'set_security_policy_error': + return 'unsecured'; + default: + return 'securing'; + } case 'disconnecting': return 'securing'; diff --git a/gui/packages/desktop/src/main/notification-controller.js b/gui/packages/desktop/src/main/notification-controller.js index 906f24f267..0a8e996640 100644 --- a/gui/packages/desktop/src/main/notification-controller.js +++ b/gui/packages/desktop/src/main/notification-controller.js @@ -26,7 +26,14 @@ export default class NotificationController { this._showTunnelStateNotification('Unsecured'); break; case 'blocked': - this._showTunnelStateNotification('Blocked all connections'); + switch (tunnelState.details.reason) { + case 'set_security_policy_error': + this._showTunnelStateNotification('Unsecured'); + break; + default: + this._showTunnelStateNotification('Blocked all connections'); + break; + } break; case 'disconnecting': switch (tunnelState.details) { diff --git a/gui/packages/desktop/src/renderer/components/Connect.js b/gui/packages/desktop/src/renderer/components/Connect.js index 345812cf8e..c4d26d15db 100644 --- a/gui/packages/desktop/src/renderer/components/Connect.js +++ b/gui/packages/desktop/src/renderer/components/Connect.js @@ -123,8 +123,14 @@ export default class Connect extends Component<Props> { switch (status.state) { case 'connecting': case 'connected': - case 'blocked': return 'secure'; + case 'blocked': + switch (status.details.reason) { + case 'set_security_policy_error': + return 'unsecure'; + default: + return 'secure'; + } case 'disconnected': return 'unsecure'; case 'disconnecting': @@ -221,8 +227,14 @@ export default class Connect extends Component<Props> { return HeaderBarStyle.error; case 'connecting': case 'connected': - case 'blocked': return HeaderBarStyle.success; + case 'blocked': + switch (status.details.reason) { + case 'set_security_policy_error': + return HeaderBarStyle.error; + default: + return HeaderBarStyle.success; + } case 'disconnecting': switch (status.details) { case 'block': diff --git a/gui/packages/desktop/src/renderer/components/TunnelControl.js b/gui/packages/desktop/src/renderer/components/TunnelControl.js index 7ec3f72687..5b2470f0b8 100644 --- a/gui/packages/desktop/src/renderer/components/TunnelControl.js +++ b/gui/packages/desktop/src/renderer/components/TunnelControl.js @@ -137,18 +137,31 @@ export default class TunnelControl extends Component<TunnelControlProps> { let state = this.props.tunnelState.state; - if (state === 'disconnecting') { - switch (this.props.tunnelState.details) { - case 'block': - state = 'blocked'; - break; - case 'reconnect': - state = 'connecting'; - break; - default: - state = 'disconnecting'; - break; - } + switch (state) { + case 'blocked': + switch (this.props.tunnelState.details.reason) { + case 'set_security_policy_error': + state = 'disconnected'; + break; + default: + state = 'blocked'; + break; + } + break; + + case 'disconnecting': + switch (this.props.tunnelState.details) { + case 'block': + state = 'blocked'; + break; + case 'reconnect': + state = 'connecting'; + break; + default: + state = 'disconnecting'; + break; + } + break; } switch (state) { |
