Browse Source

Fix admin diagnostics crash (#5886)

Better handle semver issues.
Fixes #5882
Fixes #5883
Fixes #5885

Signed-off-by: BlackDex <[email protected]>
Mathijs van Veluw 4 tháng trước cách đây
mục cha
commit
53f58b14d5
1 tập tin đã thay đổi với 8 bổ sung4 xóa
  1. 8 4
      src/api/admin.rs

+ 8 - 4
src/api/admin.rs

@@ -698,10 +698,14 @@ async fn diagnostics(_token: AdminToken, ip_header: IpHeader, mut conn: DbConn)
     let web_vault_version = get_web_vault_version();
 
     // Check if the running version is newer than the latest stable released version
-    let web_ver_match = semver::VersionReq::parse(&format!(">{latest_web_build}")).unwrap();
-    let web_vault_pre_release = web_ver_match.matches(
-        &semver::Version::parse(&web_vault_version).unwrap_or_else(|_| semver::Version::parse("2025.1.1").unwrap()),
-    );
+    let web_vault_pre_release = if let Ok(web_ver_match) = semver::VersionReq::parse(&format!(">{latest_web_build}")) {
+        web_ver_match.matches(
+            &semver::Version::parse(&web_vault_version).unwrap_or_else(|_| semver::Version::parse("2025.1.1").unwrap()),
+        )
+    } else {
+        error!("Unable to parse latest_web_build: '{latest_web_build}'");
+        false
+    };
 
     let diagnostics_json = json!({
         "dns_resolved": dns_resolved,