From 5113f503d140c1edd8670d03d44bcb79fb1a9518 Mon Sep 17 00:00:00 2001 From: crueter Date: Sun, 1 Feb 2026 20:38:02 +0100 Subject: [frontend] Fix nightly update checker (#3444) Splitting Signed-off-by: crueter Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3444 --- src/frontend_common/update_checker.cpp | 46 ++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) (limited to 'src/frontend_common/update_checker.cpp') diff --git a/src/frontend_common/update_checker.cpp b/src/frontend_common/update_checker.cpp index 53f3ca942d..1d7c8a4492 100644 --- a/src/frontend_common/update_checker.cpp +++ b/src/frontend_common/update_checker.cpp @@ -5,10 +5,13 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include "update_checker.h" +#include +#include + +#include #include "common/logging/log.h" #include "common/scm_rev.h" -#include +#include "update_checker.h" #include @@ -137,3 +140,42 @@ std::optional UpdateChecker::GetLatestRelease(bool includ return {}; } } + +std::optional UpdateChecker::GetUpdate() { + const bool is_prerelease = ((strstr(Common::g_build_version, "pre-alpha") != NULL) || + (strstr(Common::g_build_version, "alpha") != NULL) || + (strstr(Common::g_build_version, "beta") != NULL) || + (strstr(Common::g_build_version, "rc") != NULL)); + const std::optional latest_release_tag = + UpdateChecker::GetLatestRelease(is_prerelease); + + if (!latest_release_tag) + goto empty; + + { + std::string tag, build; + if (Common::g_is_nightly_build) { + std::vector result; + + boost::split(result, latest_release_tag->tag, boost::is_any_of(".")); + if (result.size() != 2) + goto empty; + tag = result[1]; + + boost::split(result, std::string{Common::g_build_version}, boost::is_any_of("-")); + if (result.empty()) + goto empty; + build = result[0]; + } else { + tag = latest_release_tag->tag; + build = Common::g_build_version; + } + + if (tag != build) + return latest_release_tag.value(); + } + +empty: + return UpdateChecker::Update{}; + +} -- cgit v1.2.3