summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts19
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) {