diff --git a/Cargo.lock b/Cargo.lock index e0e41dc..a41b005 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -301,35 +301,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "cookie" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" -dependencies = [ - "percent-encoding", - "time", - "version_check", -] - -[[package]] -name = "cookie_store" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fc4bff745c9b4c7fb1e97b25d13153da2bc7796260141df62378998d070207f" -dependencies = [ - "cookie", - "document-features", - "idna", - "indexmap", - "log", - "serde", - "serde_derive", - "serde_json", - "time", - "url", -] - [[package]] name = "core-foundation" version = "0.9.4" @@ -413,15 +384,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" -[[package]] -name = "deranged" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" -dependencies = [ - "powerfmt", -] - [[package]] name = "dispatch" version = "0.2.0" @@ -727,12 +689,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "foreign-types" version = "0.5.0" @@ -779,17 +735,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "getrandom" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.11.1+wasi-snapshot-preview1", -] - [[package]] name = "getrandom" version = "0.3.3" @@ -799,7 +744,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.3+wasi-0.2.4", + "wasi", ] [[package]] @@ -888,13 +833,11 @@ dependencies = [ "egui_extras", "image", "open", - "semver", "serde", "serde_json", "static_vcruntime", "strum", "sysinfo", - "ureq", "windows 0.62.0", "winreg", "winresource", @@ -928,23 +871,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" -[[package]] -name = "http" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - [[package]] name = "iana-time-zone" version = "0.1.63" @@ -1159,7 +1085,7 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom 0.3.3", + "getrandom", "libc", ] @@ -1346,12 +1272,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-traits" version = "0.2.19" @@ -1821,12 +1741,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "proc-macro-crate" version = "3.3.0" @@ -1937,20 +1851,6 @@ dependencies = [ "bytemuck", ] -[[package]] -name = "ring" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.16", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - [[package]] name = "roxmltree" version = "0.20.0" @@ -1983,50 +1883,6 @@ dependencies = [ "windows-sys 0.60.2", ] -[[package]] -name = "rustls" -version = "0.23.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" -dependencies = [ - "log", - "once_cell", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" -dependencies = [ - "zeroize", -] - -[[package]] -name = "rustls-webpki" -version = "0.103.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - [[package]] name = "rustversion" version = "1.0.22" @@ -2060,12 +1916,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "semver" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" - [[package]] name = "serde" version = "1.0.219" @@ -2248,12 +2098,6 @@ dependencies = [ "syn", ] -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - [[package]] name = "svgtypes" version = "0.15.3" @@ -2334,36 +2178,6 @@ dependencies = [ "zune-jpeg", ] -[[package]] -name = "time" -version = "0.3.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" - -[[package]] -name = "time-macros" -version = "0.2.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" -dependencies = [ - "num-conv", - "time-core", -] - [[package]] name = "tiny-skia" version = "0.11.4" @@ -2475,45 +2289,6 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "ureq" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00432f493971db5d8e47a65aeb3b02f8226b9b11f1450ff86bb772776ebadd70" -dependencies = [ - "base64", - "cookie_store", - "flate2", - "log", - "percent-encoding", - "rustls", - "rustls-pemfile", - "rustls-pki-types", - "serde", - "serde_json", - "ureq-proto", - "utf-8", - "webpki-roots", -] - -[[package]] -name = "ureq-proto" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe120bb823a0061680e66e9075942fcdba06d46551548c2c259766b9558bc9a" -dependencies = [ - "base64", - "http", - "httparse", - "log", -] - [[package]] name = "url" version = "2.5.7" @@ -2548,12 +2323,6 @@ dependencies = [ "xmlwriter", ] -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -2576,12 +2345,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "wasi" -version = "0.11.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - [[package]] name = "wasi" version = "0.14.3+wasi-0.2.4" @@ -2795,15 +2558,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "webpki-roots" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "weezl" version = "0.1.10" @@ -3463,12 +3217,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - [[package]] name = "zerotrie" version = "0.2.2" diff --git a/Cargo.toml b/Cargo.toml index 10f26d1..a4c9024 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,12 +18,10 @@ egui_extras = { version = "0.32.2", default-features = false, features = [ ] } image = { version = "0.25.8", default-features = false, features = ["png"] } open = "5.3.2" -semver = "1.0.26" serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.143" strum = { version = "0.27.2", features = ["derive"] } sysinfo = "0.37.0" -ureq = { version = "3.1.0", features = ["json"] } windows = { version = "0.62.0", features = [ "Win32_NetworkManagement_WindowsFirewall", "Win32_Security", diff --git a/src/gui/app.rs b/src/gui/app.rs index 2be89cb..34d52c3 100644 --- a/src/gui/app.rs +++ b/src/gui/app.rs @@ -1,7 +1,7 @@ use crate::{ features, gui::{colours, settings::Settings, tools, ui_ext::UiExt}, - util::{consts::game::WINDOW_TITLE, meta::Meta, persistent_state::PersistentState, win}, + util::{consts::game::WINDOW_TITLE, persistent_state::PersistentState, win}, }; use eframe::egui; use std::time::{Duration, Instant}; @@ -36,7 +36,6 @@ impl Default for Flags { #[derive(Debug, Default)] pub struct App { - pub meta: Meta, pub settings: Settings, stage: Stage, pub flags: Flags, @@ -232,21 +231,9 @@ impl App { ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| { ui.label(format!( "v{} {}", - self.meta.current_version, + env!("CARGO_PKG_VERSION"), if cfg!(debug_assertions) { "(dev)" } else { "" } )); - let button = ui.add_enabled_ui(self.meta.newer_version_available, |ui| { - ui.style_mut().spacing.button_padding = egui::Vec2::new(3.0, 0.0); - ui.button("⬇") - .on_disabled_hover_text("Already up to date.") - .on_hover_text(format!( - "New version available! ({})", - self.meta.latest_release.version - )) - }); - if button.inner.clicked() { - open::that(&self.meta.latest_release.download_url).unwrap(); - } }); }); ui.add(egui::Image::new(egui::include_image!( diff --git a/src/gui/debug.rs b/src/gui/debug.rs index 5d549fe..92bc4b5 100644 --- a/src/gui/debug.rs +++ b/src/gui/debug.rs @@ -17,11 +17,6 @@ impl App { if ui.button("open storage path").clicked() { open::that_detached(path::APP_STORAGE.as_path()).unwrap(); } - ui.checkbox( - &mut self.meta.newer_version_available, - "spoof new version available", - ) - .on_hover_text("(this could already be checked if\nthere actually IS a new version)"); ui.scope(|ui| { use windows::Win32::UI::WindowsAndMessaging::{ GetForegroundWindow, GetWindowTextW, @@ -42,10 +37,7 @@ impl App { ui.build_menu(&mut self.game_networking.blocked_status); }); }); - if ui - .add(egui::Button::new("force refresh theme")) - .clicked() - { + if ui.add(egui::Button::new("force refresh theme")).clicked() { catppuccin_egui::set_theme(ui.ctx(), self.settings.theme.into()); } }); diff --git a/src/util.rs b/src/util.rs index 9c2bb50..547cb56 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,7 +1,5 @@ -mod codeberg; pub mod consts; pub mod countdown; pub mod log; -pub mod meta; pub mod persistent_state; pub mod win; diff --git a/src/util/codeberg.rs b/src/util/codeberg.rs deleted file mode 100644 index 585da62..0000000 --- a/src/util/codeberg.rs +++ /dev/null @@ -1,50 +0,0 @@ -use semver::Version; -use serde::Deserialize; -use std::time::Duration; - -const APP_USER_AGENT: &str = concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VERSION")); -const CODEBERG_ENDPOINT_ROOT: &str = "https://codeberg.org/api/v1"; - -#[derive(Debug)] -pub struct Release { - pub version: Version, - pub download_url: String, -} - -impl Default for Release { - fn default() -> Self { - Self { - version: Version::new(0, 0, 0), - download_url: String::new(), - } - } -} - -#[derive(Deserialize)] -struct LatestRelease { - tag_name: String, - assets: Vec, -} - -#[derive(Deserialize)] -struct Asset { - browser_download_url: String, -} - -pub fn get_latest_release() -> Result> { - let request_url = format!("{CODEBERG_ENDPOINT_ROOT}/repos/futile/gta-tools/releases/latest"); - let mut response = ureq::get(request_url) - .config() - .timeout_global(Some(Duration::from_secs(10))) - .user_agent(APP_USER_AGENT) - .build() - .call()?; - let body = response.body_mut(); - let json = body.read_json::()?; - let tag_name = json.tag_name; - let browser_download_url = &json.assets[0].browser_download_url; - Ok(Release { - version: Version::parse(&tag_name)?, - download_url: browser_download_url.to_owned(), - }) -} diff --git a/src/util/meta.rs b/src/util/meta.rs deleted file mode 100644 index c3d4f28..0000000 --- a/src/util/meta.rs +++ /dev/null @@ -1,29 +0,0 @@ -use crate::{util::codeberg, util::log}; -use semver::Version; - -#[derive(Debug)] -pub struct Meta { - pub current_version: Version, - pub latest_release: codeberg::Release, - pub newer_version_available: bool, -} - -impl Default for Meta { - fn default() -> Self { - let current_version = Version::parse(env!("CARGO_PKG_VERSION")).unwrap(); - let latest_release = codeberg::get_latest_release().unwrap_or_else(|why| { - let message = format!("failed to get latest codeberg release:\n{why}"); - log::log(log::LogLevel::Error, &message); - codeberg::Release::default() - }); - let newer_version_available = matches!( - ¤t_version.cmp_precedence(&latest_release.version), - std::cmp::Ordering::Less - ); - Self { - current_version, - latest_release, - newer_version_available, - } - } -}