summaryrefslogtreecommitdiffhomepage
path: root/mullvad-management-interface/src
diff options
context:
space:
mode:
authorSebastian Holmin <sebastian.holmin@mullvad.net>2025-04-09 13:47:36 +0200
committerSebastian Holmin <sebastian.holmin@mullvad.net>2025-05-28 13:25:27 +0200
commit23e7acba0f8afd4d238df067c836ae649fa80b84 (patch)
treebd658b140a9f27066d1d7ae6788d84c3f4af2eef /mullvad-management-interface/src
parentc525c77d54f5c449f872094a804d77b7e85bfc55 (diff)
downloadmullvadvpn-23e7acba0f8afd4d238df067c836ae649fa80b84.tar.xz
mullvadvpn-23e7acba0f8afd4d238df067c836ae649fa80b84.zip
Add in app upgrades to the daemon
--------- Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
Diffstat (limited to 'mullvad-management-interface/src')
-rw-r--r--mullvad-management-interface/src/types/conversions/version.rs20
1 files changed, 11 insertions, 9 deletions
diff --git a/mullvad-management-interface/src/types/conversions/version.rs b/mullvad-management-interface/src/types/conversions/version.rs
index 3c66941f3e..381dbbc0df 100644
--- a/mullvad-management-interface/src/types/conversions/version.rs
+++ b/mullvad-management-interface/src/types/conversions/version.rs
@@ -121,12 +121,15 @@ impl TryFrom<proto::AppUpgradeEvent> for AppUpgradeEvent {
impl From<AppUpgradeDownloadProgress> for proto::AppUpgradeDownloadProgress {
fn from(value: AppUpgradeDownloadProgress) -> Self {
// From the docs: Converts a std::time::Duration to a Duration, failing if the duration is too large.
- let time_left = prost_types::Duration::try_from(value.time_left)
- .expect("Failed to convert duration to protobuf");
+ let time_left = value
+ .time_left
+ .map(prost_types::Duration::try_from)
+ .transpose()
+ .expect("Failed to convert duration to protobuf, duration is too large");
proto::AppUpgradeDownloadProgress {
server: value.server,
progress: value.progress,
- time_left: Some(time_left),
+ time_left,
}
}
}
@@ -135,14 +138,13 @@ impl TryFrom<proto::AppUpgradeDownloadProgress> for AppUpgradeDownloadProgress {
type Error = FromProtobufTypeError;
fn try_from(value: proto::AppUpgradeDownloadProgress) -> Result<Self, Self::Error> {
- let Some(time_left) = value.time_left else {
- return Err(FromProtobufTypeError::InvalidArgument(
- "Non-existent AppUpgradeDownloadProgress::time_left",
- ));
- };
// From the docs: Converts a Duration to a std::time::Duration, failing if the duration is negative.
- let time_left = std::time::Duration::try_from(time_left)
+ let time_left = value
+ .time_left
+ .map(std::time::Duration::try_from)
+ .transpose()
.expect("Failed to convert duration to std::time::Duration");
+
let progress = AppUpgradeDownloadProgress {
server: value.server,
progress: value.progress,