diff options
| author | Oskar <oskar@mullvad.net> | 2024-08-13 17:21:05 +0200 |
|---|---|---|
| committer | Oskar <oskar@mullvad.net> | 2024-08-21 17:05:50 +0200 |
| commit | e2167ef3c42006db2b0b5ba041f1199d0d3f306d (patch) | |
| tree | 81b8941c12880af51faaab0be8933a9e7b53cd49 /gui/src/renderer | |
| parent | b26659e05b50c3a1b0499620f683748287707769 (diff) | |
| download | mullvadvpn-e2167ef3c42006db2b0b5ba041f1199d0d3f306d.tar.xz mullvadvpn-e2167ef3c42006db2b0b5ba041f1199d0d3f306d.zip | |
Add feature indicator plumbing
Diffstat (limited to 'gui/src/renderer')
| -rw-r--r-- | gui/src/renderer/app.tsx | 4 | ||||
| -rw-r--r-- | gui/src/renderer/redux/connection/actions.ts | 21 | ||||
| -rw-r--r-- | gui/src/renderer/redux/connection/reducers.ts | 12 |
3 files changed, 28 insertions, 9 deletions
diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx index e0655707c2..a4c76aa2d1 100644 --- a/gui/src/renderer/app.tsx +++ b/gui/src/renderer/app.tsx @@ -783,11 +783,11 @@ export default class AppRenderer { batch(() => { switch (tunnelState.state) { case 'connecting': - actions.connection.connecting(tunnelState.details); + actions.connection.connecting(tunnelState.details, tunnelState.featureIndicators); break; case 'connected': - actions.connection.connected(tunnelState.details); + actions.connection.connected(tunnelState.details, tunnelState.featureIndicators); break; case 'disconnecting': diff --git a/gui/src/renderer/redux/connection/actions.ts b/gui/src/renderer/redux/connection/actions.ts index 35af568fb2..8a3f98efe5 100644 --- a/gui/src/renderer/redux/connection/actions.ts +++ b/gui/src/renderer/redux/connection/actions.ts @@ -1,6 +1,7 @@ import { AfterDisconnect, - ErrorState, + ErrorStateDetails, + FeatureIndicator, ILocation, ITunnelStateRelayInfo, } from '../../../shared/daemon-rpc-types'; @@ -8,11 +9,13 @@ import { interface IConnectingAction { type: 'CONNECTING'; details?: ITunnelStateRelayInfo; + featureIndicators?: Array<FeatureIndicator>; } interface IConnectedAction { type: 'CONNECTED'; details: ITunnelStateRelayInfo; + featureIndicators?: Array<FeatureIndicator>; } interface IDisconnectedAction { @@ -26,7 +29,7 @@ interface IDisconnectingAction { interface IBlockedAction { type: 'TUNNEL_ERROR'; - errorState: ErrorState; + errorState: ErrorStateDetails; } interface INewLocationAction { @@ -48,17 +51,25 @@ export type ConnectionAction = | IBlockedAction | IUpdateBlockStateAction; -function connecting(details?: ITunnelStateRelayInfo): IConnectingAction { +function connecting( + details?: ITunnelStateRelayInfo, + featureIndicators?: Array<FeatureIndicator>, +): IConnectingAction { return { type: 'CONNECTING', details, + featureIndicators, }; } -function connected(details: ITunnelStateRelayInfo): IConnectedAction { +function connected( + details: ITunnelStateRelayInfo, + featureIndicators?: Array<FeatureIndicator>, +): IConnectedAction { return { type: 'CONNECTED', details, + featureIndicators, }; } @@ -75,7 +86,7 @@ function disconnecting(afterDisconnect: AfterDisconnect): IDisconnectingAction { }; } -function blocked(errorState: ErrorState): IBlockedAction { +function blocked(errorState: ErrorStateDetails): IBlockedAction { return { type: 'TUNNEL_ERROR', errorState, diff --git a/gui/src/renderer/redux/connection/reducers.ts b/gui/src/renderer/redux/connection/reducers.ts index ffb0fd1d84..b597d29a64 100644 --- a/gui/src/renderer/redux/connection/reducers.ts +++ b/gui/src/renderer/redux/connection/reducers.ts @@ -54,13 +54,21 @@ export default function ( case 'CONNECTING': return { ...state, - status: { state: 'connecting', details: action.details }, + status: { + state: 'connecting', + details: action.details, + featureIndicators: action.featureIndicators, + }, }; case 'CONNECTED': return { ...state, - status: { state: 'connected', details: action.details }, + status: { + state: 'connected', + details: action.details, + featureIndicators: action.featureIndicators, + }, }; case 'DISCONNECTED': |
