diff options
| -rw-r--r-- | desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts b/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts index 238174d08e..5ad3a14e6f 100644 --- a/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts +++ b/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts @@ -27,6 +27,7 @@ import { FeatureIndicator, FirewallPolicyError, FirewallPolicyErrorType, + IAppVersionInfo, IBridgeConstraints, ICustomList, IDevice, @@ -62,6 +63,7 @@ import { TunnelType, wrapConstraint, } from '../shared/daemon-rpc-types'; +import { parseChangelog } from './changelog'; export class ResponseParseError extends Error { constructor(message: string) { @@ -774,6 +776,23 @@ export function convertFromAppUpgradeEvent(data: grpcTypes.AppUpgradeEvent): Dae throw new Error(`Unknown app upgrade event received containing ${keys}`); } +export function convertFromAppVersionInfo(data: grpcTypes.AppVersionInfo): IAppVersionInfo { + const { suggestedUpgrade, ...appVersionInfo } = data.toObject(); + const changelog = suggestedUpgrade?.changelog ? parseChangelog(suggestedUpgrade?.changelog) : []; + + if (suggestedUpgrade) { + return { + ...appVersionInfo, + suggestedUpgrade: { + ...suggestedUpgrade, + changelog, + }, + }; + } + + return appVersionInfo; +} + export function convertFromDaemonEvent(data: grpcTypes.DaemonEvent): DaemonEvent { const tunnelState = data.getTunnelState(); if (tunnelState !== undefined) { |
