diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-27 21:35:17 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-28 19:18:44 +0000 |
| commit | c1260293da1e6f876dd4c67db28fd1f98af42a0a (patch) | |
| tree | cc7d624b3f9e9472c862d55eabc6c01bc38b132e | |
| parent | 1cc8a4eb9402e1c104a74f94162863ee8fe1c326 (diff) | |
| download | mullvadvpn-c1260293da1e6f876dd4c67db28fd1f98af42a0a.tar.xz mullvadvpn-c1260293da1e6f876dd4c67db28fd1f98af42a0a.zip | |
Rename `TunnelState` in GUI
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 12 | ||||
| -rw-r--r-- | gui/src/main/index.ts | 17 | ||||
| -rw-r--r-- | gui/src/main/notification-controller.ts | 4 | ||||
| -rw-r--r-- | gui/src/renderer/app.tsx | 15 | ||||
| -rw-r--r-- | gui/src/renderer/components/NotificationArea.tsx | 4 | ||||
| -rw-r--r-- | gui/src/renderer/components/TunnelControl.tsx | 4 | ||||
| -rw-r--r-- | gui/src/renderer/redux/connection/reducers.ts | 4 | ||||
| -rw-r--r-- | gui/src/shared/daemon-rpc-types.ts | 4 | ||||
| -rw-r--r-- | gui/src/shared/ipc-event-channel.ts | 8 |
9 files changed, 32 insertions, 40 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index 215807b2a7..bf6134465f 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -8,7 +8,7 @@ import { IRelayList, ISettings, RelaySettingsUpdate, - TunnelStateTransition, + TunnelState, } from '../shared/daemon-rpc-types'; import { CommunicationError, InvalidAccountError, NoDaemonError } from './errors'; import JsonRpcClient, { @@ -230,7 +230,7 @@ const accountDataSchema = partialObject({ expiry: string, }); -const tunnelStateTransitionSchema = oneOf( +const tunnelStateSchema = oneOf( object({ state: enumeration('disconnecting'), details: enumeration('nothing', 'block', 'reconnect'), @@ -329,7 +329,7 @@ const settingsSchema = partialObject({ const daemonEventSchema = oneOf( object({ - state_transition: tunnelStateTransitionSchema, + state_transition: tunnelStateSchema, }), object({ settings: settingsSchema, @@ -468,12 +468,10 @@ export class DaemonRpc { } } - public async getState(): Promise<TunnelStateTransition> { + public async getState(): Promise<TunnelState> { const response = await this.transport.send('get_state'); try { - return camelCaseObjectKeys( - validate(tunnelStateTransitionSchema, response), - ) as TunnelStateTransition; + return camelCaseObjectKeys(validate(tunnelStateSchema, response)) as TunnelState; } catch (error) { throw new ResponseParseError('Invalid response from get_state', error); } diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts index b34cc87fbc..5bf4d5f384 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -15,7 +15,7 @@ import { ISettings, RelaySettings, RelaySettingsUpdate, - TunnelStateTransition, + TunnelState, } from '../shared/daemon-rpc-types'; import { loadTranslations, messages } from '../shared/gettext'; import { IpcMainEventChannel } from '../shared/ipc-event-channel'; @@ -73,7 +73,7 @@ class ApplicationMain { private quitStage = AppQuitStage.unready; private accountHistory: AccountToken[] = []; - private tunnelState: TunnelStateTransition = { state: 'disconnected' }; + private tunnelState: TunnelState = { state: 'disconnected' }; private settings: ISettings = { accountToken: undefined, allowLan: false, @@ -480,8 +480,8 @@ class ApplicationMain { private async subscribeEvents(): Promise<void> { const daemonEventListener = new SubscriptionListener( (daemonEvent: DaemonEvent) => { - if ('stateTransition' in daemonEvent) { - this.setTunnelState(daemonEvent.stateTransition); + if ('tunnelState' in daemonEvent) { + this.setTunnelState(daemonEvent.tunnelState); } else if ('settings' in daemonEvent) { this.setSettings(daemonEvent.settings); } else if ('relayList' in daemonEvent) { @@ -512,7 +512,7 @@ class ApplicationMain { } } - private setTunnelState(newState: TunnelStateTransition) { + private setTunnelState(newState: TunnelState) { this.tunnelState = newState; this.updateTrayIcon(newState, this.settings.blockWhenDisconnected); this.updateLocation(); @@ -760,10 +760,7 @@ class ApplicationMain { } } - private trayIconType( - tunnelState: TunnelStateTransition, - blockWhenDisconnected: boolean, - ): TrayIconType { + private trayIconType(tunnelState: TunnelState, blockWhenDisconnected: boolean): TrayIconType { switch (tunnelState.state) { case 'connected': return 'secured'; @@ -791,7 +788,7 @@ class ApplicationMain { } } - private updateTrayIcon(tunnelState: TunnelStateTransition, blockWhenDisconnected: boolean) { + private updateTrayIcon(tunnelState: TunnelState, blockWhenDisconnected: boolean) { const type = this.trayIconType(tunnelState, blockWhenDisconnected); if (this.trayIconController) { diff --git a/gui/src/main/notification-controller.ts b/gui/src/main/notification-controller.ts index a2e1e00a0b..771e788722 100644 --- a/gui/src/main/notification-controller.ts +++ b/gui/src/main/notification-controller.ts @@ -2,7 +2,7 @@ import { app, nativeImage, NativeImage, Notification, shell } from 'electron'; import path from 'path'; import { sprintf } from 'sprintf-js'; import config from '../config.json'; -import { TunnelStateTransition } from '../shared/daemon-rpc-types'; +import { TunnelState } from '../shared/daemon-rpc-types'; import { messages } from '../shared/gettext'; export default class NotificationController { @@ -22,7 +22,7 @@ export default class NotificationController { } } - public notifyTunnelState(tunnelState: TunnelStateTransition) { + public notifyTunnelState(tunnelState: TunnelState) { switch (tunnelState.state) { case 'connecting': if (!this.reconnecting) { diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx index ec7ba833e8..3d5a6eb0e5 100644 --- a/gui/src/renderer/app.tsx +++ b/gui/src/renderer/app.tsx @@ -38,7 +38,7 @@ import { ISettings, RelaySettings, RelaySettingsUpdate, - TunnelStateTransition, + TunnelState, } from '../shared/daemon-rpc-types'; type AccountVerification = { status: 'verified' } | { status: 'deferred'; error: Error }; @@ -70,7 +70,7 @@ export default class AppRenderer { ); private locale: string; - private tunnelState: TunnelStateTransition; + private tunnelState: TunnelState; private settings: ISettings; private guiSettings: IGuiSettingsState; private accountExpiry?: AccountExpiry; @@ -109,7 +109,7 @@ export default class AppRenderer { this.setAccountHistory(newAccountHistory); }); - IpcRendererEventChannel.tunnel.listen((newState: TunnelStateTransition) => { + IpcRendererEventChannel.tunnel.listen((newState: TunnelState) => { this.setTunnelState(newState); this.updateBlockedState(newState, this.settings.blockWhenDisconnected); @@ -461,7 +461,7 @@ export default class AppRenderer { this.reduxActions.account.updateAccountHistory(accountHistory); } - private setTunnelState(tunnelState: TunnelStateTransition) { + private setTunnelState(tunnelState: TunnelState) { const actions = this.reduxActions; log.debug(`Tunnel state: ${tunnelState.state}`); @@ -513,7 +513,7 @@ export default class AppRenderer { } } - private updateBlockedState(tunnelState: TunnelStateTransition, blockWhenDisconnected: boolean) { + private updateBlockedState(tunnelState: TunnelState, blockWhenDisconnected: boolean) { const actions = this.reduxActions.connection; switch (tunnelState.state) { case 'connecting': @@ -604,10 +604,7 @@ export default class AppRenderer { this.reduxActions.account.updateAccountExpiry(expiry); } - private detectStaleAccountExpiry( - tunnelState: TunnelStateTransition, - accountExpiry: AccountExpiry, - ) { + private detectStaleAccountExpiry(tunnelState: TunnelState, accountExpiry: AccountExpiry) { // It's likely that the account expiry is stale if the daemon managed to establish the tunnel. if (tunnelState.state === 'connected' && accountExpiry.hasExpired()) { log.info('Detected the stale account expiry.'); diff --git a/gui/src/renderer/components/NotificationArea.tsx b/gui/src/renderer/components/NotificationArea.tsx index 062bb45da7..e120e25895 100644 --- a/gui/src/renderer/components/NotificationArea.tsx +++ b/gui/src/renderer/components/NotificationArea.tsx @@ -14,7 +14,7 @@ import { NotificationTitle, } from './NotificationBanner'; -import { BlockReason, TunnelStateTransition } from '../../shared/daemon-rpc-types'; +import { BlockReason, TunnelState } from '../../shared/daemon-rpc-types'; import AccountExpiry from '../lib/account-expiry'; import { parseAuthFailure } from '../lib/auth-failure'; import { IVersionReduxState } from '../redux/version/reducers'; @@ -22,7 +22,7 @@ import { IVersionReduxState } from '../redux/version/reducers'; interface IProps { style?: Types.ViewStyleRuleSet; accountExpiry?: AccountExpiry; - tunnelState: TunnelStateTransition; + tunnelState: TunnelState; version: IVersionReduxState; openExternalLink: (url: string) => void; blockWhenDisconnected: boolean; diff --git a/gui/src/renderer/components/TunnelControl.tsx b/gui/src/renderer/components/TunnelControl.tsx index ffb7ac2479..a03332194e 100644 --- a/gui/src/renderer/components/TunnelControl.tsx +++ b/gui/src/renderer/components/TunnelControl.tsx @@ -1,14 +1,14 @@ import * as React from 'react'; import { Component, Styles, Text, Types, View } from 'reactxp'; import { colors } from '../../config.json'; -import { TunnelStateTransition } from '../../shared/daemon-rpc-types'; +import { TunnelState } from '../../shared/daemon-rpc-types'; import { cities, countries, messages, relayLocations } from '../../shared/gettext'; import ConnectionPanelContainer from '../containers/ConnectionPanelContainer'; import * as AppButton from './AppButton'; import SecuredLabel, { SecuredDisplayStyle } from './SecuredLabel'; interface ITunnelControlProps { - tunnelState: TunnelStateTransition; + tunnelState: TunnelState; selectedRelayName: string; city?: string; country?: string; diff --git a/gui/src/renderer/redux/connection/reducers.ts b/gui/src/renderer/redux/connection/reducers.ts index 2719f3d3db..8b971cb7cc 100644 --- a/gui/src/renderer/redux/connection/reducers.ts +++ b/gui/src/renderer/redux/connection/reducers.ts @@ -1,8 +1,8 @@ -import { Ip, TunnelStateTransition } from '../../../shared/daemon-rpc-types'; +import { Ip, TunnelState } from '../../../shared/daemon-rpc-types'; import { ReduxAction } from '../store'; export interface IConnectionReduxState { - status: TunnelStateTransition; + status: TunnelState; isBlocked: boolean; ipv4?: Ip; ipv6?: Ip; diff --git a/gui/src/shared/daemon-rpc-types.ts b/gui/src/shared/daemon-rpc-types.ts index 4c1815870f..62d765c0b0 100644 --- a/gui/src/shared/daemon-rpc-types.ts +++ b/gui/src/shared/daemon-rpc-types.ts @@ -70,12 +70,12 @@ export interface IProxyEndpoint { } export type DaemonEvent = - | { stateTransition: TunnelStateTransition } + | { stateTransition: TunnelState } | { settings: ISettings } | { relayList: IRelayList } | { wireguardKey: KeygenEvent }; -export type TunnelStateTransition = +export type TunnelState = | { state: 'disconnected' } | { state: 'connecting'; details?: ITunnelEndpoint } | { state: 'connected'; details: ITunnelEndpoint } diff --git a/gui/src/shared/ipc-event-channel.ts b/gui/src/shared/ipc-event-channel.ts index b6292b554a..207e509779 100644 --- a/gui/src/shared/ipc-event-channel.ts +++ b/gui/src/shared/ipc-event-channel.ts @@ -13,7 +13,7 @@ import { IRelayList, ISettings, RelaySettingsUpdate, - TunnelStateTransition, + TunnelState, } from './daemon-rpc-types'; export interface IAppStateSnapshot { @@ -21,7 +21,7 @@ export interface IAppStateSnapshot { isConnected: boolean; autoStart: boolean; accountHistory: AccountToken[]; - tunnelState: TunnelStateTransition; + tunnelState: TunnelState; settings: ISettings; location?: ILocation; relays: IRelayList; @@ -42,12 +42,12 @@ interface IReceiver<T> { listen(fn: (value: T) => void): void; } -interface ITunnelMethods extends IReceiver<TunnelStateTransition> { +interface ITunnelMethods extends IReceiver<TunnelState> { connect(): Promise<void>; disconnect(): Promise<void>; } -interface ITunnelHandlers extends ISender<TunnelStateTransition> { +interface ITunnelHandlers extends ISender<TunnelState> { handleConnect(fn: () => Promise<void>): void; handleDisconnect(fn: () => Promise<void>): void; } |
