random small fixes

This commit is contained in:
2025-09-05 13:24:16 +01:00
parent 81b4b26f96
commit a9a965462a
5 changed files with 16 additions and 17 deletions
+2 -6
View File
@@ -1,10 +1,6 @@
use crate::{ use crate::{
features, features,
gui::{ gui::{settings::Settings, tools, ui_ext::UiExt},
settings::{Settings, Theme},
tools,
ui_ext::UiExt,
},
util::{consts::game::WINDOW_TITLE, meta::Meta, persistent_state::PersistentState, win}, util::{consts::game::WINDOW_TITLE, meta::Meta, persistent_state::PersistentState, win},
}; };
use eframe::egui; use eframe::egui;
@@ -217,7 +213,7 @@ impl App {
ui.label("with "); ui.label("with ");
ui.hyperlink_to("", "https://codeberg.org/futile/gta-tools"); ui.hyperlink_to("", "https://codeberg.org/futile/gta-tools");
ui.label(" from "); ui.label(" from ");
ui.hyperlink_to("futile", "http://futile.eu"); ui.hyperlink_to("futile", "https://futile.eu");
}); });
ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| { ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| {
ui.label(format!( ui.label(format!(
+1 -1
View File
@@ -10,7 +10,7 @@ use eframe::egui;
fn panic_hook(panic_info: &std::panic::PanicHookInfo<'_>) { fn panic_hook(panic_info: &std::panic::PanicHookInfo<'_>) {
let backtrace = std::backtrace::Backtrace::capture(); let backtrace = std::backtrace::Backtrace::capture();
let message = format!("{panic_info}\nstack backtrace:\n{backtrace}\n"); let message = format!("{panic_info}\nstack backtrace:\n{backtrace}\n");
log::log(log::LogLevel::Panic, message); log::log(log::LogLevel::Panic, &message);
} }
fn app_creator( fn app_creator(
+7 -1
View File
@@ -1,5 +1,6 @@
use semver::Version; use semver::Version;
use serde::Deserialize; use serde::Deserialize;
use std::time::Duration;
const APP_USER_AGENT: &str = concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VERSION")); const APP_USER_AGENT: &str = concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VERSION"));
const CODEBERG_ENDPOINT_ROOT: &str = "https://codeberg.org/api/v1"; const CODEBERG_ENDPOINT_ROOT: &str = "https://codeberg.org/api/v1";
@@ -32,7 +33,12 @@ struct Asset {
pub fn get_latest_release() -> Result<Release, Box<dyn std::error::Error>> { pub fn get_latest_release() -> Result<Release, Box<dyn std::error::Error>> {
let request_url = format!("{CODEBERG_ENDPOINT_ROOT}/repos/futile/gta-tools/releases/latest"); let request_url = format!("{CODEBERG_ENDPOINT_ROOT}/repos/futile/gta-tools/releases/latest");
let mut response = ureq::get(request_url).header("User-Agent", APP_USER_AGENT).call()?; 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 body = response.body_mut();
let json = body.read_json::<LatestRelease>()?; let json = body.read_json::<LatestRelease>()?;
let tag_name = json.tag_name; let tag_name = json.tag_name;
+1 -1
View File
@@ -8,7 +8,7 @@ pub enum LogLevel {
Panic, Panic,
} }
pub fn log(level: LogLevel, message: String) { pub fn log(level: LogLevel, message: &str) {
let mut file = File::options() let mut file = File::options()
.create(true) .create(true)
.append(true) .append(true)
+5 -8
View File
@@ -11,14 +11,11 @@ pub struct Meta {
impl Default for Meta { impl Default for Meta {
fn default() -> Self { fn default() -> Self {
let current_version = Version::parse(env!("CARGO_PKG_VERSION")).unwrap(); let current_version = Version::parse(env!("CARGO_PKG_VERSION")).unwrap();
let latest_release = match codeberg::get_latest_release() { let latest_release = codeberg::get_latest_release().unwrap_or_else(|why| {
Ok(release) => release, let message = format!("failed to get latest codeberg release:\n{why}");
Err(why) => { log::log(log::LogLevel::Error, &message);
let message = format!("failed to get latest codeberg release:\n{why}"); codeberg::Release::default()
log::log(log::LogLevel::Error, message); });
codeberg::Release::default()
}
};
let newer_version_available = matches!( let newer_version_available = matches!(
&current_version.cmp_precedence(&latest_release.version), &current_version.cmp_precedence(&latest_release.version),
std::cmp::Ordering::Less std::cmp::Ordering::Less