@@ -14,6 +14,7 @@ use crate::main_ui::RepakModManager;
1414use eframe:: egui:: { self , IconData } ;
1515use log:: { debug, info, LevelFilter } ;
1616use retoc:: { action_unpack, ActionUnpack , FGuid } ;
17+ use semver:: Version ;
1718use simplelog:: { ColorChoice , CombinedLogger , Config , TermLogger , TerminalMode , WriteLogger } ;
1819use std:: cell:: LazyCell ;
1920use std:: collections:: HashMap ;
@@ -122,31 +123,34 @@ pub fn fetch_mesh_list_in_bg(
122123 } )
123124}
124125
125- #[ derive( Deserialize ) ]
126+ #[ derive( serde :: Deserialize ) ]
126127struct GithubRelease {
127128 tag_name : String ,
128129}
129130
130131pub fn check_repak_rivals_version ( current_version : & str ) {
131- let client = Client :: new ( ) ;
132-
133- let release: GithubRelease = client
134- . get ( "https://api.github.com/repos/natimerry/repak-rivals/releases/latest" )
135- . header ( "User-Agent" , "repak-rivals-version-check" )
136- . send ( )
137- . expect ( "failed to query GitHub API" )
138- . error_for_status ( )
139- . expect ( "GitHub API returned error" )
140- . json ( )
141- . expect ( "failed to parse GitHub response" ) ;
132+ let client = reqwest:: blocking:: Client :: new ( ) ;
133+
134+ let release: GithubRelease = serde_json:: from_str (
135+ & client
136+ . get ( "https://api.github.com/repos/natimerry/repak-rivals/releases/latest" )
137+ . header ( "User-Agent" , "repak-rivals-version-check" )
138+ . send ( )
139+ . expect ( "failed to query GitHub API" )
140+ . error_for_status ( )
141+ . expect ( "GitHub API returned error" )
142+ . text ( )
143+ . expect ( "failed to parse GitHub response" ) ,
144+ )
145+ . expect ( "Failed to get release data" ) ;
142146
143147 // Strip leading 'v' if present (common GitHub tagging style)
144148 let latest = release. tag_name . trim_start_matches ( 'v' ) ;
145149
146150 let latest_version = Version :: parse ( latest) . expect ( "invalid latest version format" ) ;
147151 let current_version = Version :: parse ( current_version) . expect ( "invalid current version format" ) ;
148152
149- if current_version < latest_version {
153+ if current_version <= latest_version {
150154 panic ! (
151155 "repak-rivals is outdated: current={}, latest={}" ,
152156 current_version, latest_version
@@ -155,6 +159,7 @@ pub fn check_repak_rivals_version(current_version: &str) {
155159}
156160
157161fn main ( ) {
162+ #[ cfg( not( debug_assertions) ) ]
158163 check_repak_rivals_version ( env ! ( "CARGO_PKG_VERSION" ) ) ;
159164
160165 #[ cfg( target_os = "windows" ) ]
0 commit comments