diff --git a/core/src/db/model/public.rs b/core/src/db/model/public.rs index 6f108f894..5e87ccff0 100644 --- a/core/src/db/model/public.rs +++ b/core/src/db/model/public.rs @@ -220,7 +220,7 @@ pub struct ServerInfo { pub keyboard: Option, } -#[derive(Debug, Clone, Deserialize, Serialize, TS)] +#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize, TS)] #[serde(rename_all = "lowercase")] #[ts(export)] pub enum RestartReason { diff --git a/core/src/update/mod.rs b/core/src/update/mod.rs index 2fd6b90c6..51cdd4e7c 100644 --- a/core/src/update/mod.rs +++ b/core/src/update/mod.rs @@ -84,7 +84,7 @@ pub async fn update_system( .into_status_info() .into_restart() .de()? - .is_some() + == Some(RestartReason::Update) { return Err(Error::new( eyre!("{}", t!("update.already-updated-restart-required")), @@ -343,7 +343,10 @@ async fn maybe_do_update( .as_status_info_mut() .as_update_progress_mut() .ser(&None)?; - server_info.as_status_info_mut().as_restart_mut().ser(&Some(RestartReason::Update)) + server_info + .as_status_info_mut() + .as_restart_mut() + .ser(&Some(RestartReason::Update)) }) .await .result?;