summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-04-03 21:18:57 +0200
committerSebastian Holmin <sebastian.holmin@mullvad.net>2025-05-28 13:25:24 +0200
commit979c6436fdbbbaee6e2511a13301e9fbf857ec4f (patch)
treea1f8d59d5e9a60c57f3dd2c4d21739f91b0e4f7a
parent5a181cfd8a9ebe56acad5a56c0be77e2bf005af7 (diff)
downloadmullvadvpn-979c6436fdbbbaee6e2511a13301e9fbf857ec4f.tar.xz
mullvadvpn-979c6436fdbbbaee6e2511a13301e9fbf857ec4f.zip
Add converter for gRPC to IAppVersionInfo
We want to parse the changelog for the new version in the same way we do it for the changelog we bundle with each release.
-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) {