diff options
| author | Sebastian Holmin <sebastian.holmin@mullvad.net> | 2025-04-09 13:47:36 +0200 |
|---|---|---|
| committer | Sebastian Holmin <sebastian.holmin@mullvad.net> | 2025-05-28 13:25:27 +0200 |
| commit | 23e7acba0f8afd4d238df067c836ae649fa80b84 (patch) | |
| tree | bd658b140a9f27066d1d7ae6788d84c3f4af2eef /mullvad-management-interface/src | |
| parent | c525c77d54f5c449f872094a804d77b7e85bfc55 (diff) | |
| download | mullvadvpn-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.rs | 20 |
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, |
