diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-11-12 16:23:15 +0100 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2022-03-14 13:58:44 +0100 |
| commit | a4a064bdbadaa3c77a63b2deac06d2948246e808 (patch) | |
| tree | 3c164926885b74f2318d4d0daf3f135741c56d68 /gui/src/main | |
| parent | 61cacab42463bd0913905c31e5da4a69a4c359c7 (diff) | |
| download | mullvadvpn-a4a064bdbadaa3c77a63b2deac06d2948246e808.tar.xz mullvadvpn-a4a064bdbadaa3c77a63b2deac06d2948246e808.zip | |
Switch to using device removal daemon event for device list updates
Diffstat (limited to 'gui/src/main')
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 10 | ||||
| -rw-r--r-- | gui/src/main/index.ts | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index cae04be5ad..8eace70f8b 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -1155,11 +1155,17 @@ function convertFromDaemonEvent(data: grpcTypes.DaemonEvent): DaemonEvent { return { deviceConfig: convertFromDeviceEvent(deviceConfig) }; } + const deviceRemoval = data.getRemoveDevice(); + if (deviceRemoval !== undefined) { + return { deviceRemoval: convertFromDeviceRemoval(deviceRemoval) }; + } + const versionInfo = data.getVersionInfo(); if (versionInfo !== undefined) { return { appVersionInfo: versionInfo.toObject() }; } + // Handle unknown daemon events const keys = Object.entries(data.toObject()) .filter(([, value]) => value !== undefined) .map(([key]) => key); @@ -1374,6 +1380,10 @@ function convertFromDeviceConfig(deviceConfig?: grpcTypes.DeviceConfig): DeviceC ); } +function convertFromDeviceRemoval(deviceRemoval: grpcTypes.RemoveDeviceEvent): Array<IDevice> { + return deviceRemoval.getNewDeviceListList().map((device) => device.toObject()); +} + function ensureExists<T>(value: T | undefined, errorMessage: string): T { if (value) { return value; diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts index c41a8fd804..d2264242cc 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -781,6 +781,13 @@ class ApplicationMain { this.setLatestVersion(daemonEvent.appVersionInfo); } else if ('deviceConfig' in daemonEvent) { this.setDeviceConfig(daemonEvent.deviceConfig); + } else if ('deviceRemoval' in daemonEvent) { + if (this.windowController) { + IpcMainEventChannel.account.notifyDevices( + this.windowController.webContents, + daemonEvent.deviceRemoval, + ); + } } }, (error: Error) => { |
