From 99920002511676f55b8a45e51b5c735f50db4bd6 Mon Sep 17 00:00:00 2001 From: Jan Date: Thu, 20 Jul 2023 14:02:46 +0200 Subject: [PATCH] feat: Compare Flightcore versions as semver (#423) development versions are checked with: current_version < newest_version release versions are checked with: current_version != newest_version --- src-tauri/src/github/release_notes.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src-tauri/src/github/release_notes.rs b/src-tauri/src/github/release_notes.rs index 6db5b6175..16b651839 100644 --- a/src-tauri/src/github/release_notes.rs +++ b/src-tauri/src/github/release_notes.rs @@ -58,14 +58,17 @@ pub async fn get_newest_flightcore_version() -> Result Result { let newest_flightcore_release = get_newest_flightcore_version().await?; + // Parse version number excluding leading `v` + let newest_version = semver::Version::parse(&newest_flightcore_release.tag_name[1..]).unwrap(); - // Get version of installed FlightCore... - let version = env!("CARGO_PKG_VERSION"); - // ...and format it - let version = format!("v{}", version); + // Get version of installed FlightCore + let current_version = env!("CARGO_PKG_VERSION"); + let current_version = semver::Version::parse(current_version).unwrap(); - // TODO: This shouldn't be a string compare but promper semver compare - let is_outdated = version != newest_flightcore_release.tag_name; + #[cfg(debug_assertions)] + let is_outdated = current_version < newest_version; + #[cfg(not(debug_assertions))] + let is_outdated = current_version != newest_version; // If outdated, check how new the update is if is_outdated {