From 222eb72da97784c76cc477a708fd06425461de77 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Sat, 25 May 2024 12:21:32 +0200 Subject: [PATCH 01/74] build: added `shell.nix` and direnv integration --- .envrc | 1 + .gitignore | 1 + shell.nix | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 .envrc create mode 100644 shell.nix diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..1d953f4b --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use nix diff --git a/.gitignore b/.gitignore index 9b8adcb7..629f81b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /target +/.direnv flamegraph.svg perf.data* diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000..1cc96986 --- /dev/null +++ b/shell.nix @@ -0,0 +1,40 @@ +let + nixpkgs = builtins.fetchGit { + name = "nixos-23.11"; + url = "https://github.com/nixos/nixpkgs"; + ref = "refs/heads/nixos-23.11"; + }; + + nixpkgs-unstable = builtins.fetchGit { + name = "nixos-unstable"; + url = "https://github.com/nixos/nixpkgs"; + ref = "refs/heads/nixos-unstable"; + }; + + pkgs = import nixpkgs {}; + pkgs-unstable = import nixpkgs-unstable {}; + +in pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + pkgs-unstable.rustc + pkgs-unstable.rustfmt + pkgs-unstable.cargo + pkgs-unstable.clippy + + gcc + cmake + pkg-config + ]; + + buildInputs = with pkgs; [ + gtk4 + glib + gdk-pixbuf + gobject-introspection + + libadwaita + ]; + + RUST_SRC_PATH = "${pkgs-unstable.rust.packages.stable.rustPlatform.rustLibSrc}"; + RUST_BACKTRACE = 1; +} From d8a43562f807e67a62b9153163c85c9c0a011a14 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Sun, 26 May 2024 20:56:39 +0200 Subject: [PATCH 02/74] feat: updated shell.nix --- shell.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/shell.nix b/shell.nix index 1cc96986..250d8bc5 100644 --- a/shell.nix +++ b/shell.nix @@ -16,9 +16,8 @@ let in pkgs.mkShell { nativeBuildInputs = with pkgs; [ - pkgs-unstable.rustc + pkgs-unstable.rustup pkgs-unstable.rustfmt - pkgs-unstable.cargo pkgs-unstable.clippy gcc @@ -34,7 +33,4 @@ in pkgs.mkShell { libadwaita ]; - - RUST_SRC_PATH = "${pkgs-unstable.rust.packages.stable.rustPlatform.rustLibSrc}"; - RUST_BACKTRACE = 1; } From 40ed1c30b9af7c00a83a26bd6d94c8092e999d92 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 27 May 2024 12:14:09 +0200 Subject: [PATCH 03/74] ci: fixed release build artifact --- .github/workflows/compile_release_build.yml | 2 +- .idea/.gitignore | 8 ++++++++ .idea/modules.xml | 8 ++++++++ .idea/the-honkers-railway-launcher.iml | 11 +++++++++++ .idea/vcs.xml | 6 ++++++ 5 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/modules.xml create mode 100644 .idea/the-honkers-railway-launcher.iml create mode 100644 .idea/vcs.xml diff --git a/.github/workflows/compile_release_build.yml b/.github/workflows/compile_release_build.yml index 80ce2e39..de96ea1b 100644 --- a/.github/workflows/compile_release_build.yml +++ b/.github/workflows/compile_release_build.yml @@ -42,4 +42,4 @@ jobs: uses: actions/upload-artifact@v3.1.0 with: name: Release build - path: target/release/anime-game-launcher \ No newline at end of file + path: target/release/honkers-railway-launcher \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..185233bd --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/the-honkers-railway-launcher.iml b/.idea/the-honkers-railway-launcher.iml new file mode 100644 index 00000000..cf84ae4a --- /dev/null +++ b/.idea/the-honkers-railway-launcher.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 19d1deead8eec30bd1af3b68d33e24d4bf74f99e Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 27 May 2024 14:20:47 +0200 Subject: [PATCH 04/74] feat: list missing dependencies on non-standard distros Hello NixOS! --- .idea/.gitignore | 8 ++++++++ .idea/an-anime-game-launcher.iml | 11 ++++++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ .vscode/extensions.json | 9 -------- .vscode/launch.json | 26 ------------------------ .vscode/settings.json | 10 --------- src/ui/first_run/dependencies.rs | 35 ++++++++++++++++++++++++++++---- 8 files changed, 64 insertions(+), 49 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/an-anime-game-launcher.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml delete mode 100644 .vscode/extensions.json delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/an-anime-game-launcher.iml b/.idea/an-anime-game-launcher.iml new file mode 100644 index 00000000..cf84ae4a --- /dev/null +++ b/.idea/an-anime-game-launcher.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..2f2654c2 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index f8d40f32..00000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "vivaxy.vscode-conventional-commits", - "gruntfuggly.todo-tree", - "rust-lang.rust-analyzer", - "bungcip.better-toml", - "serayuzgur.crates" - ] -} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 1d21b2ff..00000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "lldb", - "request": "launch", - "name": "Debug", - "cargo": { - "args": [ - "build", - "--bin=anime-game-launcher", - "--package=anime-game-launcher" - ], - "filter": { - "name": "anime-game-launcher", - "kind": "bin" - } - }, - "args": [], - "cwd": "${workspaceFolder}" - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 9210ffa7..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "conventionalCommits.scopes": [ - "tracing", - "core", - "ui", - "i18n" - ], - "editor.tabCompletion": "on", - "diffEditor.codeLens": true -} \ No newline at end of file diff --git a/src/ui/first_run/dependencies.rs b/src/ui/first_run/dependencies.rs index e43883ac..0f5490e9 100644 --- a/src/ui/first_run/dependencies.rs +++ b/src/ui/first_run/dependencies.rs @@ -10,7 +10,8 @@ use super::main::FirstRunAppMsg; pub struct DependenciesApp { show_arch: bool, show_debian: bool, - show_fedora: bool + show_fedora: bool, + show_list: bool } #[derive(Debug, Clone)] @@ -21,9 +22,9 @@ pub enum DependenciesAppMsg { #[relm4::component(async, pub)] impl SimpleAsyncComponent for DependenciesApp { - type Init = (); type Input = DependenciesAppMsg; type Output = FirstRunAppMsg; + type Init = (); view! { adw::PreferencesPage { @@ -104,6 +105,28 @@ impl SimpleAsyncComponent for DependenciesApp { set_text: "sudo dnf install git xdelta p7zip", set_editable: false } + }, + + gtk::Box { + set_orientation: gtk::Orientation::Vertical, + set_spacing: 16, + + #[watch] + set_visible: model.show_list, + + adw::PreferencesGroup { + adw::ActionRow { + set_title: "git" + }, + + adw::ActionRow { + set_title: "xdelta3" + }, + + adw::ActionRow { + set_title: "p7zip" + } + } } } }, @@ -138,7 +161,7 @@ impl SimpleAsyncComponent for DependenciesApp { async fn init(_init: Self::Init, root: Self::Root, _sender: AsyncComponentSender) -> AsyncComponentParts { let distro = whatadistro::identify(); - let model = Self { + let mut model = Self { show_arch: match &distro { Some(distro) => distro.is_similar("arch"), None => false @@ -152,9 +175,13 @@ impl SimpleAsyncComponent for DependenciesApp { show_fedora: match &distro { Some(distro) => distro.is_similar("fedora"), None => false - } + }, + + show_list: false }; + model.show_list = !model.show_arch && !model.show_debian && !model.show_fedora; + let widgets = view_output!(); AsyncComponentParts { model, widgets } From 4ee8104d9ac89654a6927cb445f3f37db36ea7c3 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Thu, 30 May 2024 08:26:41 +0200 Subject: [PATCH 05/74] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f4421b2..e8d73f4d 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Or share them and ruin it for the dozens of Linux players. It's up to you. ## If you're going to share it anyway -Do what you must, but we would respectfully request that you try to label the game as "The Honkers Railway Game" +Do what you must, but we would respectfully request that you try to label the game as "The Honkers Game" instead of the actual name of the game, to avoid search engine parsing.
From c5904345bea589cb5069cf7d0bdf68303f4f2f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=86=D0=B2=D0=B0=D0=BD=20=D0=9F=D0=BE=D1=82=D1=96=D1=94?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE?= Date: Sat, 1 Jun 2024 03:11:56 +0300 Subject: [PATCH 06/74] Localizing force-grab-cursor --- assets/locales/uk/gamescope.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/locales/uk/gamescope.ftl b/assets/locales/uk/gamescope.ftl index b94a9a92..985b8719 100644 --- a/assets/locales/uk/gamescope.ftl +++ b/assets/locales/uk/gamescope.ftl @@ -12,5 +12,5 @@ other-settings = Інші налаштування framerate-limit = Обмеження кількості кадрів unfocused-framerate-limit = Обмеження кількості кадрів поза фокусом -force-grab-cursor = Force grab cursor -force-grab-cursor-description = Always use relative mouse mode instead of flipping dependent on cursor visibility. The mouse cursor will correctly be centered in the game +force-grab-cursor = Примусове захоплення курсору +force-grab-cursor-description = Завжди використовувати відносний режим миші замість гортання залежно від видимості курсору. Курсор миші буде коректно відцентровано у грі From 1268a5b27760eed910335e25f80d1b1aedd4826d Mon Sep 17 00:00:00 2001 From: mrvictory1 <108172910+mrvictory1@users.noreply.github.com> Date: Tue, 11 Jun 2024 10:48:53 +0300 Subject: [PATCH 07/74] Update anime-game-launcher.desktop --- assets/anime-game-launcher.desktop | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/anime-game-launcher.desktop b/assets/anime-game-launcher.desktop index e12d1e41..6855f5f7 100644 --- a/assets/anime-game-launcher.desktop +++ b/assets/anime-game-launcher.desktop @@ -5,3 +5,4 @@ Exec=AppRun Type=Application Categories=Game Terminal=false +Keywords=aagl From e131dab8d2678bbb3ed40f5fb7e35e0018a7f6f4 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 11:01:49 +0200 Subject: [PATCH 08/74] build: updated shell.nix --- .idea/.gitignore | 8 -------- .idea/an-anime-game-launcher.iml | 11 ----------- .idea/modules.xml | 8 -------- .idea/vcs.xml | 6 ------ shell.nix | 6 ++++-- 5 files changed, 4 insertions(+), 35 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/an-anime-game-launcher.iml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b81..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/an-anime-game-launcher.iml b/.idea/an-anime-game-launcher.iml deleted file mode 100644 index cf84ae4a..00000000 --- a/.idea/an-anime-game-launcher.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 2f2654c2..00000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1ddf..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/shell.nix b/shell.nix index 250d8bc5..2d1c76c0 100644 --- a/shell.nix +++ b/shell.nix @@ -1,8 +1,8 @@ let nixpkgs = builtins.fetchGit { - name = "nixos-23.11"; + name = "nixos-24.05"; url = "https://github.com/nixos/nixpkgs"; - ref = "refs/heads/nixos-23.11"; + ref = "refs/heads/nixos-24.05"; }; nixpkgs-unstable = builtins.fetchGit { @@ -23,6 +23,8 @@ in pkgs.mkShell { gcc cmake pkg-config + + xdelta ]; buildInputs = with pkgs; [ From 04a315ac2f78c20a8449f2e9d66676806d18b417 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 11:34:58 +0200 Subject: [PATCH 09/74] feat: updated background picture URI --- src/background.rs | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/src/background.rs b/src/background.rs index 3c76e4a3..7f27a00e 100644 --- a/src/background.rs +++ b/src/background.rs @@ -10,30 +10,41 @@ pub struct Background { } pub fn get_uri() -> String { - let uri = concat!("https://sdk-os-static.", "ho", "yo", "verse", ".com/hk4e_global/mdk/launcher/api/content?filter_adv=true&key=gcStgarh&launcher_id=10&language="); + let lang = crate::i18n::get_lang(); - uri.to_owned() + &crate::i18n::format_lang(&crate::i18n::get_lang()) + if lang.language == unic_langid::langid!("zh-cn").language { + concat!("https://hyp-api.", "mi", "ho", "yo", ".com/hyp/hyp-connect/api/getGames?launcher_id=jGHBHlcOq1").to_owned() + } + + else { + let uri = concat!("https://sg-hyp-api.", "ho", "yo", "verse", ".com/hyp/hyp-connect/api/getGames?launcher_id=VYTpXlbWo8&language="); + + uri.to_owned() + &crate::i18n::format_lang(&lang) + } } #[cached::proc_macro::cached(result)] pub fn get_background_info() -> anyhow::Result { let json = serde_json::from_slice::(minreq::get(get_uri()).send()?.as_bytes())?; - let uri = match json["data"]["adv"]["background"].as_str() { - Some(uri) => uri.to_owned(), - None => anyhow::bail!("Failed to get background picture uri") - }; - - // This API field contains wrong md5 hash, but file's name - // from the uri above actually contains correct one, so - // I parse and use it few lines below - - /*let hash = match json["data"]["adv"]["bg_checksum"].as_str() { - Some(uri) => uri.to_owned(), - None => anyhow::bail!("Failed to get background picture checksum") - };*/ - - let hash = uri.split('/').last().unwrap_or_default().split('_').next().unwrap_or_default().to_owned(); + let uri = json["data"]["games"].as_array() + .ok_or_else(|| anyhow::anyhow!("Failed to get background picture uri"))? + .iter() + .find(|game| game["biz"].as_str() == Some("hk4e_global")) + .and_then(|game| { + game["display"]["background"]["url"].as_str() + .or_else(|| game["display"]["thumbnail"]["url"].as_str()) + }) + .ok_or_else(|| anyhow::anyhow!("Failed to get background picture uri"))? + .to_string(); + + let hash = uri.split('/') + .last() + .unwrap_or_default() + .split('_') + .next() + .unwrap_or_default() + .to_owned(); Ok(Background { uri, From d991f5aaf7d9b09d99d6ecdb1d6b9e595b3eb8f2 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 11:39:10 +0200 Subject: [PATCH 10/74] build: updated `Cargo.lock` --- Cargo.lock | 1183 +++++++++++++++++++++++++++------------------------- 1 file changed, 612 insertions(+), 571 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b58a872e..d14936ab 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -51,14 +51,13 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.17.8" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.17.8#8f3c1aecc8d61ae07f00d8af9d56c91f75b54bfb" +version = "1.18.4" dependencies = [ "anyhow", "bzip2", @@ -107,8 +106,7 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.12.10" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.12.10#56a0d3b0b6ccb1fc5b359f8ff1f281225e122218" +version = "1.13.4" dependencies = [ "anime-game-core", "anyhow", @@ -125,47 +123,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -173,9 +172,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.81" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" dependencies = [ "backtrace", ] @@ -226,36 +225,35 @@ dependencies = [ [[package]] name = "async-broadcast" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb" +checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" dependencies = [ - "event-listener 5.2.0", - "event-listener-strategy 0.5.0", + "event-listener", + "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-channel" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 5.2.0", - "event-listener-strategy 0.5.0", + "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.3.0", + "async-lock", "cfg-if", "concurrent-queue", "futures-io", @@ -270,61 +268,54 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.8.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 2.5.3", -] - -[[package]] -name = "async-lock" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" -dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener", + "event-listener-strategy", "pin-project-lite", ] [[package]] name = "async-process" -version = "2.1.0" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451e3cf68011bd56771c79db04a9e333095ab6349f7e47592b788e9b98720cc8" +checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" dependencies = [ "async-channel", "async-io", - "async-lock 3.3.0", + "async-lock", "async-signal", + "async-task", "blocking", "cfg-if", - "event-listener 5.2.0", + "event-listener", "futures-lite", "rustix", + "tracing", "windows-sys 0.52.0", ] [[package]] name = "async-recursion" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] name = "async-signal" -version = "0.2.5" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" dependencies = [ "async-io", - "async-lock 2.8.0", + "async-lock", "atomic-waker", "cfg-if", "futures-core", @@ -332,24 +323,24 @@ dependencies = [ "rustix", "signal-hook-registry", "slab", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "async-task" -version = "4.7.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.79" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -360,15 +351,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -433,18 +424,15 @@ dependencies = [ [[package]] name = "blocking" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ "async-channel", - "async-lock 3.3.0", "async-task", - "fastrand", "futures-io", "futures-lite", "piper", - "tracing", ] [[package]] @@ -459,9 +447,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.4" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byteorder" @@ -498,9 +486,9 @@ dependencies = [ [[package]] name = "cached" -version = "0.51.3" +version = "0.51.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd93a9f06ec296ca66b4c26fafa9ed63f32c473d7a708a5f28563ee64c948515" +checksum = "0feb64151eed3da6107fddd2d717a6ca4b9dbd74e43784c55c841d1abfe5a295" dependencies = [ "ahash", "cached_proc_macro", @@ -520,7 +508,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -531,9 +519,9 @@ checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" [[package]] name = "cairo-rs" -version = "0.19.2" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c" +checksum = "b2ac2a4d0e69036cf0062976f6efcba1aaee3e448594e6514bb2ddf87acce562" dependencies = [ "bitflags 2.5.0", "cairo-sys-rs", @@ -555,19 +543,20 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.90" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] name = "cfg-expr" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", "target-lexicon", @@ -595,26 +584,17 @@ dependencies = [ "inout", ] -[[package]] -name = "cmake" -version = "0.1.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" -dependencies = [ - "cc", -] - [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -667,9 +647,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -695,9 +675,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crypto-common" @@ -711,9 +691,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ "darling_core", "darling_macro", @@ -721,27 +701,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.55", + "syn", ] [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -759,17 +739,6 @@ dependencies = [ "powerfmt", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive_arbitrary" version = "1.3.2" @@ -778,7 +747,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -794,9 +763,9 @@ dependencies = [ [[package]] name = "discord-rich-presence" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47fc4beffb85ee1461588499073a4d9c20dcc7728c4b13d6b282ab6c508947e5" +checksum = "f632a41e3e97febf8edff46b1405f9875894c29e20a25c5abe566872226b3f84" dependencies = [ "serde", "serde_derive", @@ -818,7 +787,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -833,17 +802,11 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - [[package]] name = "either" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "endi" @@ -868,14 +831,14 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] name = "enumflags2" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", "serde", @@ -883,13 +846,13 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -900,9 +863,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -910,26 +873,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "4.0.3" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -938,29 +884,19 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" -dependencies = [ - "event-listener 5.2.0", + "event-listener", "pin-project-lite", ] [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "field-offset" @@ -986,20 +922,19 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", - "libz-ng-sys", "miniz_oxide", ] [[package]] name = "fluent" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7" +checksum = "bb74634707bebd0ce645a981148e8fb8c7bccd4c33c652aeffd28bf2f96d555a" dependencies = [ "fluent-bundle", "unic-langid", @@ -1007,9 +942,9 @@ dependencies = [ [[package]] name = "fluent-bundle" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd" +checksum = "7fe0a21ee80050c678013f82edf4b705fe2f26f1f9877593d13198612503f493" dependencies = [ "fluent-langneg", "fluent-syntax", @@ -1032,33 +967,33 @@ dependencies = [ [[package]] name = "fluent-syntax" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78" +checksum = "2a530c4694a6a8d528794ee9bbd8ba0122e779629ac908d15ad5a7ae7763a33d" dependencies = [ "thiserror", ] [[package]] name = "fluent-template-macros" -version = "0.9.1" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5659bd41653516a2e46d76a58e67aa4885024c78fb5d00303f0673bbd53ad781" +checksum = "77d2bcae1f3ec390c50161fcf130d3228750e9ecf965618584e046d884199b83" dependencies = [ - "flume 0.10.14", + "flume", "ignore", "once_cell", "proc-macro2", "quote", - "syn 2.0.55", + "syn", "unic-langid", ] [[package]] name = "fluent-templates" -version = "0.9.1" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f755e319f6f8f836b94b28c6094c414d29a17cee76e24374c7cd61f7696b3f6" +checksum = "197feb1e37209c6b3d29f0754b11fc070890efb2b1d761caac4e5287a200e9db" dependencies = [ "arc-swap", "fluent", @@ -1066,27 +1001,17 @@ dependencies = [ "fluent-langneg", "fluent-syntax", "fluent-template-macros", - "flume 0.10.14", - "heck 0.4.1", + "flume", + "heck", "ignore", "intl-memoizer", - "lazy_static", "log", "once_cell", "serde_json", - "snafu", + "thiserror", "unic-langid", ] -[[package]] -name = "flume" -version = "0.10.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" -dependencies = [ - "spin", -] - [[package]] name = "flume" version = "0.11.0" @@ -1195,7 +1120,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -1242,9 +1167,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.19.0" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96" +checksum = "1fdbf021f8b9d19e30fb9ea6d6e5f2b6a712fe4645417c69f86f6ff1e1444a8f" dependencies = [ "gio-sys", "glib-sys", @@ -1255,9 +1180,9 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100b25604183f2fd97f55ef087fae96ab4934d7215118a35303e422688e6e4b" +checksum = "db265c9dd42d6a371e09e52deab3a84808427198b86ac792d75fd35c07990a07" dependencies = [ "cairo-rs", "gdk-pixbuf", @@ -1270,9 +1195,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0b76874c40bb8d1c7d03a7231e23ac75fa577a456cd53af32ec17ec8f121626" +checksum = "c9418fb4e8a67074919fe7604429c45aa74eb9df82e7ca529767c6d4e9dc66dd" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1297,9 +1222,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "js-sys", @@ -1310,15 +1235,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gio" -version = "0.19.3" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64947d08d7fbb03bf8ad1f25a8ac6cf4329bc772c9b7e5abe7bf9493c81194f" +checksum = "be548be810e45dd31d3bbb89c6210980bb7af9bca3ea1292b5f16b75f8e394a7" dependencies = [ "futures-channel", "futures-core", @@ -1334,9 +1259,9 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.19.0" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4" +checksum = "d4bdbef451b0f0361e7f762987cc6bebd5facab1d535e85a3cf1115dfb08db40" dependencies = [ "glib-sys", "gobject-sys", @@ -1347,9 +1272,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.19.3" +version = "0.19.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e191cc1af1f35b9699213107068cd3fe05d9816275ac118dc785a0dd8faebf" +checksum = "e52355166df21c7ed16b6a01f615669c7911ed74e27ef60eba339c0d2da12490" dependencies = [ "bitflags 2.5.0", "futures-channel", @@ -1378,22 +1303,22 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.19.3" +version = "0.19.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9972bb91643d589c889654693a4f1d07697fdcb5d104b5c44fb68649ba1bf68d" +checksum = "70025dbfa1275cf7d0531c3317ba6270dae15d87e63342229d638246ff45202e" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] name = "glib-sys" -version = "0.19.0" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4" +checksum = "767d23ead9bbdfcbb1c2242c155c8128a7d13dde7bf69c176f809546135e2282" dependencies = [ "libc", "system-deps", @@ -1414,9 +1339,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.19.0" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979" +checksum = "c3787b0bfacca12bb25f8f822b0dbee9f7e4a86e6469a29976d332d2c14c945b" dependencies = [ "glib-sys", "libc", @@ -1436,9 +1361,9 @@ dependencies = [ [[package]] name = "graphene-sys" -version = "0.19.0" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0" +checksum = "2a60e7381afdd7be43bd10a89d3b6741d162aabbca3a8db73505afb6a3aea59d" dependencies = [ "glib-sys", "libc", @@ -1448,9 +1373,9 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c65036fc8f99579e8cb37b12487969b707ab23ec8ab953682ff347cbd15d396e" +checksum = "7563884bf6939f4468e5d94654945bdd9afcaf8c3ba4c5dd17b5342b747221be" dependencies = [ "cairo-rs", "gdk4", @@ -1463,9 +1388,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd24c814379f9c3199dc53e52253ee8d0f657eae389ab282c330505289d24738" +checksum = "23024bf2636c38bbd1f822f58acc9d1c25b28da896ff0f291a1a232d4272b3dc" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -1479,9 +1404,9 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa82753b8c26277e4af1446c70e35b19aad4fb794a7b143859e7eeb9a4025d83" +checksum = "b04e11319b08af11358ab543105a9e49b0c491faca35e2b8e7e36bfba8b671ab" dependencies = [ "cairo-rs", "field-offset", @@ -1500,23 +1425,21 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40300bf071d2fcd4c94eacc09e84ec6fe73129d2ceb635cf7e55b026b5443567" +checksum = "ec655a7ef88d8ce9592899deb8b2d0fa50bab1e6dd69182deb764e643c522408" dependencies = [ - "anyhow", "proc-macro-crate", - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "gtk4-sys" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0db1b104138f087ccdc81d2c332de5dd049b89de3d384437cc1093b17cd2da18" +checksum = "8c8aa86b7f85ea71d66ea88c1d4bae1cfacf51ca4856274565133838d77e57b5" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1533,20 +1456,14 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" @@ -1559,6 +1476,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -1590,6 +1513,124 @@ dependencies = [ "uuid 1.8.0", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -1598,12 +1639,14 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", + "smallvec", + "utf8_iter", ] [[package]] @@ -1643,18 +1686,18 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] [[package]] name = "intl-memoizer" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f" +checksum = "fe22e020fce238ae18a6d5d8c502ee76a52a6e880d99477657e6acc30ec57bda" dependencies = [ "type-map", "unic-langid", @@ -1688,17 +1731,23 @@ dependencies = [ "once_cell", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] @@ -1758,36 +1807,38 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] -name = "libz-ng-sys" -version = "1.1.15" +name = "linux-raw-sys" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5" -dependencies = [ - "cmake", - "libc", -] +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] -name = "linux-raw-sys" -version = "0.4.13" +name = "litemap" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", ] +[[package]] +name = "lockfree-object-pool" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" + [[package]] name = "log" version = "0.4.21" @@ -1837,42 +1888,42 @@ dependencies = [ [[package]] name = "md5-asm" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61d33bc4cdfe5c60340e282bbbee0a6e2bc57f0b9279bb3489c5004d12492e5c" +checksum = "d19b8ee7fc7d812058d3b708c7f719efd0713d53854648e4223c6fcae709e2df" dependencies = [ "cc", ] [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" dependencies = [ "adler", ] [[package]] name = "minreq" -version = "2.11.0" +version = "2.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" +checksum = "6fdef521c74c2884a4f3570bcdb6d2a77b3c533feb6b27ac2ae72673cc221c64" dependencies = [ "base64 0.12.3", "log", @@ -1949,31 +2000,10 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] -[[package]] -name = "num_enum" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.55", -] - [[package]] name = "objc" version = "0.2.7" @@ -2005,9 +2035,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" dependencies = [ "memchr", ] @@ -2020,9 +2050,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "open" -version = "5.1.2" +version = "5.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32" +checksum = "b5ca541f22b1c46d4bb9801014f234758ab4297e7870b904b6a8415b980a7388" dependencies = [ "is-wsl", "libc", @@ -2064,9 +2094,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pango" -version = "0.19.3" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1264d13deb823cc652f26cfe59afb1ec4b9db2a5bd27c41b738c879cc1bfaa1" +checksum = "504ce6e805439ea2c6791168fe7ef8e3da0c1b2ef82c44bc450dbc330592920d" dependencies = [ "gio", "glib", @@ -2076,9 +2106,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.19.0" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea" +checksum = "e4829555bdbb83692ddeaf5a6927fb2d025c8131e5ecaa4f7619fff6985d3505" dependencies = [ "glib-sys", "gobject-sys", @@ -2116,9 +2146,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -2128,9 +2158,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", "fastrand", @@ -2145,13 +2175,13 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "polling" -version = "3.6.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi", + "hermit-abi 0.4.0", "pin-project-lite", "rustix", "tracing", @@ -2185,30 +2215,6 @@ dependencies = [ "toml_edit 0.21.1", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro-hack" version = "0.5.20+deprecated" @@ -2217,18 +2223,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -2265,9 +2271,9 @@ dependencies = [ [[package]] name = "raw-window-handle" -version = "0.6.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" @@ -2298,23 +2304,11 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "regex" -version = "1.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -2323,9 +2317,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "relm4" @@ -2333,7 +2327,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e0e187b58db367305e8486d3228158251da1c8ba1e18baa9de61894e822649" dependencies = [ - "flume 0.11.0", + "flume", "fragile", "futures", "gtk4", @@ -2352,7 +2346,7 @@ checksum = "0774e846889823aa5766f5b62cface3189a5b36280e65b2faaa6df0319da1726" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -2395,9 +2389,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -2416,9 +2410,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", @@ -2429,9 +2423,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring", @@ -2472,9 +2466,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -2512,11 +2506,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.2" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -2525,9 +2519,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -2539,46 +2533,46 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d" dependencies = [ - "self_cell 1.0.3", + "self_cell 1.0.4", ] [[package]] name = "self_cell" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba" +checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -2587,20 +2581,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -2627,9 +2621,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -2655,33 +2649,11 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -[[package]] -name = "snafu" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" -dependencies = [ - "doc-comment", - "snafu-derive", -] - -[[package]] -name = "snafu-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2696,6 +2668,12 @@ dependencies = [ "lock_api", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -2704,9 +2682,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" @@ -2716,9 +2694,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" -version = "1.0.109" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -2726,21 +2704,21 @@ dependencies = [ ] [[package]] -name = "syn" -version = "2.0.55" +name = "synstructure" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "unicode-ident", + "syn", ] [[package]] name = "sysinfo" -version = "0.30.7" +version = "0.30.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c385888ef380a852a16209afc8cfad22795dd8873d69c9a14d2e2088f118d18" +checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae" dependencies = [ "cfg-if", "core-foundation-sys", @@ -2758,7 +2736,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" dependencies = [ "cfg-expr", - "heck 0.5.0", + "heck", "pkg-config", "toml", "version-compare", @@ -2766,9 +2744,9 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" dependencies = [ "filetime", "libc", @@ -2795,22 +2773,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -2844,33 +2822,19 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "tinystr" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ "displaydoc", + "zerovec", ] -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - [[package]] name = "tokio" -version = "1.36.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -2886,21 +2850,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.9", + "toml_edit 0.22.14", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] @@ -2918,15 +2882,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.9" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.5", + "winnow 0.6.13", ] [[package]] @@ -2948,7 +2912,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", ] [[package]] @@ -2988,19 +2952,13 @@ dependencies = [ [[package]] name = "type-map" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46" +checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" dependencies = [ "rustc-hash", ] -[[package]] -name = "typed-arena" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" - [[package]] name = "typenum" version = "1.17.0" @@ -3020,9 +2978,9 @@ dependencies = [ [[package]] name = "unic-langid" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238722e6d794ed130f91f4ea33e01fcff4f188d92337a21297892521c72df516" +checksum = "23dd9d1e72a73b25e07123a80776aae3e7b0ec461ef94f9151eed6ec88005a44" dependencies = [ "unic-langid-impl", "unic-langid-macros", @@ -3030,18 +2988,18 @@ dependencies = [ [[package]] name = "unic-langid-impl" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd55a2063fdea4ef1f8633243a7b0524cbeef1905ae04c31a1c9b9775c55bc6" +checksum = "0a5422c1f65949306c99240b81de9f3f15929f5a8bfe05bb44b034cc8bf593e5" dependencies = [ "tinystr", ] [[package]] name = "unic-langid-macros" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c854cefb82ff2816410ce606acbad1b3af065140907b29be9229040752b83ec" +checksum = "0da1cd2c042d3c7569a1008806b02039e7a4a2bdf8f8e96bd3c792434a0e275e" dependencies = [ "proc-macro-hack", "tinystr", @@ -3051,37 +3009,22 @@ dependencies = [ [[package]] name = "unic-langid-macros-impl" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea2a4c80deb4fb3ca51f66b5e2dd91e3642bbce52234bcf22e41668281208e4" +checksum = "1ed7f4237ba393424195053097c1516bd4590dc82b84f2f97c5c69e12704555b" dependencies = [ "proc-macro-hack", "quote", - "syn 2.0.55", + "syn", "unic-langid-impl", ] -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - [[package]] name = "untrusted" version = "0.9.0" @@ -3090,9 +3033,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" dependencies = [ "form_urlencoded", "idna", @@ -3106,11 +3049,23 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" @@ -3185,7 +3140,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.55", + "syn", "wasm-bindgen-shared", ] @@ -3219,7 +3174,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3270,11 +3225,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -3301,7 +3256,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -3310,7 +3265,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -3328,7 +3283,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -3348,17 +3303,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -3369,9 +3325,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -3381,9 +3337,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -3393,9 +3349,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -3405,9 +3367,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -3417,9 +3379,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -3429,9 +3391,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -3441,9 +3403,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" @@ -3456,13 +3418,25 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.5" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "xattr" version = "1.3.1" @@ -3476,12 +3450,12 @@ dependencies = [ [[package]] name = "xdg-home" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" +checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -3502,19 +3476,42 @@ dependencies = [ "lzma-sys", ] +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "zbus" -version = "4.1.2" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9ff46f2a25abd690ed072054733e0bc3157e3d4c45f41bd183dce09c2ff8ab9" +checksum = "23915fcb26e7a9a9dc05fd93a9870d336d6d032cd7e8cebf1c5c37666489fdd5" dependencies = [ "async-broadcast", "async-process", "async-recursion", "async-trait", - "derivative", "enumflags2", - "event-listener 5.2.0", + "event-listener", "futures-core", "futures-sink", "futures-util", @@ -3538,15 +3535,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.1.2" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0e3852c93dcdb49c9462afe67a2a468f7bd464150d866e861eaf06208633e0" +checksum = "02bcca0b586d2f8589da32347b4784ba424c4891ed86aa5b50d5e88f6b2c4f5d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "regex", - "syn 1.0.109", + "syn", "zvariant_utils", ] @@ -3563,29 +3559,50 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", + "synstructure", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -3598,14 +3615,36 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn", +] + +[[package]] +name = "zerovec" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] name = "zip" -version = "1.2.1" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006d078b7b6fc587bb25e022ad39e7086f44e5c4fef6076964ea601533241beb" +checksum = "775a2b471036342aa69bc5a602bc889cb0a06cda00477d0c69566757d5553d39" dependencies = [ "aes", "arbitrary", @@ -3619,7 +3658,7 @@ dependencies = [ "hmac", "indexmap", "lzma-rs", - "num_enum", + "memchr", "pbkdf2", "rand", "sha1", @@ -3632,14 +3671,16 @@ dependencies = [ [[package]] name = "zopfli" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1f48f3508a3a3f2faee01629564400bc12260f6214a056d06a3aaaa6ef0736" +checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" dependencies = [ + "bumpalo", "crc32fast", + "lockfree-object-pool", "log", + "once_cell", "simd-adler32", - "typed-arena", ] [[package]] @@ -3672,9 +3713,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "4.0.2" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1b3ca6db667bfada0f1ebfc94b2b1759ba25472ee5373d4551bb892616389a" +checksum = "9aa6d31a02fbfb602bfde791de7fedeb9c2c18115b3d00f3a36e489f46ffbbc7" dependencies = [ "endi", "enumflags2", @@ -3686,24 +3727,24 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.0.2" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7a4b236063316163b69039f77ce3117accb41a09567fd24c168e43491e521bc" +checksum = "642bf1b6b6d527988b3e8193d20969d53700a36eac734d21ae6639db168701c8" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "1.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172" +checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] From d0f731d68ff8c5f98c3695de89ab25f1f7046af1 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 12:38:12 +0200 Subject: [PATCH 11/74] feat: updated background images support thanks gtk devs for providing webp support :thumbup: (no) --- shell.nix | 1 + src/background.rs | 38 +++++++++++++++++++++++--------- src/main.rs | 5 ++++- src/ui/first_run/dependencies.rs | 12 ++++++---- 4 files changed, 40 insertions(+), 16 deletions(-) diff --git a/shell.nix b/shell.nix index 2d1c76c0..bb939d1a 100644 --- a/shell.nix +++ b/shell.nix @@ -25,6 +25,7 @@ in pkgs.mkShell { pkg-config xdelta + libwebp ]; buildInputs = with pkgs; [ diff --git a/src/background.rs b/src/background.rs index 7f27a00e..9cc16014 100644 --- a/src/background.rs +++ b/src/background.rs @@ -1,3 +1,5 @@ +use std::process::Command; + use anime_launcher_sdk::anime_game_core::installer::downloader::Downloader; use anime_launcher_sdk::anime_game_core::minreq; @@ -13,11 +15,11 @@ pub fn get_uri() -> String { let lang = crate::i18n::get_lang(); if lang.language == unic_langid::langid!("zh-cn").language { - concat!("https://hyp-api.", "mi", "ho", "yo", ".com/hyp/hyp-connect/api/getGames?launcher_id=jGHBHlcOq1").to_owned() + concat!("https://hyp-api.", "mi", "ho", "yo", ".com/hyp/hyp-connect/api/getAllGameBasicInfo?launcher_id=jGHBHlcOq1").to_owned() } else { - let uri = concat!("https://sg-hyp-api.", "ho", "yo", "verse", ".com/hyp/hyp-connect/api/getGames?launcher_id=VYTpXlbWo8&language="); + let uri = concat!("https://sg-hyp-api.", "ho", "yo", "verse", ".com/hyp/hyp-connect/api/getAllGameBasicInfo?launcher_id=VYTpXlbWo8&language="); uri.to_owned() + &crate::i18n::format_lang(&lang) } @@ -27,15 +29,15 @@ pub fn get_uri() -> String { pub fn get_background_info() -> anyhow::Result { let json = serde_json::from_slice::(minreq::get(get_uri()).send()?.as_bytes())?; - let uri = json["data"]["games"].as_array() - .ok_or_else(|| anyhow::anyhow!("Failed to get background picture uri"))? + let uri = json["data"]["game_info_list"].as_array() + .ok_or_else(|| anyhow::anyhow!("Failed to list games in the backgrounds API"))? .iter() - .find(|game| game["biz"].as_str() == Some("hk4e_global")) - .and_then(|game| { - game["display"]["background"]["url"].as_str() - .or_else(|| game["display"]["thumbnail"]["url"].as_str()) - }) - .ok_or_else(|| anyhow::anyhow!("Failed to get background picture uri"))? + .find(|game| game["game"]["biz"].as_str() == Some("hk4e_global")) + .ok_or_else(|| anyhow::anyhow!("Failed to find the game in the backgrounds API"))?["backgrounds"] + .as_array() + .and_then(|backgrounds| backgrounds.iter().next()) + .and_then(|background| background["background"]["url"].as_str()) + .ok_or_else(|| anyhow::anyhow!("Failed to get background picture url"))? .to_string(); let hash = uri.split('/') @@ -67,7 +69,7 @@ pub fn download_background() -> anyhow::Result<()> { } } - let mut downloader = Downloader::new(info.uri)?; + let mut downloader = Downloader::new(&info.uri)?; downloader.continue_downloading = false; @@ -75,5 +77,19 @@ pub fn download_background() -> anyhow::Result<()> { anyhow::bail!(err); } + // Workaround for GTK weakness + if info.uri.ends_with(".webp") { + Command::new("dwebp") + .arg(crate::BACKGROUND_FILE.as_path()) + .arg("-o") + .arg(crate::BACKGROUND_PRIMARY_FILE.as_path()) + .spawn()? + .wait_with_output()?; + } + + else { + std::fs::copy(crate::BACKGROUND_FILE.as_path(), crate::BACKGROUND_PRIMARY_FILE.as_path())?; + } + Ok(()) } diff --git a/src/main.rs b/src/main.rs index 525fcdff..e03a48f8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -61,6 +61,9 @@ lazy_static::lazy_static! { /// Path to `background` file. Standard is `$HOME/.local/share/anime-game-launcher/background` pub static ref BACKGROUND_FILE: PathBuf = LAUNCHER_FOLDER.join("background"); + /// Path to `background-primary` file. Standard is `$HOME/.local/share/anime-game-launcher/background-primary` + pub static ref BACKGROUND_PRIMARY_FILE: PathBuf = LAUNCHER_FOLDER.join("background-primary"); + /// Path to `.keep-background` file. Used to mark launcher that it shouldn't update background picture /// /// Standard is `$HOME/.local/share/anime-game-launcher/.keep-background` @@ -99,7 +102,7 @@ lazy_static::lazy_static! { .round-bin {{ border-radius: 24px; }} - ", BACKGROUND_FILE.to_string_lossy()); + ", BACKGROUND_PRIMARY_FILE.to_string_lossy()); } fn main() -> anyhow::Result<()> { diff --git a/src/ui/first_run/dependencies.rs b/src/ui/first_run/dependencies.rs index 0f5490e9..0c80e90c 100644 --- a/src/ui/first_run/dependencies.rs +++ b/src/ui/first_run/dependencies.rs @@ -68,7 +68,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo pacman -Syu git xdelta3 p7zip", + set_text: "sudo pacman -Syu git xdelta3 p7zip libwebp", set_editable: false } }, @@ -85,7 +85,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo apt install git xdelta3 p7zip-full", + set_text: "sudo apt install git xdelta3 p7zip-full webp", set_editable: false } }, @@ -102,7 +102,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo dnf install git xdelta p7zip", + set_text: "sudo dnf install git xdelta p7zip libwebp", set_editable: false } }, @@ -125,6 +125,10 @@ impl SimpleAsyncComponent for DependenciesApp { adw::ActionRow { set_title: "p7zip" + }, + + adw::ActionRow { + set_title: "libwebp" } } } @@ -191,7 +195,7 @@ impl SimpleAsyncComponent for DependenciesApp { match msg { #[allow(unused_must_use)] DependenciesAppMsg::Continue => { - let packages = ["git", "xdelta3"]; + let packages = ["git", "xdelta3", "dwebp"]; for package in packages { if !is_available(package) { From 91732ea43c0ad24896af2ffd5bb5f41094bb2ae1 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 13:43:18 +0200 Subject: [PATCH 12/74] build: removed .idea --- .idea/.gitignore | 8 --- .idea/modules.xml | 8 --- .idea/the-honkers-railway-launcher.iml | 11 ---- .idea/vcs.xml | 6 -- Cargo.lock | 77 ++++++-------------------- 5 files changed, 18 insertions(+), 92 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/modules.xml delete mode 100644 .idea/the-honkers-railway-launcher.iml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b81..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 185233bd..00000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/the-honkers-railway-launcher.iml b/.idea/the-honkers-railway-launcher.iml deleted file mode 100644 index cf84ae4a..00000000 --- a/.idea/the-honkers-railway-launcher.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1ddf..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 43babd22..35525af8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,7 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.17.8" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.17.8#8f3c1aecc8d61ae07f00d8af9d56c91f75b54bfb" +version = "1.18.4" dependencies = [ "anyhow", "bzip2", @@ -82,8 +81,7 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.12.10" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.12.10#56a0d3b0b6ccb1fc5b359f8ff1f281225e122218" +version = "1.13.4" dependencies = [ "anime-game-core", "anyhow", @@ -563,15 +561,6 @@ dependencies = [ "inout", ] -[[package]] -name = "cmake" -version = "0.1.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" -dependencies = [ - "cc", -] - [[package]] name = "colorchoice" version = "1.0.1" @@ -751,9 +740,9 @@ dependencies = [ [[package]] name = "discord-rich-presence" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47fc4beffb85ee1461588499073a4d9c20dcc7728c4b13d6b282ab6c508947e5" +checksum = "f632a41e3e97febf8edff46b1405f9875894c29e20a25c5abe566872226b3f84" dependencies = [ "serde", "serde_derive", @@ -936,7 +925,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", - "libz-ng-sys", "miniz_oxide", ] @@ -1720,16 +1708,6 @@ version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" -[[package]] -name = "libz-ng-sys" -version = "1.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5" -dependencies = [ - "cmake", - "libc", -] - [[package]] name = "linux-raw-sys" version = "0.4.13" @@ -1746,6 +1724,12 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "lockfree-object-pool" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" + [[package]] name = "log" version = "0.4.21" @@ -1911,27 +1895,6 @@ dependencies = [ "libc", ] -[[package]] -name = "num_enum" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.61", -] - [[package]] name = "objc" version = "0.2.7" @@ -2895,12 +2858,6 @@ dependencies = [ "rustc-hash", ] -[[package]] -name = "typed-arena" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" - [[package]] name = "typenum" version = "1.17.0" @@ -3508,9 +3465,9 @@ dependencies = [ [[package]] name = "zip" -version = "1.2.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006d078b7b6fc587bb25e022ad39e7086f44e5c4fef6076964ea601533241beb" +checksum = "1dd56a4d5921bc2f99947ac5b3abe5f510b1be7376fdc5e9fce4a23c6a93e87c" dependencies = [ "aes", "arbitrary", @@ -3524,7 +3481,7 @@ dependencies = [ "hmac", "indexmap", "lzma-rs", - "num_enum", + "memchr", "pbkdf2", "rand", "sha1", @@ -3537,14 +3494,16 @@ dependencies = [ [[package]] name = "zopfli" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1f48f3508a3a3f2faee01629564400bc12260f6214a056d06a3aaaa6ef0736" +checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" dependencies = [ + "bumpalo", "crc32fast", + "lockfree-object-pool", "log", + "once_cell", "simd-adler32", - "typed-arena", ] [[package]] From 5b12ac5dc689ba20fb8009974bebab753d772ebf Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 13:45:48 +0200 Subject: [PATCH 13/74] build: updated `Cargo.lock` --- Cargo.lock | 288 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 166 insertions(+), 122 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 89fe2948..808e3ef3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -128,9 +128,9 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] @@ -147,9 +147,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.83" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" dependencies = [ "backtrace", ] @@ -204,21 +204,20 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" dependencies = [ - "event-listener 5.3.0", - "event-listener-strategy 0.5.2", + "event-listener", + "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-channel" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 5.3.0", - "event-listener-strategy 0.5.2", + "event-listener-strategy", "futures-core", "pin-project-lite", ] @@ -244,20 +243,20 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener", + "event-listener-strategy", "pin-project-lite", ] [[package]] name = "async-process" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d" +checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" dependencies = [ "async-channel", "async-io", @@ -266,7 +265,7 @@ dependencies = [ "async-task", "blocking", "cfg-if", - "event-listener 5.3.0", + "event-listener", "futures-lite", "rustix", "tracing", @@ -281,14 +280,14 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] name = "async-signal" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda" +checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" dependencies = [ "async-io", "async-lock", @@ -316,7 +315,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -400,12 +399,11 @@ dependencies = [ [[package]] name = "blocking" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ "async-channel", - "async-lock", "async-task", "futures-io", "futures-lite", @@ -485,7 +483,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -520,9 +518,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.97" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", @@ -687,7 +685,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.61", + "syn", ] [[package]] @@ -698,7 +696,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -724,7 +722,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -764,7 +762,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -781,9 +779,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "endi" @@ -808,7 +806,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -829,7 +827,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -850,20 +848,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.3" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -876,17 +863,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" -dependencies = [ - "event-listener 5.3.0", + "event-listener", "pin-project-lite", ] @@ -983,7 +960,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.61", + "syn", "unic-langid", ] @@ -1118,7 +1095,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -1270,9 +1247,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.19.5" +version = "0.19.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be682de2914107f591efdbe2debf05d9ad70726310ee2b6a3802a697649fcc55" +checksum = "e52355166df21c7ed16b6a01f615669c7911ed74e27ef60eba339c0d2da12490" dependencies = [ "bitflags 2.5.0", "futures-channel", @@ -1301,15 +1278,15 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.19.5" +version = "0.19.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed782fa3e949c31146671da6e7a227a5e7d354660df1db6d0aac4974dc82a3c" +checksum = "70025dbfa1275cf7d0531c3317ba6270dae15d87e63342229d638246ff45202e" dependencies = [ "heck", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -1430,7 +1407,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -1830,9 +1807,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.154" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "linux-raw-sys" @@ -1920,9 +1897,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memoffset" @@ -2198,9 +2175,9 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "polling" -version = "3.7.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", @@ -2246,9 +2223,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.82" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -2294,9 +2271,9 @@ dependencies = [ [[package]] name = "raw-window-handle" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cc3bcbdb1ddfc11e700e62968e6b4cc9c75bb466464ad28fb61c5b2c964418b" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" @@ -2340,9 +2317,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "relm4" @@ -2369,7 +2346,7 @@ checksum = "0774e846889823aa5766f5b62cface3189a5b36280e65b2faaa6df0319da1726" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -2573,22 +2550,22 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.201" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.201" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -2610,7 +2587,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -2727,10 +2704,10 @@ dependencies = [ ] [[package]] -name = "syn" -version = "2.0.61" +name = "synstructure" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", @@ -2796,22 +2773,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.60" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.60" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -2855,9 +2832,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -2880,7 +2857,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.12", + "toml_edit 0.22.14", ] [[package]] @@ -2905,15 +2882,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.12" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.13", ] [[package]] @@ -2935,7 +2912,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", ] [[package]] @@ -3038,7 +3015,7 @@ checksum = "1ed7f4237ba393424195053097c1516bd4590dc82b84f2f97c5c69e12704555b" dependencies = [ "proc-macro-hack", "quote", - "syn 2.0.61", + "syn", "unic-langid-impl", ] @@ -3163,7 +3140,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.61", + "syn", "wasm-bindgen-shared", ] @@ -3197,7 +3174,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3441,9 +3418,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] @@ -3499,18 +3476,42 @@ dependencies = [ "lzma-sys", ] +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "zbus" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aea58d1af0aaa8abf87f3d9ade9b8f46bf13727e5f9fb24bc31ee9d94a9b4ad" +checksum = "23915fcb26e7a9a9dc05fd93a9870d336d6d032cd7e8cebf1c5c37666489fdd5" dependencies = [ "async-broadcast", "async-process", "async-recursion", "async-trait", "enumflags2", - "event-listener 5.3.0", + "event-listener", "futures-core", "futures-sink", "futures-util", @@ -3534,14 +3535,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf2b496ec1e2d3c4a7878e351607f7a2bec1e1029b353683dfc28a22999e369" +checksum = "02bcca0b586d2f8589da32347b4784ba424c4891ed86aa5b50d5e88f6b2c4f5d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn", "zvariant_utils", ] @@ -3573,7 +3574,28 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", ] [[package]] @@ -3593,14 +3615,36 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.61", + "syn", +] + +[[package]] +name = "zerovec" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] name = "zip" -version = "2.1.1" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd56a4d5921bc2f99947ac5b3abe5f510b1be7376fdc5e9fce4a23c6a93e87c" +checksum = "775a2b471036342aa69bc5a602bc889cb0a06cda00477d0c69566757d5553d39" dependencies = [ "aes", "arbitrary", @@ -3669,9 +3713,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "4.0.3" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9282c6945d9e27742ba7ad7191325546636295de7b83f6735af73159b32ac7" +checksum = "9aa6d31a02fbfb602bfde791de7fedeb9c2c18115b3d00f3a36e489f46ffbbc7" dependencies = [ "endi", "enumflags2", @@ -3683,9 +3727,9 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.0.3" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0142549e559746ff09d194dd43d256a554299d286cc56460a082b8ae24652aa1" +checksum = "642bf1b6b6d527988b3e8193d20969d53700a36eac734d21ae6639db168701c8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3696,9 +3740,9 @@ dependencies = [ [[package]] name = "zvariant_utils" -version = "1.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75fa7291bdd68cd13c4f97cc9d78cbf16d96305856dfc7ac942aeff4c2de7d5a" +checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" dependencies = [ "proc-macro2", "quote", From b529f3e7daa651117ff0a942837d2ead940ab67b Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 14:01:31 +0200 Subject: [PATCH 14/74] feat: respect CN API for getting background image --- src/background.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/background.rs b/src/background.rs index 9cc16014..c7e10f8c 100644 --- a/src/background.rs +++ b/src/background.rs @@ -32,7 +32,12 @@ pub fn get_background_info() -> anyhow::Result { let uri = json["data"]["game_info_list"].as_array() .ok_or_else(|| anyhow::anyhow!("Failed to list games in the backgrounds API"))? .iter() - .find(|game| game["game"]["biz"].as_str() == Some("hk4e_global")) + .find(|game| { + match game["game"]["biz"].as_str() { + Some(biz) => biz.starts_with("hk4e_"), + _ => false + } + }) .ok_or_else(|| anyhow::anyhow!("Failed to find the game in the backgrounds API"))?["backgrounds"] .as_array() .and_then(|backgrounds| backgrounds.iter().next()) From eb0f0eae02b1cfc5f651e0521227a4247a695943 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:07:12 +0200 Subject: [PATCH 15/74] feat: create primary background file if it doesn't exist --- src/background.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/background.rs b/src/background.rs index c7e10f8c..a36f71a2 100644 --- a/src/background.rs +++ b/src/background.rs @@ -64,22 +64,32 @@ pub fn download_background() -> anyhow::Result<()> { let info = get_background_info()?; + let mut download_image = true; + if crate::BACKGROUND_FILE.exists() { let hash = Md5::digest(std::fs::read(crate::BACKGROUND_FILE.as_path())?); if format!("{:x}", hash).to_lowercase() == info.hash { tracing::debug!("Background picture is already downloaded. Skipping"); - return Ok(()); + download_image = false; + + if crate::BACKGROUND_PRIMARY_FILE.exists() { + tracing::debug!("Background picture is already patched. Skipping"); + + return Ok(()); + } } } - let mut downloader = Downloader::new(&info.uri)?; + if download_image { + let mut downloader = Downloader::new(&info.uri)?; - downloader.continue_downloading = false; + downloader.continue_downloading = false; - if let Err(err) = downloader.download(crate::BACKGROUND_FILE.as_path(), |_, _| {}) { - anyhow::bail!(err); + if let Err(err) = downloader.download(crate::BACKGROUND_FILE.as_path(), |_, _| {}) { + anyhow::bail!(err); + } } // Workaround for GTK weakness From d51b428592735e6df91c982ca88d32ba1128383e Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:07:26 +0200 Subject: [PATCH 16/74] build: updated core library --- Cargo.lock | 6 ++++-- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d14936ab..2f27a23c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,7 +57,8 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.18.4" +version = "1.19.0" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.19.0#2bec59f6bc6a1bb3ce8f0162ca8e3bd4d349cc34" dependencies = [ "anyhow", "bzip2", @@ -106,7 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.13.4" +version = "1.14.0" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.14.0#1e94edd76e114ddf72347f049071e10af522827b" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 73e7fb99..5f4815b9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.19" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.12.10" +tag = "1.14.0" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From abda7a352153123480ffc7f89078dac90cf1505e Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:19:15 +0200 Subject: [PATCH 17/74] feat: updated changelog --- CHANGELOG.md | 12 ++++++++++++ src/ui/about.rs | 10 ++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d30e0296..2358c66e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- List missing dependencies on non-standard distros during initial setup +- Added 4.7.0 voiceovers sizes + +### Changed + +- Support new game API +- Improved background pictures processing +- Updated desktop file entry to include "aagl" keyword +- Localized `force-grab-cursor` to Ukrainian + ## [3.9.6] - 08.05.2024 ### Added diff --git a/src/ui/about.rs b/src/ui/about.rs index e99043b3..56530beb 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -98,15 +98,17 @@ impl SimpleComponent for AboutDialog { "

Added

", "
    ", - "
  • Added 4.6.0 voiceovers sizes
  • ", - "
  • Added Czech
  • ", + "
  • List missing dependencies on non-standard distros during initial setup
  • ", + "
  • Added 4.7.0 voiceovers sizes
  • ", "
", "

Changed

", "
    ", - "
  • Changed labels for the payment processing options
  • ", - "
  • Changed one of translator's username
  • ", + "
  • Support new game API
  • ", + "
  • Improved background pictures processing
  • ", + "
  • Updated desktop file entry to include aagl keyword
  • ", + "
  • Localized force-grab-cursor to Ukrainian
  • ", "
" ].join("\n"), From 231e23687e4a297d0835af0fc5b60b7ebe7959c9 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:22:33 +0200 Subject: [PATCH 18/74] fix: fixed Italian localization breaking the launcher --- CHANGELOG.md | 12 ++++++++---- assets/locales/it/main.ftl | 4 ++-- src/ui/about.rs | 6 ++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2358c66e..d89b707e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - List missing dependencies on non-standard distros during initial setup - Added 4.7.0 voiceovers sizes +### Fixed + +- Fixed Italian localization breaking the launcher + ### Changed - Support new game API @@ -40,6 +44,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added Thai - Added Ukrainian +### Fixed + +- Fixed GtkSwitch UI state representation + ### Changed - Update wish url @@ -47,10 +55,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved app args parsing - Updated locales -### Fixed - -- Fixed GtkSwitch UI state representation - ## [3.9.4] - 29.12.2023 ### Changed diff --git a/assets/locales/it/main.ftl b/assets/locales/it/main.ftl index b1fc1182..158efb04 100644 --- a/assets/locales/it/main.ftl +++ b/assets/locales/it/main.ftl @@ -17,12 +17,12 @@ wish-url = Apri i desideri about = Informazioni -close = { $commandType -> +close = { $form -> [verb] Chiudersi *[noun] Chiudi } -hide = { $commandType -> +hide = { $form -> [verb] Nascondersi *[noun] Nascondi } diff --git a/src/ui/about.rs b/src/ui/about.rs index 56530beb..d3ab9826 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -102,6 +102,12 @@ impl SimpleComponent for AboutDialog { "
  • Added 4.7.0 voiceovers sizes
  • ", "", + "

    Fixed

    ", + + "
      ", + "
    • Fixed Italian localization breaking the launcher
    • ", + "
    ", + "

    Changed

    ", "
      ", From 5f843df0013c74d30f2150fb08ceec49178d155a Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:25:19 +0200 Subject: [PATCH 19/74] 3.10.0 --- CHANGELOG.md | 2 ++ Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d89b707e..ffcfd164 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.10.0] - 17.06.2024 + ### Added - List missing dependencies on non-standard distros during initial setup diff --git a/Cargo.lock b/Cargo.lock index 2f27a23c..6d24b055 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -82,7 +82,7 @@ dependencies = [ [[package]] name = "anime-game-launcher" -version = "3.9.6" +version = "3.10.0" dependencies = [ "anime-launcher-sdk", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 5f4815b9..e3cf1dec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anime-game-launcher" -version = "3.9.6" +version = "3.10.0" description = "Anime Game launcher" authors = ["Nikita Podvirnyy "] homepage = "https://github.com/an-anime-team/an-anime-game-launcher" From ffc83554cf41051b09b548f42c963f72e7b1a093 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:38:12 +0200 Subject: [PATCH 20/74] docs: updated changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffcfd164..9afc831e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -497,7 +497,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.6...next +[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.0...next +[3.10.0]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.6...3.10.0 [3.9.6]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.5...3.9.6 [3.9.5]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.4...3.9.5 [3.9.4]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.3...3.9.4 From 7b7400dcdd3d8629eae35accb7cf93117f5e431d Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:25:19 +0200 Subject: [PATCH 21/74] 3.10.0 --- CHANGELOG.md | 2 ++ Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d89b707e..ffcfd164 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.10.0] - 17.06.2024 + ### Added - List missing dependencies on non-standard distros during initial setup diff --git a/Cargo.lock b/Cargo.lock index 2f27a23c..6d24b055 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -82,7 +82,7 @@ dependencies = [ [[package]] name = "anime-game-launcher" -version = "3.9.6" +version = "3.10.0" dependencies = [ "anime-launcher-sdk", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 5f4815b9..e3cf1dec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anime-game-launcher" -version = "3.9.6" +version = "3.10.0" description = "Anime Game launcher" authors = ["Nikita Podvirnyy "] homepage = "https://github.com/an-anime-team/an-anime-game-launcher" From d37e0fb7a9d4e058b2d1aee865505f5d63fa5fe7 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:38:12 +0200 Subject: [PATCH 22/74] docs: updated changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffcfd164..9afc831e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -497,7 +497,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.6...next +[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.0...next +[3.10.0]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.6...3.10.0 [3.9.6]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.5...3.9.6 [3.9.5]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.4...3.9.5 [3.9.4]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.3...3.9.4 From d125b27015087869488d55bbf9b125c7a3def94a Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 15:59:00 +0200 Subject: [PATCH 23/74] feat: handle dwebp re-coding errors --- CHANGELOG.md | 4 ++++ src/background.rs | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9afc831e..20595395 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Handle dwebp re-coding errors + ## [3.10.0] - 17.06.2024 ### Added diff --git a/src/background.rs b/src/background.rs index a36f71a2..54bcfaca 100644 --- a/src/background.rs +++ b/src/background.rs @@ -99,7 +99,14 @@ pub fn download_background() -> anyhow::Result<()> { .arg("-o") .arg(crate::BACKGROUND_PRIMARY_FILE.as_path()) .spawn()? - .wait_with_output()?; + .wait()?; + + // If it failed to re-code the file - just copy it + // Will happen with HSR because devs apparently named + // their background image ".webp" while it's JPEG + if crate::BACKGROUND_PRIMARY_FILE.exists() { + std::fs::copy(crate::BACKGROUND_FILE.as_path(), crate::BACKGROUND_PRIMARY_FILE.as_path())?; + } } else { From a7393156d990fa0f080f3b47df79d5d42f3d501d Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 16:03:29 +0200 Subject: [PATCH 24/74] fix: fixed last commit --- src/background.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.rs b/src/background.rs index 54bcfaca..0f8e33af 100644 --- a/src/background.rs +++ b/src/background.rs @@ -104,7 +104,7 @@ pub fn download_background() -> anyhow::Result<()> { // If it failed to re-code the file - just copy it // Will happen with HSR because devs apparently named // their background image ".webp" while it's JPEG - if crate::BACKGROUND_PRIMARY_FILE.exists() { + if !crate::BACKGROUND_PRIMARY_FILE.exists() { std::fs::copy(crate::BACKGROUND_FILE.as_path(), crate::BACKGROUND_PRIMARY_FILE.as_path())?; } } From 4021167add7dc60fbd2a236d782bd69561e76bb0 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 16:06:05 +0200 Subject: [PATCH 25/74] fix: fixing some merging errors --- CHANGELOG.md | 2 +- assets/honkers-railway-launcher.desktop | 2 +- src/ui/about.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dae59c8a..d89b0e36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - List missing dependencies on non-standard distros during initial setup -- Added 4.7.0 voiceovers sizes +- Added 2.2.0 voiceovers sizes ### Fixed diff --git a/assets/honkers-railway-launcher.desktop b/assets/honkers-railway-launcher.desktop index 121ac19a..4d72c166 100644 --- a/assets/honkers-railway-launcher.desktop +++ b/assets/honkers-railway-launcher.desktop @@ -5,4 +5,4 @@ Exec=AppRun Type=Application Categories=Game Terminal=false -Keywords=aagl +Keywords=thrl diff --git a/src/ui/about.rs b/src/ui/about.rs index a50487a7..d1e53f8e 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -104,7 +104,7 @@ impl SimpleComponent for AboutDialog { "
        ", "
      • List missing dependencies on non-standard distros during initial setup
      • ", - "
      • Added 2.1.0 voiceovers sizes
      • ", + "
      • Added 2.2.0 voiceovers sizes
      • ", "
      ", "

      Fixed

      ", From 4bdfcdb69cf546b09aef64a31e4f95b0dc74dcfe Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Mon, 17 Jun 2024 16:07:45 +0200 Subject: [PATCH 26/74] 1.6.0 --- CHANGELOG.md | 5 ++++- Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d89b0e36..f531356b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.6.0] - 17.06.2024 + ### Added - List missing dependencies on non-standard distros during initial setup @@ -293,7 +295,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.5...next +[unreleased]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.6.0...next +[1.6.0]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.5...1.6.0 [1.5.5]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.4...1.5.5 [1.5.4]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.3...1.5.4 [1.5.3]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.2...1.5.3 diff --git a/Cargo.lock b/Cargo.lock index 93a28e59..d4a9ee82 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1476,7 +1476,7 @@ dependencies = [ [[package]] name = "honkers-railway-launcher" -version = "1.5.5" +version = "1.6.0" dependencies = [ "anime-launcher-sdk", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index ce469d87..6e04e898 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "honkers-railway-launcher" -version = "1.5.5" +version = "1.6.0" description = "The Honkers Railway launcher" authors = ["Nikita Podvirnyi "] homepage = "https://github.com/an-anime-team/the-honkers-railway-launcher" From 79fc467d736f994b8a1d3e266b9a9d7d148f72f2 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Tue, 2 Jul 2024 09:32:59 +0200 Subject: [PATCH 27/74] build: updated sdk version fixes api support --- Cargo.lock | 425 ++++++++++++++--------------------------------------- Cargo.toml | 2 +- 2 files changed, 111 insertions(+), 316 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6d24b055..68c962b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,8 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.19.0" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.19.0#2bec59f6bc6a1bb3ce8f0162ca8e3bd4d349cc34" +version = "1.20.2" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.20.2#3f013bffed78ca9c22db1d8bb10d4ae8ef527c5c" dependencies = [ "anyhow", "bzip2", @@ -107,8 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.14.0" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.14.0#1e94edd76e114ddf72347f049071e10af522827b" +version = "1.15.4" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.15.4#eebd048fb05034959fd06e499fcdfaebbcce1d6c" dependencies = [ "anime-game-core", "anyhow", @@ -392,9 +392,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "blake3" @@ -525,7 +525,7 @@ version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2ac2a4d0e69036cf0062976f6efcba1aaee3e448594e6514bb2ddf87acce562" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cairo-sys-rs", "glib", "libc", @@ -545,9 +545,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.99" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "74b6a57f98764a267ff415d50a25e6e166f3831a5071af4995296ea97d210490" dependencies = [ "jobserver", "libc", @@ -572,9 +572,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cfg_aliases" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "cipher" @@ -783,9 +783,9 @@ checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", @@ -806,9 +806,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "endi" @@ -1157,9 +1157,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.19.2" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92" +checksum = "624eaba126021103c7339b2e179ae4ee8cdab842daab419040710f38ed9f8699" dependencies = [ "gdk-pixbuf-sys", "gio", @@ -1169,9 +1169,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.19.5" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fdbf021f8b9d19e30fb9ea6d6e5f2b6a712fe4645417c69f86f6ff1e1444a8f" +checksum = "4efa05a4f83c8cc50eb4d883787b919b85e5f1d8dd10b5a1df53bf5689782379" dependencies = [ "gio-sys", "glib-sys", @@ -1243,9 +1243,9 @@ checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gio" -version = "0.19.5" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be548be810e45dd31d3bbb89c6210980bb7af9bca3ea1292b5f16b75f8e394a7" +checksum = "4c49f117d373ffcc98a35d114db5478bc223341cff53e39a5d6feced9e2ddffe" dependencies = [ "futures-channel", "futures-core", @@ -1261,9 +1261,9 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.19.5" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4bdbef451b0f0361e7f762987cc6bebd5facab1d535e85a3cf1115dfb08db40" +checksum = "2cd743ba4714d671ad6b6234e8ab2a13b42304d0e13ab7eba1dcdd78a7d6d4ef" dependencies = [ "glib-sys", "gobject-sys", @@ -1274,11 +1274,11 @@ dependencies = [ [[package]] name = "glib" -version = "0.19.7" +version = "0.19.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e52355166df21c7ed16b6a01f615669c7911ed74e27ef60eba339c0d2da12490" +checksum = "39650279f135469465018daae0ba53357942a5212137515777d5fdca74984a44" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "futures-channel", "futures-core", "futures-executor", @@ -1305,9 +1305,9 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.19.7" +version = "0.19.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70025dbfa1275cf7d0531c3317ba6270dae15d87e63342229d638246ff45202e" +checksum = "4429b0277a14ae9751350ad9b658b1be0abb5b54faa5bcdf6e74a3372582fad7" dependencies = [ "heck", "proc-macro-crate", @@ -1318,9 +1318,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.19.5" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767d23ead9bbdfcbb1c2242c155c8128a7d13dde7bf69c176f809546135e2282" +checksum = "5c2dc18d3a82b0006d470b13304fbbb3e0a9bd4884cf985a60a7ed733ac2c4a5" dependencies = [ "libc", "system-deps", @@ -1341,9 +1341,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.19.5" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3787b0bfacca12bb25f8f822b0dbee9f7e4a86e6469a29976d332d2c14c945b" +checksum = "2e697e252d6e0416fd1d9e169bda51c0f1c926026c39ca21fbe8b1bb5c3b8b9e" dependencies = [ "glib-sys", "libc", @@ -1352,9 +1352,9 @@ dependencies = [ [[package]] name = "graphene-rs" -version = "0.19.2" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91" +checksum = "f5fb86031d24d9ec0a2a15978fc7a65d545a2549642cf1eb7c3dda358da42bcf" dependencies = [ "glib", "graphene-sys", @@ -1363,9 +1363,9 @@ dependencies = [ [[package]] name = "graphene-sys" -version = "0.19.5" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60e7381afdd7be43bd10a89d3b6741d162aabbca3a8db73505afb6a3aea59d" +checksum = "2f530e0944bccba4b55065e9c69f4975ad691609191ebac16e13ab8e1f27af05" dependencies = [ "glib-sys", "libc", @@ -1512,125 +1512,7 @@ dependencies = [ "serde", "serde_derive", "toml", - "uuid 1.8.0", -] - -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" - -[[package]] -name = "icu_properties" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "uuid 1.9.1", ] [[package]] @@ -1641,14 +1523,12 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ - "icu_normalizer", - "icu_properties", - "smallvec", - "utf8_iter", + "unicode-bidi", + "unicode-normalization", ] [[package]] @@ -1771,9 +1651,9 @@ checksum = "ca9325aac17917b5650f25d477ce2909f2e9539688227fdee3ceb5093f666c9e" [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libadwaita" @@ -1819,12 +1699,6 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" -[[package]] -name = "litemap" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" - [[package]] name = "lock_api" version = "0.4.12" @@ -1843,9 +1717,9 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lzma-rs" @@ -1914,9 +1788,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -1960,11 +1834,11 @@ dependencies = [ [[package]] name = "nix" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "cfg_aliases", "libc", @@ -2037,9 +1911,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] @@ -2096,9 +1970,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pango" -version = "0.19.5" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504ce6e805439ea2c6791168fe7ef8e3da0c1b2ef82c44bc450dbc330592920d" +checksum = "3f0d328648058085cfd6897c9ae4272884098a926f3a833cd50c8c73e6eccecd" dependencies = [ "gio", "glib", @@ -2108,9 +1982,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.19.5" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4829555bdbb83692ddeaf5a6927fb2d025c8131e5ecaa4f7619fff6985d3505" +checksum = "ff03da4fa086c0b244d4a4587d3e20622a3ecdb21daea9edf66597224c634ba0" dependencies = [ "glib-sys", "gobject-sys", @@ -2225,9 +2099,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -2416,7 +2290,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -2512,7 +2386,7 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -2572,9 +2446,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "itoa", "ryu", @@ -2670,12 +2544,6 @@ dependencies = [ "lock_api", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "static_assertions" version = "1.1.0" @@ -2690,32 +2558,21 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.66" +version = "2.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "sysinfo" version = "0.30.12" @@ -2829,9 +2686,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ "displaydoc", - "zerovec", ] +[[package]] +name = "tinyvec" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + [[package]] name = "tokio" version = "1.38.0" @@ -3021,12 +2892,27 @@ dependencies = [ "unic-langid-impl", ] +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + [[package]] name = "untrusted" version = "0.9.0" @@ -3035,9 +2921,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -3051,18 +2937,6 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - [[package]] name = "utf8parse" version = "0.2.2" @@ -3080,9 +2954,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" dependencies = [ "getrandom", ] @@ -3427,18 +3301,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - [[package]] name = "xattr" version = "1.3.1" @@ -3478,35 +3340,11 @@ dependencies = [ "lzma-sys", ] -[[package]] -name = "yoke" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - [[package]] name = "zbus" -version = "4.3.0" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23915fcb26e7a9a9dc05fd93a9870d336d6d032cd7e8cebf1c5c37666489fdd5" +checksum = "851238c133804e0aa888edf4a0229481c753544ca12a60fd1c3230c8a500fe40" dependencies = [ "async-broadcast", "async-process", @@ -3537,9 +3375,9 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.3.0" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02bcca0b586d2f8589da32347b4784ba424c4891ed86aa5b50d5e88f6b2c4f5d" +checksum = "8d5a3f12c20bd473be3194af6b49d50d7bb804ef3192dc70eddedb26b85d9da7" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3579,27 +3417,6 @@ dependencies = [ "syn", ] -[[package]] -name = "zerofrom" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - [[package]] name = "zeroize" version = "1.8.1" @@ -3620,28 +3437,6 @@ dependencies = [ "syn", ] -[[package]] -name = "zerovec" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "zip" version = "2.1.3" @@ -3705,9 +3500,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.11+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" dependencies = [ "cc", "pkg-config", @@ -3715,9 +3510,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa6d31a02fbfb602bfde791de7fedeb9c2c18115b3d00f3a36e489f46ffbbc7" +checksum = "1724a2b330760dc7d2a8402d841119dc869ef120b139d29862d6980e9c75bfc9" dependencies = [ "endi", "enumflags2", @@ -3729,9 +3524,9 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642bf1b6b6d527988b3e8193d20969d53700a36eac734d21ae6639db168701c8" +checksum = "55025a7a518ad14518fb243559c058a2e5b848b015e31f1d90414f36e3317859" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index e3cf1dec..cc0163c8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.19" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.14.0" +tag = "1.15.4" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From 4d48cd7725bbe4fea3ae415b961b1708f112fab8 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Tue, 2 Jul 2024 09:38:44 +0200 Subject: [PATCH 28/74] feat: updated changelog --- CHANGELOG.md | 4 ++++ src/ui/about.rs | 14 ++------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20595395..2b975ad7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Handle dwebp re-coding errors +### Fixed + +- Added workaround for wrong pre-downloads API format + ## [3.10.0] - 17.06.2024 ### Added diff --git a/src/ui/about.rs b/src/ui/about.rs index d3ab9826..bfa2e6e5 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -98,23 +98,13 @@ impl SimpleComponent for AboutDialog { "

      Added

      ", "
        ", - "
      • List missing dependencies on non-standard distros during initial setup
      • ", - "
      • Added 4.7.0 voiceovers sizes
      • ", + "
      • Handle dwebp re-coding errors
      • ", "
      ", "

      Fixed

      ", "
        ", - "
      • Fixed Italian localization breaking the launcher
      • ", - "
      ", - - "

      Changed

      ", - - "
        ", - "
      • Support new game API
      • ", - "
      • Improved background pictures processing
      • ", - "
      • Updated desktop file entry to include aagl keyword
      • ", - "
      • Localized force-grab-cursor to Ukrainian
      • ", + "
      • Added workaround for wrong pre-downloads API format
      • ", "
      " ].join("\n"), From cdeca3b618dd41e7495dd421d4d01146dc90c6b3 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Tue, 2 Jul 2024 09:40:43 +0200 Subject: [PATCH 29/74] 3.10.1 --- CHANGELOG.md | 2 +- Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc72fe1b..22450c5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [3.10.0] - 17.06.2024 +## [3.10.1] - 02.07.2024 ### Added diff --git a/Cargo.lock b/Cargo.lock index 68c962b6..1f7c5f02 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -82,7 +82,7 @@ dependencies = [ [[package]] name = "anime-game-launcher" -version = "3.10.0" +version = "3.10.1" dependencies = [ "anime-launcher-sdk", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index cc0163c8..29daede3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anime-game-launcher" -version = "3.10.0" +version = "3.10.1" description = "Anime Game launcher" authors = ["Nikita Podvirnyy "] homepage = "https://github.com/an-anime-team/an-anime-game-launcher" From 195e49541e872ddfbf9b77276d240ee6e43565ee Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Tue, 2 Jul 2024 10:04:42 +0200 Subject: [PATCH 30/74] 1.6.1 --- CHANGELOG.md | 5 ++++- Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b789eb0b..4dafbfe3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.6.1] - 02.07.2024 + ### Added - Handle dwebp re-coding errors @@ -304,7 +306,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.6.0...next +[unreleased]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.6.1...next +[1.6.1]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.6.0...1.6.1 [1.6.0]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.5...1.6.0 [1.5.5]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.4...1.5.5 [1.5.4]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.3...1.5.4 diff --git a/Cargo.lock b/Cargo.lock index 75596550..8a1e35f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1476,7 +1476,7 @@ dependencies = [ [[package]] name = "honkers-railway-launcher" -version = "1.6.0" +version = "1.6.1" dependencies = [ "anime-launcher-sdk", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 83158180..a5bf654b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "honkers-railway-launcher" -version = "1.6.0" +version = "1.6.1" description = "The Honkers Railway launcher" authors = ["Nikita Podvirnyi "] homepage = "https://github.com/an-anime-team/the-honkers-railway-launcher" From bacc930c5a5dae08c294d8f9b5e75a71d2566014 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Tue, 2 Jul 2024 10:12:00 +0200 Subject: [PATCH 31/74] docs: updated changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22450c5a..af0b38fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -507,7 +507,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.0...next +[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.1...next +[3.10.1]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.0...3.10.1 [3.10.0]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.6...3.10.0 [3.9.6]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.5...3.9.6 [3.9.5]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.4...3.9.5 From 0c50bd7051d4f9b3463aaab01b419cbc1d45af7d Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 5 Jul 2024 21:46:56 +0200 Subject: [PATCH 32/74] build: updated dependencies --- Cargo.lock | 20 ++++++++++---------- Cargo.toml | 10 +++++----- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1f7c5f02..3e27a2f8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,8 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.20.2" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.20.2#3f013bffed78ca9c22db1d8bb10d4ae8ef527c5c" +version = "1.21.2" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.21.2#7944efab8516e581367963e82674060a33b9d72e" dependencies = [ "anyhow", "bzip2", @@ -107,8 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.15.4" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.15.4#eebd048fb05034959fd06e499fcdfaebbcce1d6c" +version = "1.16.3" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.3#91ce712a941dbbee8b24b8beadaf50bb01dfb32f" dependencies = [ "anime-game-core", "anyhow", @@ -488,9 +488,9 @@ dependencies = [ [[package]] name = "cached" -version = "0.51.4" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0feb64151eed3da6107fddd2d717a6ca4b9dbd74e43784c55c841d1abfe5a295" +checksum = "a8466736fe5dbcaf8b8ee24f9bbefe43c884dc3e9ff7178da70f55bffca1133c" dependencies = [ "ahash", "cached_proc_macro", @@ -503,9 +503,9 @@ dependencies = [ [[package]] name = "cached_proc_macro" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771aa57f3b17da6c8bcacb187bb9ec9bc81c8160e72342e67c329e0e1651a669" +checksum = "575f32e012222055211b70f5b0601f951f84523410a0e65c81f2744a6042450d" dependencies = [ "darling", "proc-macro2", @@ -1926,9 +1926,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "open" -version = "5.1.4" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ca541f22b1c46d4bb9801014f234758ab4297e7870b904b6a8415b980a7388" +checksum = "9d2c909a3fce3bd80efef4cd1c6c056bd9376a8fe06fcfdbebaf32cb485a7e37" dependencies = [ "is-wsl", "libc", diff --git a/Cargo.toml b/Cargo.toml index 29daede3..bb824452 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,24 +19,24 @@ glib-build-tools = "0.19" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.15.4" +tag = "1.16.3" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only [dependencies] relm4 = { version = "0.8.1", features = ["macros", "libadwaita"] } -gtk = { package = "gtk4", version = "0.8.1", features = ["v4_12"] } +gtk = { package = "gtk4", version = "0.8.2", features = ["v4_12"] } adw = { package = "libadwaita", version = "0.6.0", features = ["v1_4"] } rfd = { version = "0.14.1", features = ["xdg-portal", "tokio"], default-features = false } -open = "5.0.0" +open = "5.2.0" whatadistro = "0.1.0" serde_json = "1.0" anyhow = "1.0" -lazy_static = "1.4.0" -cached = { version = "0.51", features = ["proc_macro"] } +lazy_static = "1.5.0" +cached = { version = "0.52", features = ["proc_macro"] } md-5 = { version = "0.10", features = ["asm"] } enum-ordinalize = "4.3" From b7bfda5a8572f56308b08f00532aebeee780cf50 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 5 Jul 2024 21:47:22 +0200 Subject: [PATCH 33/74] feat: clarified runtime dependencies Removed xdelta3, updated dwebp package name for fedora --- src/ui/first_run/dependencies.rs | 12 ++++-------- src/ui/first_run/welcome.rs | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/ui/first_run/dependencies.rs b/src/ui/first_run/dependencies.rs index 0c80e90c..f90a8614 100644 --- a/src/ui/first_run/dependencies.rs +++ b/src/ui/first_run/dependencies.rs @@ -68,7 +68,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo pacman -Syu git xdelta3 p7zip libwebp", + set_text: "sudo pacman -Syu git p7zip libwebp", set_editable: false } }, @@ -85,7 +85,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo apt install git xdelta3 p7zip-full webp", + set_text: "sudo apt install git p7zip-full webp", set_editable: false } }, @@ -102,7 +102,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo dnf install git xdelta p7zip libwebp", + set_text: "sudo dnf install git p7zip libwebp-tools", set_editable: false } }, @@ -119,10 +119,6 @@ impl SimpleAsyncComponent for DependenciesApp { set_title: "git" }, - adw::ActionRow { - set_title: "xdelta3" - }, - adw::ActionRow { set_title: "p7zip" }, @@ -195,7 +191,7 @@ impl SimpleAsyncComponent for DependenciesApp { match msg { #[allow(unused_must_use)] DependenciesAppMsg::Continue => { - let packages = ["git", "xdelta3", "dwebp"]; + let packages = ["git", "dwebp"]; for package in packages { if !is_available(package) { diff --git a/src/ui/first_run/welcome.rs b/src/ui/first_run/welcome.rs index 6bfcd15a..7965f951 100644 --- a/src/ui/first_run/welcome.rs +++ b/src/ui/first_run/welcome.rs @@ -81,7 +81,7 @@ impl SimpleAsyncComponent for WelcomeApp { WelcomeAppMsg::Continue => { let installed = is_available("git") && - is_available("xdelta3") && + is_available("dwebp") && (is_available("7z") || is_available("7za")); if installed { From 462ada831ceca795013c8342062d43d06b0f8547 Mon Sep 17 00:00:00 2001 From: Luk-ESC Date: Mon, 8 Jul 2024 20:45:40 +0200 Subject: [PATCH 34/74] refactor: remove unsafe in i18n --- src/i18n.rs | 26 +++++++++++++------------- src/main.rs | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/i18n.rs b/src/i18n.rs index 4e208311..2b3f459d 100644 --- a/src/i18n.rs +++ b/src/i18n.rs @@ -1,3 +1,4 @@ +use std::sync::OnceLock; use unic_langid::{langid, LanguageIdentifier}; fluent_templates::static_loader! { @@ -32,14 +33,15 @@ pub const SUPPORTED_LANGUAGES: &[LanguageIdentifier] = &[ langid!("cs-cz") ]; -pub static mut LANG: LanguageIdentifier = langid!("en-us"); +/// Fallback used if the system language is not supported +static FALLBACK: LanguageIdentifier = langid!("en-us"); + +pub static LANG: OnceLock = OnceLock::new(); /// Set launcher language pub fn set_lang(lang: LanguageIdentifier) -> anyhow::Result<()> { if SUPPORTED_LANGUAGES.iter().any(|item| item.language == lang.language) { - unsafe { - LANG = lang - } + LANG.set(lang).expect("Can't overwrite language!"); Ok(()) } @@ -50,8 +52,8 @@ pub fn set_lang(lang: LanguageIdentifier) -> anyhow::Result<()> { } /// Get launcher language -pub fn get_lang() -> LanguageIdentifier { - unsafe { LANG.clone() } +pub fn get_lang() -> &'static LanguageIdentifier { + LANG.get().expect("Language hasn't been initialized!") } /// Get system language or default language if system one is not supported @@ -60,7 +62,7 @@ pub fn get_lang() -> LanguageIdentifier { /// - `LC_ALL` /// - `LC_MESSAGES` /// - `LANG` -pub fn get_default_lang() -> LanguageIdentifier { +pub fn get_default_lang() -> &'static LanguageIdentifier { let current = std::env::var("LC_ALL") .unwrap_or_else(|_| std::env::var("LC_MESSAGES") .unwrap_or_else(|_| std::env::var("LANG") @@ -69,11 +71,11 @@ pub fn get_default_lang() -> LanguageIdentifier { for lang in SUPPORTED_LANGUAGES { if current.starts_with(lang.language.as_str()) { - return lang.clone(); + return lang; } } - get_lang() + &FALLBACK } pub fn format_lang(lang: &LanguageIdentifier) -> String { @@ -106,8 +108,7 @@ macro_rules! tr { { use fluent_templates::Loader; - #[allow(unused_unsafe)] - $crate::i18n::LOCALES.lookup(unsafe { $crate::i18n::LANG.as_ref() }, $id) + $crate::i18n::LOCALES.lookup($crate::i18n::get_lang(), $id) } }; @@ -124,8 +125,7 @@ macro_rules! tr { args.insert($key, FluentValue::from($value)); )* - #[allow(unused_unsafe)] - $crate::i18n::LOCALES.lookup_complete(unsafe { $crate::i18n::LANG.as_ref() }, $id, Some(&args)) + $crate::i18n::LOCALES.lookup_complete($crate::i18n::get_lang(), $id, Some(&args)) } }; } diff --git a/src/main.rs b/src/main.rs index e03a48f8..24fc6435 100644 --- a/src/main.rs +++ b/src/main.rs @@ -120,7 +120,7 @@ fn main() -> anyhow::Result<()> { // CONFIG is initialized lazily so it will contain following changes as well let mut config = Config::get().expect("Failed to get config"); - config.launcher.language = i18n::format_lang(&i18n::get_default_lang()); + config.launcher.language = i18n::format_lang(i18n::get_default_lang()); Config::update_raw(config).expect("Failed to update config"); } From 5d1cfb4f0b6dc41963ea0b680292c3442db5f868 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Thu, 11 Jul 2024 05:31:27 +0200 Subject: [PATCH 35/74] docs: updated readme --- README.md | 77 +++++++++++++++++++++------------------- repository/branches.png | Bin 31154 -> 0 bytes 2 files changed, 41 insertions(+), 36 deletions(-) delete mode 100644 repository/branches.png diff --git a/README.md b/README.md index 2e78c5c3..91b1cdcd 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,17 @@

      Discord · - Matrix · Wiki


      +# 🚧 Project status + +Due to lack of interest from my side the project stays in a legacy, maintaining-only state for a long period of time. This project will not receive huge updated unless really necessary. I still keep it up to date with latest changes in the game and work with community to solve the issues, but old-known unessential bugs will not be fixed, and new features will not be added. Instead, I'm working on other projects, and the future is in uniting all the launchers in one single [universal launcher](https://github.com/an-anime-team/anime-games-launcher). This project stays in "proof of concept" stage right now and required major changes, which, again, require interest from my side. + +
      + # ♥️ Useful links and thanks * [macOS launcher](https://github.com/3Shain/yet-another-anime-game-launcher) which contains some additional compatibility components @@ -18,58 +23,58 @@ * [Releases page](https://github.com/an-anime-team/an-anime-game-launcher/releases) where you can find latest available version * [Changelog](CHANGELOG.md) with chronology of the project +All the project's life happen in our discord server. If you have any questions or want to report an issue - please contact the dev directly there. +
      # ⬇️ Download -| Distribution | Format | Wiki | Source | -| - | - | - | - | -| Fedora | Flatpak | [link](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-any-distribution-flatpak) | - | -| Arch Linux, Manjaro | AUR | [link](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-arch-linux-aur) | [an-anime-game-launcher-bin](https://aur.archlinux.org/packages/an-anime-game-launcher-bin) | -| Fedora, OpenSUSE | RPM | [link](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-fedora-rpm) | [AAGL](https://build.opensuse.org/repositories/home:Maroxy:AAT-Apps/AAGL) | -| Ubuntu | pacstall | - | [an-anime-game-launcher-bin](https://pacstall.dev/packages/an-anime-game-launcher-bin) | -| Gentoo | ebuild | [link](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-gentoo-linux-ebuild) | [aagl-ebuilds](https://github.com/an-anime-team/gentoo-ebuilds) | -| NixOS | nixpkg | [link](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-nixos-nixpkg) | [aagl-gtk-on-nix](https://github.com/ezKEa/aagl-gtk-on-nix) | +Launcher developer does not provide any packages for this programm. Instead, we almost fully rely on other people to maintain them. -To see the installation guides, please visit the wiki page [here](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation) +To see the installation guides, please visit [this wiki page](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation). -Lutris integration described [here](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-lutris) +Instructions may be outdated due to lack of interest in maintaining them. You can help the project by keeping documentation up to date if you're interested in it. -## Chinese version support +## 😀 Official support -This should be automatically enabled if you're using zh_cn (Chinese) as your system language. If you're not using it - you can change the game edition in the launcher settings +These packages are officially supported by the An Anime Team, and we try to ensure that they work for everyone. -
      +| Format | Wiki | Source | Distributions | Maintainer | +| - | - | - | - | - | +| Flatpak | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-any-distribution-flatpak) | [flatpak-builds](https://github.com/an-anime-team/flatpak-builds) | Any (Fedora, Pop!_OS, etc.) | Luna (available in discord) | +| RPM | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-fedora-rpm) | [AAGL](https://build.opensuse.org/repositories/home:Maroxy:AAT-Apps/AAGL) * | Fedora, OpenSUSE | Maroxy (second discord admin) | + +> \* Note: RPM packages are often really outdated. It's not recommended to use them. + +## 🙂 Community support -# 💻 Development +These packages are supported by active members of our community. They're widely used and we keep some level of interactions with their maintainers. -| Folder | Description | -| - | - | -| src | Rust source code | -| assets | App assets folder | -| assets/locales | App localizations | -| target/release | Release build of the app | +| Format | Wiki | Source | Distributions | Maintainer | +| - | - | - | - | - | +| AUR | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-arch-linux-aur) | ... | Arch Linux, Manjaro, EndeavourOS | xstra * | +| NixOS module | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-nixos-nixpkg) | [aagl-gtk-on-nix](https://github.com/ezKEa/aagl-gtk-on-nix) | NixOS | Luxxy * | -## Clone repo +> \* Note: honorary members of our discord server. We have direct contact with them. -```sh -git clone --recursive https://github.com/an-anime-team/an-anime-game-launcher -``` +## 😑 Third party support -## Run app +These packages are supported by third party distributors. They either did not contact us, or contact exceptionally rarely. We do not verify state of these packages, and we are not related to their state at all. -```sh -cargo run -``` +| Format | Source | Distributions | +| - | - | - | +| pacstall | [an-anime-game-launcher-bin](https://pacstall.dev/packages/an-anime-game-launcher-bin) | Ubuntu | +| ebuild | [aagl-ebuilds](https://github.com/an-anime-team/gentoo-ebuilds) * | Gentoo | +| lutris | `lutris.net/games/gen...-imp...` (stripping the link) | Any | -## Build app +> \* Note: although it's hosted in our official repo we didn't contact with its maintainer for some time already, and recent updates were made via merge requests by the community. + +## Chinese version support -```sh -cargo build --release -``` +This should be automatically enabled if you're using `zh_cn` (Chinese) as your system language. If you're not using it - you can change the game edition in the launcher settings. -## Updates strategy +The main problem, though, is that github is blocked in China, and it's used in other parts of the launcher - not just in game edition. Notably, you can't use the same components index as other people do. -Starting from 3.2.1 ([fcab428](https://github.com/an-anime-team/an-anime-game-launcher/commit/fcab428cb40b1457f41e0856f9d1e1473acbe653)) we have 2 branches: stable ([main](https://github.com/an-anime-team/an-anime-game-launcher/tree/main)) and dev ([next](https://github.com/an-anime-team/an-anime-game-launcher/tree/next)). Code changes will be pushed into dev branch and merged into stable once they're ready for new version release +To fix this, you have to make your own copy of the [components](https://github.com/an-anime-team/components) repository and change all the links there from github releases to some mirror. Later you can update the components index repo link in your launcher's `config.json` file. - +If you have any questions - feel free to contact the dev in our discord server (or if you have no way to use discord - try sending me an email, but it's unlikely to be received). diff --git a/repository/branches.png b/repository/branches.png deleted file mode 100644 index 44de6899f5db1e67fd368f352223d6500a0a16f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31154 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 From eeae5bd970ebbdb966f29d24f6ba8c2a67d32ef5 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Thu, 11 Jul 2024 05:34:14 +0200 Subject: [PATCH 36/74] docs: added AUR source link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 91b1cdcd..29f461bb 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ These packages are supported by active members of our community. They're widely | Format | Wiki | Source | Distributions | Maintainer | | - | - | - | - | - | -| AUR | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-arch-linux-aur) | ... | Arch Linux, Manjaro, EndeavourOS | xstra * | +| AUR | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-arch-linux-aur) | [an-anime-game-launcher-bin](https://aur.archlinux.org/packages/an-anime-game-launcher-bin) | Arch Linux, Manjaro, EndeavourOS | xstra * | | NixOS module | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-nixos-nixpkg) | [aagl-gtk-on-nix](https://github.com/ezKEa/aagl-gtk-on-nix) | NixOS | Luxxy * | > \* Note: honorary members of our discord server. We have direct contact with them. From 424da3418d644709669890c4d7338211d37c3827 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Thu, 11 Jul 2024 05:34:27 +0200 Subject: [PATCH 37/74] build: updated cargo lock --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3e27a2f8..5d3014b8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1926,9 +1926,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "open" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2c909a3fce3bd80efef4cd1c6c056bd9376a8fe06fcfdbebaf32cb485a7e37" +checksum = "61a877bf6abd716642a53ef1b89fb498923a4afca5c754f9050b4d081c05c4b3" dependencies = [ "is-wsl", "libc", From 3eff1e2a6d446b1fce7132699684054c7ac9e01f Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Thu, 11 Jul 2024 05:49:00 +0200 Subject: [PATCH 38/74] docs: little text clarifications --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 29f461bb..a424f018 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ # 🚧 Project status -Due to lack of interest from my side the project stays in a legacy, maintaining-only state for a long period of time. This project will not receive huge updated unless really necessary. I still keep it up to date with latest changes in the game and work with community to solve the issues, but old-known unessential bugs will not be fixed, and new features will not be added. Instead, I'm working on other projects, and the future is in uniting all the launchers in one single [universal launcher](https://github.com/an-anime-team/anime-games-launcher). This project stays in "proof of concept" stage right now and required major changes, which, again, require interest from my side. +Due to lack of interest from my side the project stays in a legacy, maintaining-only state for a long period of time. This project will not receive huge updates unless really necessary. I still keep it up to date with latest changes in the game and work with community to solve the issues, but old-known unessential bugs will not be fixed, and new features will not be added. Instead, I'm working on other projects, and the future is in uniting all the launchers in one single [universal launcher](https://github.com/an-anime-team/anime-games-launcher). This project stays in "proof of concept" stage right now and requires major changes, which, again, require interest from my side. Keep your eye on our discord server for more details.
      @@ -63,9 +63,9 @@ These packages are supported by third party distributors. They either did not co | Format | Source | Distributions | | - | - | - | -| pacstall | [an-anime-game-launcher-bin](https://pacstall.dev/packages/an-anime-game-launcher-bin) | Ubuntu | -| ebuild | [aagl-ebuilds](https://github.com/an-anime-team/gentoo-ebuilds) * | Gentoo | -| lutris | `lutris.net/games/gen...-imp...` (stripping the link) | Any | +| Pacstall | [an-anime-game-launcher-bin](https://pacstall.dev/packages/an-anime-game-launcher-bin) | Ubuntu | +| Ebuild | [aagl-ebuilds](https://github.com/an-anime-team/gentoo-ebuilds) * | Gentoo | +| Lutris | `lutris.net/games/gen...-imp...` (stripping the link) | Any | > \* Note: although it's hosted in our official repo we didn't contact with its maintainer for some time already, and recent updates were made via merge requests by the community. From 1eeaaf333e86de3c1314c0dc07401dd6ae7c9eb3 Mon Sep 17 00:00:00 2001 From: ThunderGemios10 Date: Thu, 11 Jul 2024 19:02:02 +0800 Subject: [PATCH 39/74] Add third-party DEB package link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a424f018..d45eba26 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ These packages are supported by third party distributors. They either did not co | Format | Source | Distributions | | - | - | - | | Pacstall | [an-anime-game-launcher-bin](https://pacstall.dev/packages/an-anime-game-launcher-bin) | Ubuntu | +| DEB | [an-anime-game-launcher](https://launchpad.net/~thundergemios10/+archive/ubuntu/an-anime-game-launcher) | Ubuntu | | Ebuild | [aagl-ebuilds](https://github.com/an-anime-team/gentoo-ebuilds) * | Gentoo | | Lutris | `lutris.net/games/gen...-imp...` (stripping the link) | Any | From b24625b773ab08d5ee9b381f08103a09d7e1c772 Mon Sep 17 00:00:00 2001 From: ThunderGemios10 Date: Fri, 12 Jul 2024 05:28:37 +0800 Subject: [PATCH 40/74] Place DEB format above Pacstall Also added common Ubuntu-based distributions. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d45eba26..d94c86d2 100644 --- a/README.md +++ b/README.md @@ -63,8 +63,8 @@ These packages are supported by third party distributors. They either did not co | Format | Source | Distributions | | - | - | - | +| DEB | [an-anime-game-launcher](https://launchpad.net/~thundergemios10/+archive/ubuntu/an-anime-game-launcher) | Ubuntu, Linux Mint, Pop!_OS | | Pacstall | [an-anime-game-launcher-bin](https://pacstall.dev/packages/an-anime-game-launcher-bin) | Ubuntu | -| DEB | [an-anime-game-launcher](https://launchpad.net/~thundergemios10/+archive/ubuntu/an-anime-game-launcher) | Ubuntu | | Ebuild | [aagl-ebuilds](https://github.com/an-anime-team/gentoo-ebuilds) * | Gentoo | | Lutris | `lutris.net/games/gen...-imp...` (stripping the link) | Any | From 14c71beb0965b44c8019afff7e46d2498fceaa53 Mon Sep 17 00:00:00 2001 From: ezKEa Date: Wed, 17 Jul 2024 07:14:55 -0400 Subject: [PATCH 41/74] build: replace shell.nix with flake.nix for dev shell --- .envrc | 2 +- flake.lock | 44 ++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 35 +++++++++++++++++++++++++++++++++++ shell.nix | 39 --------------------------------------- 4 files changed, 80 insertions(+), 40 deletions(-) create mode 100644 flake.lock create mode 100644 flake.nix delete mode 100644 shell.nix diff --git a/.envrc b/.envrc index 1d953f4b..3550a30f 100644 --- a/.envrc +++ b/.envrc @@ -1 +1 @@ -use nix +use flake diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..7ebb7d9f --- /dev/null +++ b/flake.lock @@ -0,0 +1,44 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1720954236, + "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..1bcb04d0 --- /dev/null +++ b/flake.nix @@ -0,0 +1,35 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + }; + + outputs = { self, nixpkgs, nixpkgs-unstable }: let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + pkgs-unstable = nixpkgs-unstable.legacyPackages.x86_64-linux; + in { + devShells.x86_64-linux.default = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + pkgs-unstable.rustup + pkgs-unstable.rustfmt + pkgs-unstable.clippy + + gcc + cmake + pkg-config + + xdelta + libwebp + ]; + + buildInputs = with pkgs; [ + gtk4 + glib + gdk-pixbuf + gobject-introspection + + libadwaita + ]; + }; + }; +} diff --git a/shell.nix b/shell.nix deleted file mode 100644 index bb939d1a..00000000 --- a/shell.nix +++ /dev/null @@ -1,39 +0,0 @@ -let - nixpkgs = builtins.fetchGit { - name = "nixos-24.05"; - url = "https://github.com/nixos/nixpkgs"; - ref = "refs/heads/nixos-24.05"; - }; - - nixpkgs-unstable = builtins.fetchGit { - name = "nixos-unstable"; - url = "https://github.com/nixos/nixpkgs"; - ref = "refs/heads/nixos-unstable"; - }; - - pkgs = import nixpkgs {}; - pkgs-unstable = import nixpkgs-unstable {}; - -in pkgs.mkShell { - nativeBuildInputs = with pkgs; [ - pkgs-unstable.rustup - pkgs-unstable.rustfmt - pkgs-unstable.clippy - - gcc - cmake - pkg-config - - xdelta - libwebp - ]; - - buildInputs = with pkgs; [ - gtk4 - glib - gdk-pixbuf - gobject-introspection - - libadwaita - ]; -} From 42085c2b6107f30f10ec41c8fbcdfed45182274a Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 11:19:03 +0200 Subject: [PATCH 42/74] build: updated nix flake --- flake.lock | 12 +++++------ flake.nix | 58 ++++++++++++++++++++++++++++-------------------------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index 7ebb7d9f..e50b66ae 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1720954236, - "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=", + "lastModified": 1721226092, + "narHash": "sha256-UBvzVpo5sXSi2S/Av+t+Q+C2mhMIw/LBEZR+d6NMjws=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27", + "rev": "c716603a63aca44f39bef1986c13402167450e0a", "type": "github" }, "original": { @@ -18,11 +18,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1720957393, - "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", + "lastModified": 1721138476, + "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1bcb04d0..fd15b238 100644 --- a/flake.nix +++ b/flake.nix @@ -1,35 +1,37 @@ { - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - }; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + }; - outputs = { self, nixpkgs, nixpkgs-unstable }: let - pkgs = nixpkgs.legacyPackages.x86_64-linux; - pkgs-unstable = nixpkgs-unstable.legacyPackages.x86_64-linux; - in { - devShells.x86_64-linux.default = pkgs.mkShell { - nativeBuildInputs = with pkgs; [ - pkgs-unstable.rustup - pkgs-unstable.rustfmt - pkgs-unstable.clippy + outputs = { self, nixpkgs, nixpkgs-unstable }: + let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + pkgs-unstable = nixpkgs-unstable.legacyPackages.x86_64-linux; - gcc - cmake - pkg-config + in { + devShells.x86_64-linux.default = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + pkgs-unstable.rustup + pkgs-unstable.rustfmt + pkgs-unstable.clippy - xdelta - libwebp - ]; + gcc + cmake + pkg-config - buildInputs = with pkgs; [ - gtk4 - glib - gdk-pixbuf - gobject-introspection + xdelta + libwebp + ]; - libadwaita - ]; - }; - }; + buildInputs = with pkgs; [ + gtk4 + glib + gdk-pixbuf + gobject-introspection + + libadwaita + ]; + }; + }; } From 203f7e5f9875a255e2a3c8182be91dd6253aebef Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 11:19:13 +0200 Subject: [PATCH 43/74] build: updated `Cargo.lock` --- Cargo.lock | 177 ++++++++++++++++++++++++++--------------------------- 1 file changed, 88 insertions(+), 89 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5d3014b8..510ff4cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -312,9 +312,9 @@ dependencies = [ [[package]] name = "async-signal" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" +checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" dependencies = [ "async-io", "async-lock", @@ -336,9 +336,9 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", @@ -398,9 +398,9 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "blake3" -version = "1.5.1" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" dependencies = [ "arrayref", "arrayvec", @@ -461,9 +461,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" [[package]] name = "bzip2" @@ -545,13 +545,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.104" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b6a57f98764a267ff415d50a25e6e166f3831a5071af4995296ea97d210490" +checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" dependencies = [ "jobserver", "libc", - "once_cell", ] [[package]] @@ -693,9 +692,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -703,9 +702,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", @@ -717,9 +716,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", @@ -728,9 +727,9 @@ dependencies = [ [[package]] name = "deflate64" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83ace6c86376be0b6cdcf3fb41882e81d94b31587573d1cfa9d01cd06bba210d" +checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b" [[package]] name = "deranged" @@ -1512,7 +1511,7 @@ dependencies = [ "serde", "serde_derive", "toml", - "uuid 1.9.1", + "uuid 1.10.0", ] [[package]] @@ -1797,9 +1796,9 @@ dependencies = [ [[package]] name = "minreq" -version = "2.11.2" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fdef521c74c2884a4f3570bcdb6d2a77b3c533feb6b27ac2ae72673cc221c64" +checksum = "763d142cdff44aaadd9268bebddb156ef6c65a0e13486bb81673cf2d8739f9b0" dependencies = [ "base64 0.12.3", "log", @@ -2382,9 +2381,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", "core-foundation", @@ -2395,9 +2394,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", @@ -2426,18 +2425,18 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", @@ -2564,9 +2563,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.68" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -2575,9 +2574,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.30.12" +version = "0.30.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae" +checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" dependencies = [ "cfg-if", "core-foundation-sys", @@ -2614,9 +2613,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" [[package]] name = "tempfile" @@ -2632,18 +2631,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", @@ -2690,9 +2689,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -2705,9 +2704,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" dependencies = [ "backtrace", "bytes", @@ -2723,14 +2722,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.16", ] [[package]] @@ -2755,9 +2754,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" dependencies = [ "indexmap", "serde", @@ -2954,9 +2953,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom", ] @@ -3132,7 +3131,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3141,7 +3140,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3159,7 +3158,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3179,18 +3178,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -3201,9 +3200,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -3213,9 +3212,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -3225,15 +3224,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -3243,9 +3242,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -3255,9 +3254,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -3267,9 +3266,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -3279,9 +3278,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -3399,18 +3398,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", @@ -3482,27 +3481,27 @@ dependencies = [ [[package]] name = "zstd" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.1.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" +checksum = "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", From 39527c18d778a58cb1cd6f80465f2d47cc6c000e Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 12:28:41 +0200 Subject: [PATCH 44/74] feat: updated libraries versions --- Cargo.lock | 116 +++++----- Cargo.toml | 10 +- src/background.rs | 2 +- src/main.rs | 9 +- src/ui/components/version.rs | 59 ++--- src/ui/main/download_diff.rs | 51 +++-- src/ui/main/download_wine.rs | 80 ++++--- src/ui/main/mod.rs | 404 ++++++++++++++++++++--------------- src/ui/main/repair_game.rs | 25 ++- 9 files changed, 422 insertions(+), 334 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 510ff4cf..34caaef7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -521,9 +521,9 @@ checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" [[package]] name = "cairo-rs" -version = "0.19.4" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ac2a4d0e69036cf0062976f6efcba1aaee3e448594e6514bb2ddf87acce562" +checksum = "797fd5a634dcb0ad0d7d583df794deb0a236d88e759cd34b7da20198c6c9d145" dependencies = [ "bitflags 2.6.0", "cairo-sys-rs", @@ -534,9 +534,9 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64" +checksum = "428290f914b9b86089f60f5d8a9f6e440508e1bcff23b25afd51502b0a2da88f" dependencies = [ "glib-sys", "libc", @@ -1156,9 +1156,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624eaba126021103c7339b2e179ae4ee8cdab842daab419040710f38ed9f8699" +checksum = "28bb53ecb56857c683c9ec859908e076dd3969c7d67598bd8b1ce095d211304a" dependencies = [ "gdk-pixbuf-sys", "gio", @@ -1168,9 +1168,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4efa05a4f83c8cc50eb4d883787b919b85e5f1d8dd10b5a1df53bf5689782379" +checksum = "9f6681a0c1330d1d3968bec1529f7172d62819ef0bdbb0d18022320654158b03" dependencies = [ "gio-sys", "glib-sys", @@ -1181,9 +1181,9 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db265c9dd42d6a371e09e52deab3a84808427198b86ac792d75fd35c07990a07" +checksum = "4b7d7237c1487ed4b300aac7744efcbf1319e12d60d7afcd6f505414bd5b5dea" dependencies = [ "cairo-rs", "gdk-pixbuf", @@ -1196,9 +1196,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9418fb4e8a67074919fe7604429c45aa74eb9df82e7ca529767c6d4e9dc66dd" +checksum = "a67576c8ec012156d7f680e201a807b4432a77babb3157e0555e990ab6bcd878" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1242,9 +1242,9 @@ checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gio" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c49f117d373ffcc98a35d114db5478bc223341cff53e39a5d6feced9e2ddffe" +checksum = "398e3da68749fdc32783cbf7521ec3f65c9cf946db8c7774f8460af49e52c6e2" dependencies = [ "futures-channel", "futures-core", @@ -1260,9 +1260,9 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cd743ba4714d671ad6b6234e8ab2a13b42304d0e13ab7eba1dcdd78a7d6d4ef" +checksum = "e4feb96b31c32730ea3e1e89aecd2e4e37ecb1c473ad8f685e3430a159419f63" dependencies = [ "glib-sys", "gobject-sys", @@ -1273,9 +1273,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.19.9" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39650279f135469465018daae0ba53357942a5212137515777d5fdca74984a44" +checksum = "fee90a615ce05be7a32932cfb8adf2c4bbb4700e80d37713c981fb24c0c56238" dependencies = [ "bitflags 2.6.0", "futures-channel", @@ -1295,18 +1295,18 @@ dependencies = [ [[package]] name = "glib-build-tools" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "108f374fff60efd14b0d70d8916e7213aed18d7dd071ba3e9334ed2dac1dc86a" +checksum = "7029c2651d9b5d5a3eea93ec8a1995665c6d3a69ce9bf6042ad9064d134736d8" dependencies = [ "gio", ] [[package]] name = "glib-macros" -version = "0.19.9" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4429b0277a14ae9751350ad9b658b1be0abb5b54faa5bcdf6e74a3372582fad7" +checksum = "4da558d8177c0c8c54368818b508a4244e1286fce2858cef4e547023f0cfa5ef" dependencies = [ "heck", "proc-macro-crate", @@ -1317,9 +1317,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2dc18d3a82b0006d470b13304fbbb3e0a9bd4884cf985a60a7ed733ac2c4a5" +checksum = "4958c26e5a01c9af00dea669a97369eccbec29a8e6d125c24ea2d85ee7467b60" dependencies = [ "libc", "system-deps", @@ -1340,9 +1340,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e697e252d6e0416fd1d9e169bda51c0f1c926026c39ca21fbe8b1bb5c3b8b9e" +checksum = "c6908864f5ffff15b56df7e90346863904f49b949337ed0456b9287af61903b8" dependencies = [ "glib-sys", "libc", @@ -1351,9 +1351,9 @@ dependencies = [ [[package]] name = "graphene-rs" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb86031d24d9ec0a2a15978fc7a65d545a2549642cf1eb7c3dda358da42bcf" +checksum = "630e940ad5824f90221d6579043a9cd1f8bec86b4a17faaf7827d58eb16e8c1f" dependencies = [ "glib", "graphene-sys", @@ -1362,9 +1362,9 @@ dependencies = [ [[package]] name = "graphene-sys" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f530e0944bccba4b55065e9c69f4975ad691609191ebac16e13ab8e1f27af05" +checksum = "6fb8fade7b754982f47ebbed241fd2680816fdd4598321784da10b9e1168836a" dependencies = [ "glib-sys", "libc", @@ -1374,9 +1374,9 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7563884bf6939f4468e5d94654945bdd9afcaf8c3ba4c5dd17b5342b747221be" +checksum = "1f3cf2091e1af185b347b3450817d93dea6fe435df7abd4c2cd7fb5bcb4cfda8" dependencies = [ "cairo-rs", "gdk4", @@ -1389,9 +1389,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23024bf2636c38bbd1f822f58acc9d1c25b28da896ff0f291a1a232d4272b3dc" +checksum = "6aa69614a26d8760c186c3690f1b0fbb917572ca23ef83137445770ceddf8cde" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -1405,9 +1405,9 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b04e11319b08af11358ab543105a9e49b0c491faca35e2b8e7e36bfba8b671ab" +checksum = "eaffc6c743c9160514cc9b67eace364e5dc5798369fa809cdb04e035c21c5c5d" dependencies = [ "cairo-rs", "field-offset", @@ -1426,9 +1426,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec655a7ef88d8ce9592899deb8b2d0fa50bab1e6dd69182deb764e643c522408" +checksum = "188211f546ce5801f6d0245c37b6249143a2cb4fa040e54829ca1e76796e9f09" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1438,9 +1438,9 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c8aa86b7f85ea71d66ea88c1d4bae1cfacf51ca4856274565133838d77e57b5" +checksum = "1114a207af8ada02cf4658a76692f4190f06f093380d5be07e3ca8b43aa7c666" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1656,11 +1656,10 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libadwaita" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9" +checksum = "2ff9c222b5c783729de45185f07b2fec2d43a7f9c63961e777d3667e20443878" dependencies = [ - "gdk-pixbuf", "gdk4", "gio", "glib", @@ -1672,9 +1671,9 @@ dependencies = [ [[package]] name = "libadwaita-sys" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8" +checksum = "1c44d8bdbad31d6639e1f20cc9c1424f1a8e02d751fc28d44659bf743fb9eca6" dependencies = [ "gdk4-sys", "gio-sys", @@ -1969,9 +1968,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pango" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f0d328648058085cfd6897c9ae4272884098a926f3a833cd50c8c73e6eccecd" +checksum = "54768854025df6903061d0084fd9702a253ddfd60db7d9b751d43b76689a7f0a" dependencies = [ "gio", "glib", @@ -1981,9 +1980,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.19.8" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff03da4fa086c0b244d4a4587d3e20622a3ecdb21daea9edf66597224c634ba0" +checksum = "b07cc57d10cee4ec661f718a6902cee18c2f4cfae08e87e5a390525946913390" dependencies = [ "glib-sys", "gobject-sys", @@ -2198,9 +2197,9 @@ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "relm4" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e0e187b58db367305e8486d3228158251da1c8ba1e18baa9de61894e822649" +checksum = "cf0363f92b6a7eefd985b47f27b7ae168dd2fd5cd4013a338c9b111c33744d1f" dependencies = [ "flume", "fragile", @@ -2208,16 +2207,23 @@ dependencies = [ "gtk4", "libadwaita", "once_cell", + "relm4-css", "relm4-macros", "tokio", "tracing", ] +[[package]] +name = "relm4-css" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d3b924557df1cddc687b60b313c4b76620fdbf0e463afa4b29f67193ccf37f9" + [[package]] name = "relm4-macros" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0774e846889823aa5766f5b62cface3189a5b36280e65b2faaa6df0319da1726" +checksum = "fc5885640821d60062497737dd42fd04248d13c7ecccee620caaa4b210fe9905" dependencies = [ "proc-macro2", "quote", @@ -2589,9 +2595,9 @@ dependencies = [ [[package]] name = "system-deps" -version = "6.2.2" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +checksum = "6c81f13d9a334a6c242465140bd262fae382b752ff2011c4f7419919a9c97922" dependencies = [ "cfg-expr", "heck", diff --git a/Cargo.toml b/Cargo.toml index bb824452..9c980788 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,7 @@ lto = true opt-level = "s" [build-dependencies] -glib-build-tools = "0.19" +glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" @@ -25,12 +25,12 @@ features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only [dependencies] -relm4 = { version = "0.8.1", features = ["macros", "libadwaita"] } -gtk = { package = "gtk4", version = "0.8.2", features = ["v4_12"] } -adw = { package = "libadwaita", version = "0.6.0", features = ["v1_4"] } +relm4 = { version = "0.9.0", features = ["macros", "libadwaita"] } +gtk = { package = "gtk4", version = "0.9.0", features = ["v4_12"] } +adw = { package = "libadwaita", version = "0.7.0", features = ["v1_4"] } rfd = { version = "0.14.1", features = ["xdg-portal", "tokio"], default-features = false } -open = "5.2.0" +open = "5.3.0" whatadistro = "0.1.0" serde_json = "1.0" diff --git a/src/background.rs b/src/background.rs index 0f8e33af..bcef26fc 100644 --- a/src/background.rs +++ b/src/background.rs @@ -21,7 +21,7 @@ pub fn get_uri() -> String { else { let uri = concat!("https://sg-hyp-api.", "ho", "yo", "verse", ".com/hyp/hyp-connect/api/getAllGameBasicInfo?launcher_id=VYTpXlbWo8&language="); - uri.to_owned() + &crate::i18n::format_lang(&lang) + uri.to_owned() + &crate::i18n::format_lang(lang) } } diff --git a/src/main.rs b/src/main.rs index 24fc6435..868d7e82 100644 --- a/src/main.rs +++ b/src/main.rs @@ -201,6 +201,9 @@ fn main() -> anyhow::Result<()> { gtk::IconTheme::for_display(>k::gdk::Display::default().unwrap()) .add_resource_path(&format!("{APP_RESOURCE_PATH}/icons")); + // Set global css + relm4::set_global_css(&GLOBAL_CSS); + // Set application's title gtk::glib::set_application_name("An Anime Game Launcher"); gtk::glib::set_program_name(Some("An Anime Game Launcher")); @@ -218,9 +221,6 @@ fn main() -> anyhow::Result<()> { let app = RelmApp::new(APP_ID) .with_args(gtk_args); - // Set global css - app.set_global_css(&GLOBAL_CSS); - // Show first run window app.run::(()); } @@ -252,9 +252,6 @@ fn main() -> anyhow::Result<()> { let app = RelmApp::new(APP_ID) .with_args(gtk_args); - // Set global css - app.set_global_css(&GLOBAL_CSS); - // Show main window app.run::(()); } diff --git a/src/ui/components/version.rs b/src/ui/components/version.rs index ccc60899..81572b21 100644 --- a/src/ui/components/version.rs +++ b/src/ui/components/version.rs @@ -162,33 +162,38 @@ impl SimpleAsyncComponent for ComponentVersion { let progress_bar_sender = self.progress_bar.sender().clone(); #[allow(unused_must_use)] - std::thread::spawn(clone!(@strong self.download_folder as download_folder => move || { - progress_bar_sender.send(ProgressBarMsg::Reset); - progress_bar_sender.send(ProgressBarMsg::SetVisible(true)); - - installer.install(download_folder, move |state| { - match &state { - InstallerUpdate::UnpackingFinished | - InstallerUpdate::DownloadingError(_) | - InstallerUpdate::UnpackingError(_) => { - progress_bar_sender.send(ProgressBarMsg::SetVisible(false)); - - if let InstallerUpdate::UnpackingFinished = &state { - sender.input(ComponentVersionMsg::SetState(VersionState::Downloaded)); - sender.output(ComponentGroupMsg::CallOnDownloaded); - } - - else { - sender.input(ComponentVersionMsg::SetState(VersionState::NotDownloaded)); - } - }, - - _ => () - } - - progress_bar_sender.send(ProgressBarMsg::UpdateFromState(DiffUpdate::InstallerUpdate(state))); - }); - })); + std::thread::spawn(clone!( + #[strong(rename_to = download_folder)] + self.download_folder, + + move || { + progress_bar_sender.send(ProgressBarMsg::Reset); + progress_bar_sender.send(ProgressBarMsg::SetVisible(true)); + + installer.install(download_folder, move |state| { + match &state { + InstallerUpdate::UnpackingFinished | + InstallerUpdate::DownloadingError(_) | + InstallerUpdate::UnpackingError(_) => { + progress_bar_sender.send(ProgressBarMsg::SetVisible(false)); + + if let InstallerUpdate::UnpackingFinished = &state { + sender.input(ComponentVersionMsg::SetState(VersionState::Downloaded)); + sender.output(ComponentGroupMsg::CallOnDownloaded); + } + + else { + sender.input(ComponentVersionMsg::SetState(VersionState::NotDownloaded)); + } + }, + + _ => () + } + + progress_bar_sender.send(ProgressBarMsg::UpdateFromState(DiffUpdate::InstallerUpdate(state))); + }); + } + )); } } diff --git a/src/ui/main/download_diff.rs b/src/ui/main/download_diff.rs index cf58f250..f6ff3826 100644 --- a/src/ui/main/download_diff.rs +++ b/src/ui/main/download_diff.rs @@ -21,33 +21,38 @@ pub fn download_diff(sender: ComponentSender, progress_bar_input: Sender move |state| { - match &state { - DiffUpdate::InstallerUpdate(InstallerUpdate::DownloadingError(err)) => { - tracing::error!("Downloading failed: {err}"); - - sender.input(AppMsg::Toast { - title: tr!("downloading-failed"), - description: Some(err.to_string()) - }); + let result = diff.install_to(game_path, clone!( + #[strong] + sender, + + move |state| { + match &state { + DiffUpdate::InstallerUpdate(InstallerUpdate::DownloadingError(err)) => { + tracing::error!("Downloading failed: {err}"); + + sender.input(AppMsg::Toast { + title: tr!("downloading-failed"), + description: Some(err.to_string()) + }); + } + + DiffUpdate::InstallerUpdate(InstallerUpdate::UnpackingError(err)) => { + tracing::error!("Unpacking failed: {err}"); + + sender.input(AppMsg::Toast { + title: tr!("unpacking-failed"), + description: Some(err.clone()) + }); + } + + _ => () } - DiffUpdate::InstallerUpdate(InstallerUpdate::UnpackingError(err)) => { - tracing::error!("Unpacking failed: {err}"); - - sender.input(AppMsg::Toast { - title: tr!("unpacking-failed"), - description: Some(err.clone()) - }); + #[allow(unused_must_use)] { + progress_bar_input.send(ProgressBarMsg::UpdateFromState(state)); } - - _ => () - } - - #[allow(unused_must_use)] { - progress_bar_input.send(ProgressBarMsg::UpdateFromState(state)); } - })); + )); let mut perform_on_download_needed = true; diff --git a/src/ui/main/download_wine.rs b/src/ui/main/download_wine.rs index 06f2414b..69898f26 100644 --- a/src/ui/main/download_wine.rs +++ b/src/ui/main/download_wine.rs @@ -52,45 +52,55 @@ pub fn download_wine(sender: ComponentSender, progress_bar_input: Sender move || { - installer.install(&config.game.wine.builds, clone!(@strong sender => move |state| { - match &state { - InstallerUpdate::DownloadingError(err) => { - tracing::error!("Downloading failed: {err}"); - - sender.input(AppMsg::Toast { - title: tr!("downloading-failed"), - description: Some(err.to_string()) - }); + std::thread::spawn(clone!( + #[strong] + sender, + + move || { + installer.install(&config.game.wine.builds, clone!( + #[strong] + sender, + + move |state| { + match &state { + InstallerUpdate::DownloadingError(err) => { + tracing::error!("Downloading failed: {err}"); + + sender.input(AppMsg::Toast { + title: tr!("downloading-failed"), + description: Some(err.to_string()) + }); + } + + InstallerUpdate::UnpackingError(err) => { + tracing::error!("Unpacking failed: {err}"); + + sender.input(AppMsg::Toast { + title: tr!("unpacking-failed"), + description: Some(err.clone()) + }); + } + + _ => () + } + + #[allow(unused_must_use)] { + progress_bar_input.send(ProgressBarMsg::UpdateFromState(DiffUpdate::InstallerUpdate(state))); + } } + )); - InstallerUpdate::UnpackingError(err) => { - tracing::error!("Unpacking failed: {err}"); + config.game.wine.selected = Some(wine.name.clone()); - sender.input(AppMsg::Toast { - title: tr!("unpacking-failed"), - description: Some(err.clone()) - }); - } - - _ => () - } - - #[allow(unused_must_use)] { - progress_bar_input.send(ProgressBarMsg::UpdateFromState(DiffUpdate::InstallerUpdate(state))); - } - })); - - config.game.wine.selected = Some(wine.name.clone()); - - Config::update(config); + Config::update(config); - sender.input(AppMsg::SetDownloading(false)); - sender.input(AppMsg::UpdateLauncherState { - perform_on_download_needed: false, - show_status_page: true - }); - })); + sender.input(AppMsg::SetDownloading(false)); + sender.input(AppMsg::UpdateLauncherState { + perform_on_download_needed: false, + show_status_page: true + }); + } + )); } Err(err) => sender.input(AppMsg::Toast { diff --git a/src/ui/main/mod.rs b/src/ui/main/mod.rs index 67965a3d..ab2379f5 100644 --- a/src/ui/main/mod.rs +++ b/src/ui/main/mod.rs @@ -516,11 +516,16 @@ impl SimpleComponent for App { connect_clicked[sender] => move |_| { sender.input(AppMsg::DisableKillGameButton(true)); - std::thread::spawn(clone!(@strong sender => move || { - std::thread::sleep(std::time::Duration::from_secs(3)); + std::thread::spawn(clone!( + #[strong] + sender, - sender.input(AppMsg::DisableKillGameButton(false)); - })); + move || { + std::thread::sleep(std::time::Duration::from_secs(3)); + + sender.input(AppMsg::DisableKillGameButton(false)); + } + )); let result = std::process::Command::new("pkill") .arg("-f") // full text search @@ -676,134 +681,164 @@ impl SimpleComponent for App { // TODO: reduce code somehow - group.add_action::(RelmAction::new_stateless(clone!(@strong sender => move |_| { - if let Err(err) = open::that(LAUNCHER_FOLDER.as_path()) { - sender.input(AppMsg::Toast { - title: tr!("launcher-folder-opening-error"), - description: Some(err.to_string()) - }); + group.add_action::(RelmAction::new_stateless(clone!( + #[strong] + sender, - tracing::error!("Failed to open launcher folder: {err}"); - } - }))); + move |_| { + if let Err(err) = open::that(LAUNCHER_FOLDER.as_path()) { + sender.input(AppMsg::Toast { + title: tr!("launcher-folder-opening-error"), + description: Some(err.to_string()) + }); - group.add_action::(RelmAction::new_stateless(clone!(@strong sender => move |_| { - let path = match Config::get() { - Ok(config) => config.game.path.for_edition(config.launcher.edition).to_path_buf(), - Err(_) => CONFIG.game.path.for_edition(CONFIG.launcher.edition).to_path_buf(), - }; + tracing::error!("Failed to open launcher folder: {err}"); + } + } + ))); - if let Err(err) = open::that(path) { - sender.input(AppMsg::Toast { - title: tr!("game-folder-opening-error"), - description: Some(err.to_string()) - }); + group.add_action::(RelmAction::new_stateless(clone!( + #[strong] + sender, - tracing::error!("Failed to open game folder: {err}"); - } - }))); + move |_| { + let path = match Config::get() { + Ok(config) => config.game.path.for_edition(config.launcher.edition).to_path_buf(), + Err(_) => CONFIG.game.path.for_edition(CONFIG.launcher.edition).to_path_buf(), + }; - group.add_action::(RelmAction::new_stateless(clone!(@strong sender => move |_| { - if let Ok(file) = config_file() { - if let Err(err) = open::that(file) { + if let Err(err) = open::that(path) { sender.input(AppMsg::Toast { - title: tr!("config-file-opening-error"), + title: tr!("game-folder-opening-error"), description: Some(err.to_string()) }); - tracing::error!("Failed to open config file: {err}"); + tracing::error!("Failed to open game folder: {err}"); } } - }))); + ))); - group.add_action::(RelmAction::new_stateless(clone!(@strong sender => move |_| { - if let Err(err) = open::that(crate::DEBUG_FILE.as_os_str()) { - sender.input(AppMsg::Toast { - title: tr!("debug-file-opening-error"), - description: Some(err.to_string()) - }); + group.add_action::(RelmAction::new_stateless(clone!( + #[strong] + sender, - tracing::error!("Failed to open debug file: {err}"); - } - }))); - - group.add_action::(RelmAction::new_stateless(clone!(@strong sender => move |_| { - std::thread::spawn(clone!(@strong sender => move || { - let config = Config::get().unwrap_or_else(|_| CONFIG.clone()); - - let web_cache = config.game.path.for_edition(config.launcher.edition) - .join(config.launcher.edition.data_folder()) - .join("webCaches"); - - // Find newest cache folder - let mut web_cache_id = None; - - if let Ok(entries) = web_cache.read_dir() { - for entry in entries.flatten() { - if entry.path().is_dir() && - entry.file_name().to_string_lossy().trim_matches(|c| "0123456789.".contains(c)).is_empty() && - Some(entry.file_name()) > web_cache_id - { - web_cache_id = Some(entry.file_name()); - } + move |_| { + if let Ok(file) = config_file() { + if let Err(err) = open::that(file) { + sender.input(AppMsg::Toast { + title: tr!("config-file-opening-error"), + description: Some(err.to_string()) + }); + + tracing::error!("Failed to open config file: {err}"); } } + } + ))); + + group.add_action::(RelmAction::new_stateless(clone!( + #[strong] + sender, + + move |_| { + if let Err(err) = open::that(crate::DEBUG_FILE.as_os_str()) { + sender.input(AppMsg::Toast { + title: tr!("debug-file-opening-error"), + description: Some(err.to_string()) + }); + + tracing::error!("Failed to open debug file: {err}"); + } + } + ))); + + group.add_action::(RelmAction::new_stateless(clone!( + #[strong] + sender, + + move |_| { + std::thread::spawn(clone!( + #[strong] + sender, + + move || { + let config = Config::get().unwrap_or_else(|_| CONFIG.clone()); + + let web_cache = config.game.path.for_edition(config.launcher.edition) + .join(config.launcher.edition.data_folder()) + .join("webCaches"); + + // Find newest cache folder + let mut web_cache_id = None; + + if let Ok(entries) = web_cache.read_dir() { + for entry in entries.flatten() { + if entry.path().is_dir() && + entry.file_name().to_string_lossy().trim_matches(|c| "0123456789.".contains(c)).is_empty() && + Some(entry.file_name()) > web_cache_id + { + web_cache_id = Some(entry.file_name()); + } + } + } - if let Some(web_cache_id) = web_cache_id { - let web_cache = web_cache - .join(web_cache_id) - .join("Cache/Cache_Data/data_2"); + if let Some(web_cache_id) = web_cache_id { + let web_cache = web_cache + .join(web_cache_id) + .join("Cache/Cache_Data/data_2"); - match std::fs::read(web_cache) { - Ok(web_cache) => { - let web_cache = String::from_utf8_lossy(&web_cache); + match std::fs::read(web_cache) { + Ok(web_cache) => { + let web_cache = String::from_utf8_lossy(&web_cache); - // https://webstatic-sea.[ho-yo-ver-se].com/[ge-nsh-in]/event/e20190909gacha-v2/index.html?...... - if let Some(url) = web_cache.lines().rev().find(|line| line.contains("gacha-v3/index.html")) { - let url_begin_pos = url.find("https://").unwrap(); - let url_end_pos = url_begin_pos + url[url_begin_pos..].find("\0\0\0\0").unwrap(); + // https://webstatic-sea.[ho-yo-ver-se].com/[ge-nsh-in]/event/e20190909gacha-v2/index.html?...... + if let Some(url) = web_cache.lines().rev().find(|line| line.contains("gacha-v3/index.html")) { + let url_begin_pos = url.find("https://").unwrap(); + let url_end_pos = url_begin_pos + url[url_begin_pos..].find("\0\0\0\0").unwrap(); - if let Err(err) = open::that(format!("{}#/log", &url[url_begin_pos..url_end_pos])) { - tracing::error!("Failed to open wishes URL: {err}"); + if let Err(err) = open::that(format!("{}#/log", &url[url_begin_pos..url_end_pos])) { + tracing::error!("Failed to open wishes URL: {err}"); + + sender.input(AppMsg::Toast { + title: tr!("wish-url-opening-error"), + description: Some(err.to_string()) + }); + } + } + + else { + tracing::error!("Couldn't find wishes URL: no url found"); + + sender.input(AppMsg::Toast { + title: tr!("wish-url-search-failed"), + description: None + }); + } + } + + Err(err) => { + tracing::error!("Couldn't find wishes URL: failed to open cache file: {err}"); sender.input(AppMsg::Toast { - title: tr!("wish-url-opening-error"), + title: tr!("wish-url-search-failed"), description: Some(err.to_string()) }); } } - - else { - tracing::error!("Couldn't find wishes URL: no url found"); - - sender.input(AppMsg::Toast { - title: tr!("wish-url-search-failed"), - description: None - }); - } } - Err(err) => { - tracing::error!("Couldn't find wishes URL: failed to open cache file: {err}"); + else { + tracing::error!("Couldn't find wishes URL: cache file doesn't exist"); sender.input(AppMsg::Toast { title: tr!("wish-url-search-failed"), - description: Some(err.to_string()) + description: None }); } } - } - - else { - tracing::error!("Couldn't find wishes URL: cache file doesn't exist"); - - sender.input(AppMsg::Toast { - title: tr!("wish-url-search-failed"), - description: None - }); - } - })); - }))); + )); + } + ))); group.add_action::(RelmAction::new_stateless(move |_| { about_dialog_broker.send(AboutDialogMsg::Show); @@ -824,87 +859,102 @@ impl SimpleComponent for App { // Download background picture if needed if download_picture { - tasks.push(std::thread::spawn(clone!(@strong sender => move || { - if let Err(err) = crate::background::download_background() { - tracing::error!("Failed to download background picture: {err}"); + tasks.push(std::thread::spawn(clone!( + #[strong] + sender, - sender.input(AppMsg::Toast { - title: tr!("background-downloading-failed"), - description: Some(err.to_string()) - }); + move || { + if let Err(err) = crate::background::download_background() { + tracing::error!("Failed to download background picture: {err}"); + + sender.input(AppMsg::Toast { + title: tr!("background-downloading-failed"), + description: Some(err.to_string()) + }); + } } - }))); + ))); } // Update components index - tasks.push(std::thread::spawn(clone!(@strong sender => move || { - let components = ComponentsLoader::new(&CONFIG.components.path); - - match components.is_sync(&CONFIG.components.servers) { - Ok(Some(_)) => (), - - Ok(None) => { - for host in &CONFIG.components.servers { - match components.sync(host) { - Ok(changes) => { - sender.input(AppMsg::Toast { - title: tr!("components-index-updated"), - description: if changes.is_empty() { - None - } else { - Some(changes.into_iter() - .map(|line| format!("- {line}")) - .collect::>() - .join("\n")) - } - }); + tasks.push(std::thread::spawn(clone!( + #[strong] + sender, + + move || { + let components = ComponentsLoader::new(&CONFIG.components.path); + + match components.is_sync(&CONFIG.components.servers) { + Ok(Some(_)) => (), + + Ok(None) => { + for host in &CONFIG.components.servers { + match components.sync(host) { + Ok(changes) => { + sender.input(AppMsg::Toast { + title: tr!("components-index-updated"), + description: if changes.is_empty() { + None + } else { + Some(changes.into_iter() + .map(|line| format!("- {line}")) + .collect::>() + .join("\n")) + } + }); - break; - } + break; + } - Err(err) => { - tracing::error!("Failed to sync components index"); + Err(err) => { + tracing::error!("Failed to sync components index"); - sender.input(AppMsg::Toast { - title: tr!("components-index-sync-failed"), - description: Some(err.to_string()) - }); + sender.input(AppMsg::Toast { + title: tr!("components-index-sync-failed"), + description: Some(err.to_string()) + }); + } } } } - } - Err(err) => { - tracing::error!("Failed to verify that components index synced"); + Err(err) => { + tracing::error!("Failed to verify that components index synced"); - sender.input(AppMsg::Toast { - title: tr!("components-index-verify-failed"), - description: Some(err.to_string()) - }); + sender.input(AppMsg::Toast { + title: tr!("components-index-verify-failed"), + description: Some(err.to_string()) + }); + } } } - }))); + ))); // Update initial game version status - tasks.push(std::thread::spawn(clone!(@strong sender => move || { - sender.input(AppMsg::SetGameDiff(match GAME.try_get_diff() { - Ok(diff) => Some(diff), - Err(err) => { - tracing::error!("Failed to find game diff: {err}"); + tasks.push(std::thread::spawn(clone!( + #[strong] + sender, - sender.input(AppMsg::Toast { - title: tr!("game-diff-finding-error"), - description: Some(err.to_string()) - }); + move || { + sender.input(AppMsg::SetGameDiff(match GAME.try_get_diff() { + Ok(diff) => Some(diff), + Err(err) => { + tracing::error!("Failed to find game diff: {err}"); - None - } - })); + sender.input(AppMsg::Toast { + title: tr!("game-diff-finding-error"), + description: Some(err.to_string()) + }); - tracing::info!("Updated game version status"); - }))); + None + } + })); + + tracing::info!("Updated game version status"); + } + ))); // Await for tasks to finish execution for task in tasks { @@ -938,21 +988,26 @@ impl SimpleComponent for App { self.disabled_buttons = true; } - let updater = clone!(@strong sender => move |state| { - if show_status_page { - match state { - StateUpdating::Game => { - sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--game"))))); - } + let updater = clone!( + #[strong] + sender, + + move |state| { + if show_status_page { + match state { + StateUpdating::Game => { + sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--game"))))); + } - StateUpdating::Voice(locale) => { - sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--voice", { - "locale" = locale.to_name() - }))))); + StateUpdating::Voice(locale) => { + sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--voice", { + "locale" = locale.to_name() + }))))); + } } } } - }); + ); let state = match LauncherState::get_from_config(updater) { Ok(state) => Some(state), @@ -1043,9 +1098,14 @@ impl SimpleComponent for App { std::thread::spawn(move || { for mut diff in diffs { - let result = diff.download_to(&tmp, clone!(@strong progress_bar_input => move |curr, total| { - progress_bar_input.send(ProgressBarMsg::UpdateProgress(curr, total)); - })); + let result = diff.download_to(&tmp, clone!( + #[strong] + progress_bar_input, + + move |curr, total| { + progress_bar_input.send(ProgressBarMsg::UpdateProgress(curr, total)); + } + )); if let Err(err) = result { sender.input(AppMsg::Toast { diff --git a/src/ui/main/repair_game.rs b/src/ui/main/repair_game.rs index c3db0080..02963740 100644 --- a/src/ui/main/repair_game.rs +++ b/src/ui/main/repair_game.rs @@ -62,17 +62,22 @@ pub fn repair_game(sender: ComponentSender, progress_bar_input: Sender move || { - for file in thread_files { - let status = if config.launcher.repairer.fast { - file.fast_verify(&game_path) - } else { - file.verify(&game_path) - }; - - thread_sender.send((file, status)).unwrap(); + std::thread::spawn(clone!( + #[strong] + game_path, + + move || { + for file in thread_files { + let status = if config.launcher.repairer.fast { + file.fast_verify(&game_path) + } else { + file.verify(&game_path) + }; + + thread_sender.send((file, status)).unwrap(); + } } - })); + )); } // We have [config.launcher.repairer.threads] copies of this sender + the original one From b7ca18495ef93a87a314ca40409053ec77ccaff1 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 12:39:27 +0200 Subject: [PATCH 45/74] feat: changed background images processing logic --- src/background.rs | 14 ++++---------- src/main.rs | 6 +++--- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/background.rs b/src/background.rs index bcef26fc..288f8043 100644 --- a/src/background.rs +++ b/src/background.rs @@ -73,12 +73,6 @@ pub fn download_background() -> anyhow::Result<()> { tracing::debug!("Background picture is already downloaded. Skipping"); download_image = false; - - if crate::BACKGROUND_PRIMARY_FILE.exists() { - tracing::debug!("Background picture is already patched. Skipping"); - - return Ok(()); - } } } @@ -97,20 +91,20 @@ pub fn download_background() -> anyhow::Result<()> { Command::new("dwebp") .arg(crate::BACKGROUND_FILE.as_path()) .arg("-o") - .arg(crate::BACKGROUND_PRIMARY_FILE.as_path()) + .arg(crate::PROCESSED_BACKGROUND_FILE.as_path()) .spawn()? .wait()?; // If it failed to re-code the file - just copy it // Will happen with HSR because devs apparently named // their background image ".webp" while it's JPEG - if !crate::BACKGROUND_PRIMARY_FILE.exists() { - std::fs::copy(crate::BACKGROUND_FILE.as_path(), crate::BACKGROUND_PRIMARY_FILE.as_path())?; + if !crate::PROCESSED_BACKGROUND_FILE.exists() { + std::fs::copy(crate::BACKGROUND_FILE.as_path(), crate::PROCESSED_BACKGROUND_FILE.as_path())?; } } else { - std::fs::copy(crate::BACKGROUND_FILE.as_path(), crate::BACKGROUND_PRIMARY_FILE.as_path())?; + std::fs::copy(crate::BACKGROUND_FILE.as_path(), crate::PROCESSED_BACKGROUND_FILE.as_path())?; } Ok(()) diff --git a/src/main.rs b/src/main.rs index 868d7e82..c0ddcf25 100644 --- a/src/main.rs +++ b/src/main.rs @@ -61,8 +61,8 @@ lazy_static::lazy_static! { /// Path to `background` file. Standard is `$HOME/.local/share/anime-game-launcher/background` pub static ref BACKGROUND_FILE: PathBuf = LAUNCHER_FOLDER.join("background"); - /// Path to `background-primary` file. Standard is `$HOME/.local/share/anime-game-launcher/background-primary` - pub static ref BACKGROUND_PRIMARY_FILE: PathBuf = LAUNCHER_FOLDER.join("background-primary"); + /// Path to the processed `background` file. Standard is `$HOME/.cache/anime-game-launcher/background` + pub static ref PROCESSED_BACKGROUND_FILE: PathBuf = CACHE_FOLDER.join("background"); /// Path to `.keep-background` file. Used to mark launcher that it shouldn't update background picture /// @@ -102,7 +102,7 @@ lazy_static::lazy_static! { .round-bin {{ border-radius: 24px; }} - ", BACKGROUND_PRIMARY_FILE.to_string_lossy()); + ", PROCESSED_BACKGROUND_FILE.to_string_lossy()); } fn main() -> anyhow::Result<()> { From 7f5ebc173b64a9889ddb19fbbfc914457fbabd66 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 13:09:33 +0200 Subject: [PATCH 46/74] build: delete unneeded package from the `flake.nix` --- flake.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/flake.nix b/flake.nix index fd15b238..9e7c0ccb 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,6 @@ cmake pkg-config - xdelta libwebp ]; From 77267731056eb2c6a79f3bfd44f0937eff602243 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 13:16:23 +0200 Subject: [PATCH 47/74] feat(ui): list "Indonesia" wine language option --- src/ui/preferences/enhancements/mod.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ui/preferences/enhancements/mod.rs b/src/ui/preferences/enhancements/mod.rs index e38d149a..a2e59691 100644 --- a/src/ui/preferences/enhancements/mod.rs +++ b/src/ui/preferences/enhancements/mod.rs @@ -212,7 +212,8 @@ impl SimpleAsyncComponent for EnhancementsApp { "Español", "中国", "日本語", - "한국어" + "한국어", + "Indonesia" ]), set_selected: CONFIG.game.wine.language.ordinal() as u32, From 8f4f1eaa39b08cff4477551fefa132e781d515f7 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 13:16:32 +0200 Subject: [PATCH 48/74] build: updated SDK version --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 34caaef7..44d9b75b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,8 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.21.2" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.21.2#7944efab8516e581367963e82674060a33b9d72e" +version = "1.21.3" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.21.3#c2aca11525dba74f7dd3ae4415a11c1764c5fa86" dependencies = [ "anyhow", "bzip2", @@ -107,8 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.16.3" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.3#91ce712a941dbbee8b24b8beadaf50bb01dfb32f" +version = "1.16.4" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.4#9aa142ffa68a043077c5fa57e05dcd6cc613dc07" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 9c980788..1a87d51d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.16.3" +tag = "1.16.4" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From f32aa2465e2acbe47f3521bc7e6f15505cce05c1 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 13:22:39 +0200 Subject: [PATCH 49/74] feat: updated changelog --- CHANGELOG.md | 17 +++++++++++++++++ src/ui/about.rs | 17 +++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af0b38fc..e115dc23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Added "Indonesia" wine language option +- Added writing of the game's output to the `game.log` file in the launcher's folder + +### Fixed + +- Fixed `dwebp` package name for fedora during initial setup + +### Changed + +- Changed background images processing logic + +### Removed + +- Removed `xdelta3` dependency + ## [3.10.1] - 02.07.2024 ### Added diff --git a/src/ui/about.rs b/src/ui/about.rs index bfa2e6e5..521055ee 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -98,13 +98,26 @@ impl SimpleComponent for AboutDialog { "

      Added

      ", "
        ", - "
      • Handle dwebp re-coding errors
      • ", + "
      • Added \"Indonesia\" wine language option
      • ", + "
      • Added writing of the game's output to the \"game.log\" file in the launcher's folder
      • ", "
      ", "

      Fixed

      ", "
        ", - "
      • Added workaround for wrong pre-downloads API format
      • ", + "
      • Fixed \"dwebp\" package name for fedora during initial setup
      • ", + "
      ", + + "

      Changed

      ", + + "
        ", + "
      • Changed background images processing logic
      • ", + "
      ", + + "

      Removed

      ", + + "
        ", + "
      • Removed \"xdelta3\" dependency
      • ", "
      " ].join("\n"), From 05c55ba7d91caa3649844b4704429c533c2bc436 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 13:25:44 +0200 Subject: [PATCH 50/74] feat: added missing changelog entry --- CHANGELOG.md | 1 + src/ui/about.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e115dc23..1aaf5eb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Updated FPS unlocker version - Changed background images processing logic ### Removed diff --git a/src/ui/about.rs b/src/ui/about.rs index 521055ee..9a7892ad 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -111,6 +111,7 @@ impl SimpleComponent for AboutDialog { "

      Changed

      ", "
        ", + "
      • Updated FPS unlocker version
      • ", "
      • Changed background images processing logic
      • ", "
      ", From 290adcee22297fa797a16a439fe3a49c315816ca Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 14:41:50 +0200 Subject: [PATCH 51/74] builds: updated SDK version --- CHANGELOG.md | 3 ++- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1aaf5eb8..0a1c834b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added "Indonesia" wine language option -- Added writing of the game's output to the `game.log` file in the launcher's folder +- Added writing of the game's output to the `game.log` file in the launcher's folder. + Size of this file is controlled by the `LAUNCHER_GAME_LOG_FILE_LIMIT` environment variable. ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 44d9b75b..44c568db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -107,8 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.16.4" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.4#9aa142ffa68a043077c5fa57e05dcd6cc613dc07" +version = "1.16.7" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.7#4589c81c27693643f3f73f8be6878f8f97c282d4" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 1a87d51d..8a30ab1e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.16.4" +tag = "1.16.7" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From 4c95c145d27beb27ca2889c7ec9b08ad812afddc Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 16:08:50 +0200 Subject: [PATCH 52/74] 3.10.2 --- CHANGELOG.md | 5 ++++- Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a1c834b..4b832e26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.10.2] - 19.07.2024 + ### Added - Added "Indonesia" wine language option @@ -526,7 +528,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.1...next +[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.2...next +[3.10.2]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.1...3.10.2 [3.10.1]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.0...3.10.1 [3.10.0]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.6...3.10.0 [3.9.6]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.5...3.9.6 diff --git a/Cargo.lock b/Cargo.lock index 44c568db..8a706a32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -82,7 +82,7 @@ dependencies = [ [[package]] name = "anime-game-launcher" -version = "3.10.1" +version = "3.10.2" dependencies = [ "anime-launcher-sdk", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 8a30ab1e..eaebb67f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anime-game-launcher" -version = "3.10.1" +version = "3.10.2" description = "Anime Game launcher" authors = ["Nikita Podvirnyy "] homepage = "https://github.com/an-anime-team/an-anime-game-launcher" From c97259c0639783a25be11a301509d39168067c97 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 19 Jul 2024 16:18:24 +0200 Subject: [PATCH 53/74] docs: updated readme --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d94c86d2..cb6e3bb1 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,8 @@ These packages are officially supported by the An Anime Team, and we try to ensu | Flatpak | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-any-distribution-flatpak) | [flatpak-builds](https://github.com/an-anime-team/flatpak-builds) | Any (Fedora, Pop!_OS, etc.) | Luna (available in discord) | | RPM | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-fedora-rpm) | [AAGL](https://build.opensuse.org/repositories/home:Maroxy:AAT-Apps/AAGL) * | Fedora, OpenSUSE | Maroxy (second discord admin) | -> \* Note: RPM packages are often really outdated. It's not recommended to use them. +> [!NOTE] +> RPM packages are often really outdated. It's not recommended to use them. ## 🙂 Community support @@ -55,7 +56,8 @@ These packages are supported by active members of our community. They're widely | AUR | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-arch-linux-aur) | [an-anime-game-launcher-bin](https://aur.archlinux.org/packages/an-anime-game-launcher-bin) | Arch Linux, Manjaro, EndeavourOS | xstra * | | NixOS module | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-nixos-nixpkg) | [aagl-gtk-on-nix](https://github.com/ezKEa/aagl-gtk-on-nix) | NixOS | Luxxy * | -> \* Note: honorary members of our discord server. We have direct contact with them. +> [!NOTE] +> Honorary members of our discord server. We have direct contact with them. ## 😑 Third party support @@ -68,7 +70,8 @@ These packages are supported by third party distributors. They either did not co | Ebuild | [aagl-ebuilds](https://github.com/an-anime-team/gentoo-ebuilds) * | Gentoo | | Lutris | `lutris.net/games/gen...-imp...` (stripping the link) | Any | -> \* Note: although it's hosted in our official repo we didn't contact with its maintainer for some time already, and recent updates were made via merge requests by the community. +> [!NOTE] +> Although it's hosted in our official repo we didn't contact with its maintainer for some time already, and recent updates were made via merge requests by the community. ## Chinese version support From db46f254bc19a52ed85c15f90a4b1f1ba91decb2 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Sat, 20 Jul 2024 06:37:54 +0200 Subject: [PATCH 54/74] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb6e3bb1..0d989eb0 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ These packages are officially supported by the An Anime Team, and we try to ensu | Format | Wiki | Source | Distributions | Maintainer | | - | - | - | - | - | -| Flatpak | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-any-distribution-flatpak) | [flatpak-builds](https://github.com/an-anime-team/flatpak-builds) | Any (Fedora, Pop!_OS, etc.) | Luna (available in discord) | +| Flatpak | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-any-distribution-flatpak) | [flatpak-builds](https://github.com/an-anime-team/flatpak-builds) | Any (Fedora, Pop!_OS, SteamOS / Steam Deck, etc.) | Luna (available in discord) | | RPM | [wiki](https://github.com/an-anime-team/an-anime-game-launcher/wiki/Installation#-fedora-rpm) | [AAGL](https://build.opensuse.org/repositories/home:Maroxy:AAT-Apps/AAGL) * | Fedora, OpenSUSE | Maroxy (second discord admin) | > [!NOTE] From 209ca477f82d311b2ef4beee4ff9553ec959a25f Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Sun, 21 Jul 2024 06:13:16 +0200 Subject: [PATCH 55/74] fix: potentially fixed `game.log` file issues --- CHANGELOG.md | 5 +++++ Cargo.lock | 4 ++-- Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b832e26..b4c35b2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- (potentially) Fixed `game.log` file overfilling at the start of the game +- (potentially) Fixed RAM filling with the buffered game logs + ## [3.10.2] - 19.07.2024 ### Added diff --git a/Cargo.lock b/Cargo.lock index 8a706a32..1124cef1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -107,8 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.16.7" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.7#4589c81c27693643f3f73f8be6878f8f97c282d4" +version = "1.16.8" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.8#759394a2f1413e9bfbd51c66a892489522f9f230" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index eaebb67f..bba9ec68 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.16.7" +tag = "1.16.8" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From 52c8e943df0dbb59f2fe7f2e848fb5642257cd35 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Sun, 21 Jul 2024 06:57:07 +0200 Subject: [PATCH 56/74] build: updated launcher SDK --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1124cef1..6b567a99 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -107,8 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.16.8" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.8#759394a2f1413e9bfbd51c66a892489522f9f230" +version = "1.16.9" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.9#048fad0e35e55455146fb2da7fb722bbcacdb778" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index bba9ec68..a2a6f05e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.16.8" +tag = "1.16.9" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From de780bd7f9438d494837ea94ecdd3a017160cc42 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Sun, 21 Jul 2024 09:02:52 +0200 Subject: [PATCH 57/74] build: updated launcher SDK --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6b567a99..00db310d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -107,8 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.16.9" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.9#048fad0e35e55455146fb2da7fb722bbcacdb778" +version = "1.16.10" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.10#0603733f2bd7efb38255e1d24f4a33e7137c88f3" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index a2a6f05e..1fd478ee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.16.9" +tag = "1.16.10" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From 287e79e79ab41f936a02421ac04b18cac427f3f3 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Sun, 21 Jul 2024 09:32:56 +0200 Subject: [PATCH 58/74] feat: updated changelog --- CHANGELOG.md | 5 +++-- src/ui/about.rs | 24 +++--------------------- 2 files changed, 6 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4c35b2a..961fe5c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- (potentially) Fixed `game.log` file overfilling at the start of the game -- (potentially) Fixed RAM filling with the buffered game logs +- Fixed `game.log` file overfilling at the start of the game +- Fixed RAM filling with the buffered game logs +- Fixed Discord RPC updates ## [3.10.2] - 19.07.2024 diff --git a/src/ui/about.rs b/src/ui/about.rs index 9a7892ad..880334cf 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -95,30 +95,12 @@ impl SimpleComponent for AboutDialog { set_release_notes_version: &APP_VERSION, set_release_notes: &[ - "

      Added

      ", - - "
        ", - "
      • Added \"Indonesia\" wine language option
      • ", - "
      • Added writing of the game's output to the \"game.log\" file in the launcher's folder
      • ", - "
      ", - "

      Fixed

      ", "
        ", - "
      • Fixed \"dwebp\" package name for fedora during initial setup
      • ", - "
      ", - - "

      Changed

      ", - - "
        ", - "
      • Updated FPS unlocker version
      • ", - "
      • Changed background images processing logic
      • ", - "
      ", - - "

      Removed

      ", - - "
        ", - "
      • Removed \"xdelta3\" dependency
      • ", + "
      • Fixed \"game.log\" file overfilling at the start of the game
      • ", + "
      • Fixed RAM filling with the buffered game logs
      • ", + "
      • Fixed Discord RPC updates
      • ", "
      " ].join("\n"), From 935390ab7fb97078ba041bd36041916db6b1c501 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Sun, 21 Jul 2024 09:36:31 +0200 Subject: [PATCH 59/74] 3.10.3 --- CHANGELOG.md | 5 ++++- Cargo.lock | 16 ++++++++-------- Cargo.toml | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 961fe5c6..926bc9eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.10.3] - 21.07.2024 + ### Fixed - Fixed `game.log` file overfilling at the start of the game @@ -534,7 +536,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.2...next +[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.3...next +[3.10.3]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.2...3.10.2 [3.10.2]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.1...3.10.2 [3.10.1]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.0...3.10.1 [3.10.0]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.6...3.10.0 diff --git a/Cargo.lock b/Cargo.lock index 00db310d..d8be2013 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -82,7 +82,7 @@ dependencies = [ [[package]] name = "anime-game-launcher" -version = "3.10.2" +version = "3.10.3" dependencies = [ "anime-launcher-sdk", "anyhow", @@ -198,9 +198,9 @@ checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" @@ -2768,7 +2768,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow 0.6.14", ] [[package]] @@ -3299,9 +3299,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "374ec40a2d767a3c1b4972d9475ecd557356637be906f2cb3f7fe17a6eb5e22f" dependencies = [ "memchr", ] @@ -3444,9 +3444,9 @@ dependencies = [ [[package]] name = "zip" -version = "2.1.3" +version = "2.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775a2b471036342aa69bc5a602bc889cb0a06cda00477d0c69566757d5553d39" +checksum = "b895748a3ebcb69b9d38dcfdf21760859a4b0d0b0015277640c2ef4c69640e6f" dependencies = [ "aes", "arbitrary", diff --git a/Cargo.toml b/Cargo.toml index 1fd478ee..df409790 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anime-game-launcher" -version = "3.10.2" +version = "3.10.3" description = "Anime Game launcher" authors = ["Nikita Podvirnyy "] homepage = "https://github.com/an-anime-team/an-anime-game-launcher" From d7986d6d8bf874cb7602ca155aaf645b55ff4ffd Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 09:59:48 +0200 Subject: [PATCH 60/74] chore: deleted idea folder --- .idea/.gitignore | 8 -------- .idea/honkers-launcher.iml | 11 ----------- .idea/modules.xml | 8 -------- .idea/vcs.xml | 6 ------ 4 files changed, 33 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/honkers-launcher.iml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b81..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/honkers-launcher.iml b/.idea/honkers-launcher.iml deleted file mode 100644 index cf84ae4a..00000000 --- a/.idea/honkers-launcher.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 373153d8..00000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1ddf..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From 32ef2a02d61d5c563e681a9e34229f666a0173df Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 10:45:39 +0200 Subject: [PATCH 61/74] build: updated SDK version --- CHANGELOG.md | 8 +++++ Cargo.lock | 90 ++++++++++++++++++++++++++++++++++++---------------- Cargo.toml | 6 ++-- 3 files changed, 73 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 926bc9eb..aadd1fe6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Respect root `.version` file for game version parsing + +### Changed + +- Prioritize parsed game version over the API response + ## [3.10.3] - 21.07.2024 ### Fixed diff --git a/Cargo.lock b/Cargo.lock index d8be2013..d351aeef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,8 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.21.3" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.21.3#c2aca11525dba74f7dd3ae4415a11c1764c5fa86" +version = "1.22.0" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.22.0#41a15f2f5620d281e22ccf2e7e68391c9d08cf5c" dependencies = [ "anyhow", "bzip2", @@ -107,8 +107,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.16.10" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.16.10#0603733f2bd7efb38255e1d24f4a33e7137c88f3" +version = "1.17.0" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.17.0#a17a0824344d24bf02de00aee71967b028c176bb" dependencies = [ "anime-game-core", "anyhow", @@ -488,24 +488,24 @@ dependencies = [ [[package]] name = "cached" -version = "0.52.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8466736fe5dbcaf8b8ee24f9bbefe43c884dc3e9ff7178da70f55bffca1133c" +checksum = "b4d73155ae6b28cf5de4cfc29aeb02b8a1c6dab883cb015d15cd514e42766846" dependencies = [ "ahash", "cached_proc_macro", "cached_proc_macro_types", "hashbrown", - "instant", "once_cell", "thiserror", + "web-time", ] [[package]] name = "cached_proc_macro" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575f32e012222055211b70f5b0601f951f84523410a0e65c81f2744a6042450d" +checksum = "2f42a145ed2d10dce2191e1dcf30cfccfea9026660e143662ba5eec4017d5daa" dependencies = [ "darling", "proc-macro2", @@ -1500,9 +1500,9 @@ dependencies = [ [[package]] name = "human-panic" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c5d0e9120f6bca6120d142c7ede1ba376dd6bf276d69dd3dbe6cbeb7824179" +checksum = "1c5a08ed290eac04006e21e63d32e90086b6182c7cd0452d10f4264def1fec9a" dependencies = [ "anstream", "anstyle", @@ -1565,15 +1565,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - [[package]] name = "intl-memoizer" version = "0.5.2" @@ -2580,15 +2571,14 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.30.13" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +checksum = "d4115055da5f572fff541dd0c4e61b0262977f453cc9fe04be83aba25a89bdab" dependencies = [ - "cfg-if", "core-foundation-sys", "libc", + "memchr", "ntapi", - "once_cell", "rayon", "windows", ] @@ -3076,6 +3066,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webpki-roots" version = "0.25.4" @@ -3132,9 +3132,9 @@ dependencies = [ [[package]] name = "windows" -version = "0.52.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ "windows-core", "windows-targets 0.52.6", @@ -3142,9 +3142,43 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.52.0" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-result" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ "windows-targets 0.52.6", ] diff --git a/Cargo.toml b/Cargo.toml index df409790..e6e98b27 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.16.10" +tag = "1.17.0" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only @@ -36,7 +36,7 @@ whatadistro = "0.1.0" serde_json = "1.0" anyhow = "1.0" lazy_static = "1.5.0" -cached = { version = "0.52", features = ["proc_macro"] } +cached = { version = "0.53", features = ["proc_macro"] } md-5 = { version = "0.10", features = ["asm"] } enum-ordinalize = "4.3" @@ -46,4 +46,4 @@ tracing-subscriber = "0.3" fluent-templates = "0.9" unic-langid = "0.9" -human-panic = "2.0.0" +human-panic = "2.0.1" From e2823aafa5a87ee585a8cd353f3096dbae86c406 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 10:54:25 +0200 Subject: [PATCH 62/74] feat: removed migrate installation feature --- CHANGELOG.md | 4 ++ src/ui/first_run/default_paths.rs | 80 ++++--------------------------- src/ui/first_run/main.rs | 2 +- src/ui/migrate_installation.rs | 52 -------------------- src/ui/mod.rs | 1 - src/ui/preferences/general/mod.rs | 22 --------- 6 files changed, 15 insertions(+), 146 deletions(-) delete mode 100644 src/ui/migrate_installation.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index aadd1fe6..47666479 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Prioritize parsed game version over the API response +### Removed + +- Removed migrate installation feature + ## [3.10.3] - 21.07.2024 ### Fixed diff --git a/src/ui/first_run/default_paths.rs b/src/ui/first_run/default_paths.rs index 76a5077a..dd4bc448 100644 --- a/src/ui/first_run/default_paths.rs +++ b/src/ui/first_run/default_paths.rs @@ -12,7 +12,6 @@ pub struct DefaultPathsApp { progress_bar: AsyncController, show_additional: bool, - migrate_installation: bool, show_progress: bool, launcher: PathBuf, @@ -49,8 +48,7 @@ pub enum DefaultPathsAppMsg { #[relm4::component(async, pub)] impl SimpleAsyncComponent for DefaultPathsApp { - /// If `true`, then use migrate installation mode - type Init = bool; + type Init = (); type Input = DefaultPathsAppMsg; type Output = FirstRunAppMsg; @@ -242,11 +240,7 @@ impl SimpleAsyncComponent for DefaultPathsApp { set_spacing: 8, gtk::Button { - set_label: &if model.migrate_installation { - tr!("migrate") - } else { - tr!("continue") - }, + set_label: &tr!("continue"), set_css_classes: &["suggested-action", "pill"], @@ -254,17 +248,10 @@ impl SimpleAsyncComponent for DefaultPathsApp { }, gtk::Button { - set_label: &if model.migrate_installation { - tr!("close", { "form" = "noun" }) - } else { - tr!("exit") - }, + set_label: &tr!("exit"), add_css_class: "pill", - #[watch] - set_visible: !model.migrate_installation, - connect_clicked => DefaultPathsAppMsg::Exit } } @@ -287,7 +274,7 @@ impl SimpleAsyncComponent for DefaultPathsApp { } } - async fn init(init: Self::Init, root: Self::Root, _sender: AsyncComponentSender) -> AsyncComponentParts { + async fn init(_init: Self::Init, root: Self::Root, _sender: AsyncComponentSender) -> AsyncComponentParts { let model = Self { progress_bar: ProgressBar::builder() .launch(ProgressBarInit { @@ -299,7 +286,6 @@ impl SimpleAsyncComponent for DefaultPathsApp { .detach(), show_additional: false, - migrate_installation: init, show_progress: false, launcher: LAUNCHER_FOLDER.to_path_buf(), @@ -311,12 +297,13 @@ impl SimpleAsyncComponent for DefaultPathsApp { fps_unlocker: CONFIG.game.enhancements.fps_unlocker.path.clone(), components: CONFIG.components.path.clone(), - #[allow(clippy::or_fun_call)] - temp: CONFIG.launcher.temp.clone().unwrap_or(std::env::temp_dir()) + temp: CONFIG.launcher.temp.clone() + .unwrap_or_else(std::env::temp_dir) }; // Set progress bar width - model.progress_bar.widget().set_width_request(400); + model.progress_bar.widget() + .set_width_request(400); let widgets = view_output!(); @@ -364,49 +351,9 @@ impl SimpleAsyncComponent for DefaultPathsApp { #[allow(unused_must_use)] DefaultPathsAppMsg::Continue => { - let old_config = Config::get().unwrap_or_else(|_| CONFIG.clone()); - match self.update_config() { Ok(_) => { - if self.migrate_installation { - self.progress_bar.sender().send(ProgressBarMsg::SetVisible(true)); - - self.show_progress = true; - - let folders = [ - (old_config.game.wine.builds, &self.runners), - (old_config.game.dxvk.builds, &self.dxvks), - (old_config.game.wine.prefix, &self.prefix), - (old_config.game.path.global, &self.game_global), - (old_config.game.path.china, &self.game_china), - (old_config.components.path, &self.components), - - (old_config.game.enhancements.fps_unlocker.path, &self.fps_unlocker) - ]; - - #[allow(clippy::expect_fun_call)] - for (i, (from, to)) in folders.iter().enumerate() { - self.progress_bar.sender().send(ProgressBarMsg::UpdateCaption(Some( - from.to_str().map(|str| str.to_string()).unwrap_or_else(|| format!("{:?}", from)) - ))); - - if &from != to && from.exists() { - move_files::move_files(from, to).expect(&format!("Failed to move folder: {:?} -> {:?}", from, to)); - } - - self.progress_bar.sender().send(ProgressBarMsg::UpdateProgress(i as u64 + 1, folders.len() as u64)); - } - - // Restart the app - - std::process::Command::new(std::env::current_exe().unwrap()).spawn().unwrap(); - - relm4::main_application().quit(); - } - - else { - sender.output(Self::Output::ScrollToSelectVoiceovers); - } + sender.output(Self::Output::ScrollToSelectVoiceovers); } Err(err) => { @@ -419,14 +366,7 @@ impl SimpleAsyncComponent for DefaultPathsApp { } DefaultPathsAppMsg::Exit => { - if self.migrate_installation { - // TODO: this shit should return message to general preferences component somehow to close MigrateInstallation window - todo!(); - } - - else { - relm4::main_application().quit(); - } + relm4::main_application().quit(); } } } diff --git a/src/ui/first_run/main.rs b/src/ui/first_run/main.rs index 089f32a1..1b3b6788 100644 --- a/src/ui/first_run/main.rs +++ b/src/ui/first_run/main.rs @@ -131,7 +131,7 @@ impl SimpleComponent for FirstRunApp { .forward(sender.input_sender(), std::convert::identity), default_paths: DefaultPathsApp::builder() - .launch(false) + .launch(()) .forward(sender.input_sender(), std::convert::identity), select_voiceovers: SelectVoiceoversApp::builder() diff --git a/src/ui/migrate_installation.rs b/src/ui/migrate_installation.rs deleted file mode 100644 index a31a98fa..00000000 --- a/src/ui/migrate_installation.rs +++ /dev/null @@ -1,52 +0,0 @@ -use relm4::prelude::*; -use gtk::prelude::*; - -use crate::tr; - -use super::first_run::default_paths::DefaultPathsApp; - -pub struct MigrateInstallationApp { - default_paths: AsyncController, -} - -#[relm4::component(pub)] -impl SimpleComponent for MigrateInstallationApp { - type Init = (); - type Input = (); - type Output = (); - - view! { - adw::Window { - set_default_size: (780, 560), - set_modal: true, - set_hide_on_close: true, - - #[watch] - set_title: Some(&tr!("migrate-installation")), - - gtk::Box { - set_orientation: gtk::Orientation::Vertical, - - adw::HeaderBar { - add_css_class: "flat" - }, - - append = model.default_paths.widget(), - } - } - } - - fn init(_init: Self::Init, root: Self::Root, _sender: ComponentSender) -> ComponentParts { - tracing::info!("Initializing migration window"); - - let model = Self { - default_paths: DefaultPathsApp::builder() - .launch(true) - .detach() - }; - - let widgets = view_output!(); - - ComponentParts { model, widgets } - } -} diff --git a/src/ui/mod.rs b/src/ui/mod.rs index eae65455..e5365c9a 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -3,4 +3,3 @@ pub mod about; pub mod preferences; pub mod components; pub mod first_run; -pub mod migrate_installation; diff --git a/src/ui/preferences/general/mod.rs b/src/ui/preferences/general/mod.rs index 0561a034..b302d7db 100644 --- a/src/ui/preferences/general/mod.rs +++ b/src/ui/preferences/general/mod.rs @@ -22,7 +22,6 @@ pub mod components; use components::*; -use crate::ui::migrate_installation::MigrateInstallationApp; use crate::i18n::*; use crate::*; @@ -103,7 +102,6 @@ impl AsyncFactoryComponent for VoicePackageComponent { pub struct GeneralApp { voice_packages: AsyncFactoryVecDeque, - migrate_installation: Controller, components_page: AsyncController, game_diff: Option, @@ -127,7 +125,6 @@ pub enum GeneralAppMsg { UpdateDownloadedWine, UpdateDownloadedDxvk, - OpenMigrateInstallation, RepairGame, OpenMainPage, @@ -341,13 +338,6 @@ impl SimpleAsyncComponent for GeneralApp { set_spacing: 8, set_margin_top: 16, - gtk::Button { - set_label: &tr!("migrate-installation"), - set_tooltip_text: Some(&tr!("migrate-installation-description")), - - connect_clicked => GeneralAppMsg::OpenMigrateInstallation - }, - gtk::Button { set_label: &tr!("repair-game"), @@ -543,10 +533,6 @@ impl SimpleAsyncComponent for GeneralApp { .launch_default() .forward(sender.input_sender(), std::convert::identity), - migrate_installation: MigrateInstallationApp::builder() - .launch(()) - .detach(), - components_page: ComponentsPage::builder() .launch(()) .forward(sender.input_sender(), std::convert::identity), @@ -648,14 +634,6 @@ impl SimpleAsyncComponent for GeneralApp { .unwrap(); } - GeneralAppMsg::OpenMigrateInstallation => unsafe { - if let Some(window) = crate::ui::main::PREFERENCES_WINDOW.as_ref() { - self.migrate_installation.widget().set_transient_for(Some(window.widget())); - } - - self.migrate_installation.widget().present(); - } - GeneralAppMsg::RepairGame => { sender.output(Self::Output::RepairGame).unwrap(); } From 0e692df47511cfd109010e5e59951ce733768c0b Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 11:06:14 +0200 Subject: [PATCH 63/74] feat: clarify GPL version in about dialog Before it stated "or later", though I expected it to be 3.0 only --- src/ui/about.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/about.rs b/src/ui/about.rs index 880334cf..2d0b41e3 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -39,7 +39,7 @@ impl SimpleComponent for AboutDialog { set_website: "https://github.com/an-anime-team/an-anime-game-launcher", set_issue_url: "https://github.com/an-anime-team/an-anime-game-launcher/issues", - set_license_type: gtk::License::Gpl30, + set_license_type: gtk::License::Gpl30Only, set_version: &APP_VERSION, set_developers: &[ From 5a23eef6914eafa532def7d80333c9dc852722f9 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 11:18:42 +0200 Subject: [PATCH 64/74] feat: updated changelog --- CHANGELOG.md | 2 +- src/ui/about.rs | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47666479..b73f9972 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- Prioritize parsed game version over the API response +- Prioritize parsed game version over the API response ### Removed diff --git a/src/ui/about.rs b/src/ui/about.rs index 2d0b41e3..810773a7 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -95,12 +95,22 @@ impl SimpleComponent for AboutDialog { set_release_notes_version: &APP_VERSION, set_release_notes: &[ - "

      Fixed

      ", + "

      Added

      ", "
        ", - "
      • Fixed \"game.log\" file overfilling at the start of the game
      • ", - "
      • Fixed RAM filling with the buffered game logs
      • ", - "
      • Fixed Discord RPC updates
      • ", + "
      • Respect root \".version\" file for game version parsing
      • ", + "
      ", + + "

      Changed

      ", + + "
        ", + "
      • Prioritize parsed game version over the API response
      • ", + "
      ", + + "

      Removed

      ", + + "
        ", + "
      • Removed migrate installation feature
      • ", "
      " ].join("\n"), From 6fc8547e90f10cf2dc8332b8fb7d055c520acc6c Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 11:24:17 +0200 Subject: [PATCH 65/74] 3.11.0 --- CHANGELOG.md | 5 +- Cargo.lock | 175 ++++++++++++++++++++++++++++----------------------- Cargo.toml | 2 +- 3 files changed, 100 insertions(+), 82 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b73f9972..bb579f76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.11.0] - 02.08.2024 + ### Added - Respect root `.version` file for game version parsing @@ -548,7 +550,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.3...next +[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.11.0...next +[3.10.3]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.3...3.11.0 [3.10.3]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.2...3.10.2 [3.10.2]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.1...3.10.2 [3.10.1]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.10.0...3.10.1 diff --git a/Cargo.lock b/Cargo.lock index d351aeef..f70f6ed1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -37,7 +37,7 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -82,7 +82,7 @@ dependencies = [ [[package]] name = "anime-game-launcher" -version = "3.10.3" +version = "3.11.0" dependencies = [ "anime-launcher-sdk", "anyhow", @@ -125,9 +125,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", @@ -140,33 +140,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -439,9 +439,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", "serde", @@ -461,9 +461,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "bzip2" @@ -545,9 +545,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" +checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" dependencies = [ "jobserver", "libc", @@ -587,9 +587,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "concurrent-queue" @@ -1548,9 +1548,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ "equivalent", "hashbrown", @@ -1605,9 +1605,9 @@ dependencies = [ [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itoa" @@ -1617,9 +1617,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] @@ -1803,13 +1803,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" dependencies = [ + "hermit-abi 0.3.9", "libc", "wasi", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1859,16 +1860,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - [[package]] name = "objc" version = "0.2.7" @@ -1900,9 +1891,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.1" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" dependencies = [ "memchr", ] @@ -2067,9 +2058,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "dee4364d9f3b902ef14fab8a1ddffb783a1cb6b4bba3bfc1fa3922732c7de97f" +dependencies = [ + "zerocopy 0.6.6", +] [[package]] name = "proc-macro-crate" @@ -2442,11 +2436,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -2464,9 +2459,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -2560,9 +2555,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.71" +version = "2.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" dependencies = [ "proc-macro2", "quote", @@ -2609,9 +2604,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.15" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" @@ -2700,39 +2695,38 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.1" +version = "1.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" +checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "pin-project-lite", "signal-hook-registry", "socket2", "tracing", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "toml" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.16", + "toml_edit 0.22.20", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -2750,15 +2744,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.16" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.14", + "winnow 0.6.18", ] [[package]] @@ -2970,9 +2964,9 @@ checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "walkdir" @@ -3333,9 +3327,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.14" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374ec40a2d767a3c1b4972d9475ecd557356637be906f2cb3f7fe17a6eb5e22f" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] @@ -3381,9 +3375,9 @@ dependencies = [ [[package]] name = "zbus" -version = "4.3.1" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "851238c133804e0aa888edf4a0229481c753544ca12a60fd1c3230c8a500fe40" +checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" dependencies = [ "async-broadcast", "async-process", @@ -3414,9 +3408,9 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.3.1" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d5a3f12c20bd473be3194af6b49d50d7bb804ef3192dc70eddedb26b85d9da7" +checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3436,13 +3430,34 @@ dependencies = [ "zvariant", ] +[[package]] +name = "zerocopy" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6" +dependencies = [ + "byteorder", + "zerocopy-derive 0.6.6", +] + [[package]] name = "zerocopy" version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy-derive" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -3478,9 +3493,9 @@ dependencies = [ [[package]] name = "zip" -version = "2.1.5" +version = "2.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b895748a3ebcb69b9d38dcfdf21760859a4b0d0b0015277640c2ef4c69640e6f" +checksum = "40dd8c92efc296286ce1fbd16657c5dbefff44f1b4ca01cc5f517d8b7b3d3e2e" dependencies = [ "aes", "arbitrary", @@ -3549,9 +3564,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "4.1.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1724a2b330760dc7d2a8402d841119dc869ef120b139d29862d6980e9c75bfc9" +checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" dependencies = [ "endi", "enumflags2", @@ -3563,9 +3578,9 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.1.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55025a7a518ad14518fb243559c058a2e5b848b015e31f1d90414f36e3317859" +checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3576,9 +3591,9 @@ dependencies = [ [[package]] name = "zvariant_utils" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" +checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index e6e98b27..e8c93160 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anime-game-launcher" -version = "3.10.3" +version = "3.11.0" description = "Anime Game launcher" authors = ["Nikita Podvirnyy "] homepage = "https://github.com/an-anime-team/an-anime-game-launcher" From 008b8ce1b55f72afcd5333663bb99398f21b9028 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 11:56:19 +0200 Subject: [PATCH 66/74] fix: fixed merging issues --- Cargo.lock | 4 +-- Cargo.toml | 2 +- src/ui/first_run/default_paths.rs | 2 +- src/ui/main/mod.rs | 53 +++++++++++++++++-------------- src/ui/main/update_patch.rs | 49 +++++++++++++++------------- src/ui/preferences/general/mod.rs | 2 ++ 6 files changed, 62 insertions(+), 50 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 959cae8a..66a0e48c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -82,8 +82,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.17.0" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.17.0#a17a0824344d24bf02de00aee71967b028c176bb" +version = "1.17.1" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.17.1#017d0d164f7d8b16043d42a8be7187c21951faf0" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 929ee54e..06db22dd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.17.0" +tag = "1.17.1" features = ["all", "star-rail", "star-rail-patch"] # path = "../anime-launcher-sdk" # ! for dev purposes only diff --git a/src/ui/first_run/default_paths.rs b/src/ui/first_run/default_paths.rs index 57b83601..8d76f111 100644 --- a/src/ui/first_run/default_paths.rs +++ b/src/ui/first_run/default_paths.rs @@ -353,7 +353,7 @@ impl SimpleAsyncComponent for DefaultPathsApp { DefaultPathsAppMsg::Continue => { match self.update_config() { Ok(_) => { - sender.output(Self::Output::ScrollToSelectVoiceovers); + sender.output(Self::Output::ScrollToDownloadComponents); } Err(err) => { diff --git a/src/ui/main/mod.rs b/src/ui/main/mod.rs index 74a5445c..2e2adb0d 100644 --- a/src/ui/main/mod.rs +++ b/src/ui/main/mod.rs @@ -990,31 +990,36 @@ impl SimpleComponent for App { // Update initial patch status - tasks.push(std::thread::spawn(clone!(@strong sender => move || { - // Get main patch status - sender.input(AppMsg::SetMainPatch(match jadeite::get_metadata() { - Ok(metadata) => { - let status = GAME.get_version() - .map(|version| metadata.games.hsr.global.get_status(version)) - .unwrap_or(metadata.games.hsr.global.status); - - Some((metadata.jadeite.version, status)) - } + tasks.push(std::thread::spawn(clone!( + #[strong] + sender, - Err(err) => { - tracing::error!("Failed to fetch patch metadata: {err}"); + move || { + // Get main patch status + sender.input(AppMsg::SetMainPatch(match jadeite::get_metadata() { + Ok(metadata) => { + let status = GAME.get_version() + .map(|version| metadata.games.hsr.global.get_status(version)) + .unwrap_or(metadata.games.hsr.global.status); + + Some((metadata.jadeite.version, status)) + } - sender.input(AppMsg::Toast { - title: tr!("patch-info-fetching-error"), - description: Some(err.to_string()) - }); + Err(err) => { + tracing::error!("Failed to fetch patch metadata: {err}"); - None - } - })); + sender.input(AppMsg::Toast { + title: tr!("patch-info-fetching-error"), + description: Some(err.to_string()) + }); + + None + } + })); - tracing::info!("Updated patch status"); - }))); + tracing::info!("Updated patch status"); + } + ))); // Update initial game version status @@ -1089,10 +1094,10 @@ impl SimpleComponent for App { "locale" = locale.to_name() }))))); } - } - StateUpdating::Patch => { - sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--patch"))))); + StateUpdating::Patch => { + sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--patch"))))); + } } } } diff --git a/src/ui/main/update_patch.rs b/src/ui/main/update_patch.rs index dfe57b3b..b9ba48a8 100644 --- a/src/ui/main/update_patch.rs +++ b/src/ui/main/update_patch.rs @@ -17,33 +17,38 @@ pub fn update_patch(sender: ComponentSender, progress_bar_input: Sender move |state| { - match &state { - InstallerUpdate::DownloadingError(err) => { - tracing::error!("Downloading failed: {err}"); - - sender.input(AppMsg::Toast { - title: tr!("downloading-failed"), - description: Some(err.to_string()) - }); - } + .and_then(|patch| patch.install(config.patch.path, clone!( + #[strong] + sender, + + move |state| { + match &state { + InstallerUpdate::DownloadingError(err) => { + tracing::error!("Downloading failed: {err}"); + + sender.input(AppMsg::Toast { + title: tr!("downloading-failed"), + description: Some(err.to_string()) + }); + } - InstallerUpdate::UnpackingError(err) => { - tracing::error!("Unpacking failed: {err}"); + InstallerUpdate::UnpackingError(err) => { + tracing::error!("Unpacking failed: {err}"); - sender.input(AppMsg::Toast { - title: tr!("unpacking-failed"), - description: Some(err.clone()) - }); + sender.input(AppMsg::Toast { + title: tr!("unpacking-failed"), + description: Some(err.clone()) + }); + } + + _ => () } - - _ => () - } - #[allow(unused_must_use)] { - progress_bar_input.send(ProgressBarMsg::UpdateFromState(state.into())); + #[allow(unused_must_use)] { + progress_bar_input.send(ProgressBarMsg::UpdateFromState(state.into())); + } } - }))); + ))); if let Err(err) = result { tracing::error!("Failed to download latest patch version"); diff --git a/src/ui/preferences/general/mod.rs b/src/ui/preferences/general/mod.rs index 4e29f62f..f9271b0c 100644 --- a/src/ui/preferences/general/mod.rs +++ b/src/ui/preferences/general/mod.rs @@ -22,6 +22,8 @@ pub mod components; use components::*; +use crate::ui::preferences::main::PreferencesAppMsg; + use crate::i18n::*; use crate::*; From acc6e77c61991d82f69dd8ad44e145b444e19a95 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 14:42:52 +0200 Subject: [PATCH 67/74] feat: added 2.4.0 voiceovers sizes --- CHANGELOG.md | 1 + Cargo.lock | 8 ++++---- Cargo.toml | 2 +- flake.nix | 1 + 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34e0c82c..a9d608a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added writing of the game's output to the `game.log` file in the launcher's folder. Size of this file is controlled by the `LAUNCHER_GAME_LOG_FILE_LIMIT` environment variable. - Respect root `.version` file for game version parsing +- Added 2.4.0 voiceovers sizes ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 66a0e48c..1857fd2e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,8 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.22.0" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.22.0#41a15f2f5620d281e22ccf2e7e68391c9d08cf5c" +version = "1.22.1" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.22.1#c9a186da515663e880097de358b0c53fab0f5237" dependencies = [ "anyhow", "bzip2", @@ -82,8 +82,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.17.1" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.17.1#017d0d164f7d8b16043d42a8be7187c21951faf0" +version = "1.17.2" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.17.2#7911abbdf907b31c0af0a1e735610d85151d8515" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 06db22dd..aab169fd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.17.1" +tag = "1.17.2" features = ["all", "star-rail", "star-rail-patch"] # path = "../anime-launcher-sdk" # ! for dev purposes only diff --git a/flake.nix b/flake.nix index 9e7c0ccb..8ab4a2bc 100644 --- a/flake.nix +++ b/flake.nix @@ -20,6 +20,7 @@ cmake pkg-config + p7zip libwebp ]; From 51c4f66ba8392cb837afbfc4b9c0ba5ebc576c8e Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 14:48:50 +0200 Subject: [PATCH 68/74] feat: updated changelog --- src/ui/about.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ui/about.rs b/src/ui/about.rs index 24c6c320..f30d57e8 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -103,18 +103,30 @@ impl SimpleComponent for AboutDialog { "

      Added

      ", "
        ", + "
      • Added \"Indonesia\" wine language option
      • ", + "
      • Added writing of the game's output to the \"game.log\" file in the launcher's folder
      • ", "
      • Respect root \".version\" file for game version parsing
      • ", + "
      • Added 2.4.0 voiceovers sizes
      • ", + "
      ", + + "

      Fixed

      ", + + "
        ", + "
      • Fixed \"dwebp\" package name for fedora during initial setup
      • ", + "
      • Fixed Discord RPC updates
      • ", "
      ", "

      Changed

      ", "
        ", + "
      • Changed background images processing logic
      • ", "
      • Prioritize parsed game version over the API response
      • ", "
      ", "

      Removed

      ", "
        ", + "
      • Removed \"xdelta3\" dependency
      • ", "
      • Removed migrate installation feature
      • ", "
      " ].join("\n"), From 9d11ce1c956cd296e13b8017a34cd235c857d329 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 14:50:02 +0200 Subject: [PATCH 69/74] 1.7.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1857fd2e..4421f9aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1475,7 +1475,7 @@ dependencies = [ [[package]] name = "honkers-railway-launcher" -version = "1.6.1" +version = "1.7.0" dependencies = [ "anime-launcher-sdk", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index aab169fd..f3e3a045 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "honkers-railway-launcher" -version = "1.6.1" +version = "1.7.0" description = "The Honkers Railway launcher" authors = ["Nikita Podvirnyi "] homepage = "https://github.com/an-anime-team/the-honkers-railway-launcher" From 57dde8615af57064177db913539e86ac6cfbc974 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 14:58:55 +0200 Subject: [PATCH 70/74] docs: updated changelog --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9d608a8..43f18898 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.7.0] - 02.08.2024 + ### Added - Added "Indonesia" wine language option @@ -329,7 +331,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
      -[unreleased]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.6.1...next +[unreleased]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.7.0...next +[1.7.0]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.6.1...1.7.0 [1.6.1]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.6.0...1.6.1 [1.6.0]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.5...1.6.0 [1.5.5]: https://github.com/an-anime-team/the-honkers-railway-launcher/compare/1.5.4...1.5.5 From e63c4a4a9c7dac19f62eb5c3c9526fe225587b51 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 15:19:09 +0200 Subject: [PATCH 71/74] fix: fixed merging issues --- src/ui/main/apply_mfplat_patch.rs | 36 ------------------------------- src/ui/main/download_diff.rs | 4 ++-- src/ui/main/download_wine.rs | 2 +- src/ui/main/mod.rs | 27 +---------------------- src/ui/main/repair_game.rs | 2 ++ src/ui/main/update_patch.rs | 2 +- 6 files changed, 7 insertions(+), 66 deletions(-) delete mode 100644 src/ui/main/apply_mfplat_patch.rs diff --git a/src/ui/main/apply_mfplat_patch.rs b/src/ui/main/apply_mfplat_patch.rs deleted file mode 100644 index 775bec0d..00000000 --- a/src/ui/main/apply_mfplat_patch.rs +++ /dev/null @@ -1,36 +0,0 @@ -use relm4::prelude::*; - -use anime_launcher_sdk::anime_game_core::prelude::*; - -use anime_launcher_sdk::config::ConfigExt; -use anime_launcher_sdk::honkai::config::Config; - -use crate::*; - -use super::{App, AppMsg}; - -pub fn apply_mfplat_patch(sender: ComponentSender) { - sender.input(AppMsg::DisableButtons(true)); - - let config = Config::get().unwrap(); - - std::thread::spawn(move || { - let temp = config.launcher.temp.clone() - .unwrap_or_else(std::env::temp_dir); - - if let Err(err) = mfplat::apply(config.get_wine_prefix_path(), temp) { - tracing::error!("Failed to patch the game"); - - sender.input(AppMsg::Toast { - title: tr!("game-patching-error"), - description: Some(err.to_string()) - }); - } - - sender.input(AppMsg::DisableButtons(false)); - sender.input(AppMsg::UpdateLauncherState { - perform_on_download_needed: false, - show_status_page: true - }); - }); -} diff --git a/src/ui/main/download_diff.rs b/src/ui/main/download_diff.rs index 55aa3b1e..d775ee6b 100644 --- a/src/ui/main/download_diff.rs +++ b/src/ui/main/download_diff.rs @@ -32,7 +32,7 @@ pub fn download_diff(sender: ComponentSender, progress_bar_input: Sender { + InstallerUpdate::DownloadingError(err) => { tracing::error!("Downloading failed: {err}"); sender.input(AppMsg::Toast { @@ -41,7 +41,7 @@ pub fn download_diff(sender: ComponentSender, progress_bar_input: Sender { + InstallerUpdate::UnpackingError(err) => { tracing::error!("Unpacking failed: {err}"); sender.input(AppMsg::Toast { diff --git a/src/ui/main/download_wine.rs b/src/ui/main/download_wine.rs index 8297ae8d..93d28d16 100644 --- a/src/ui/main/download_wine.rs +++ b/src/ui/main/download_wine.rs @@ -87,7 +87,7 @@ pub fn download_wine(sender: ComponentSender, progress_bar_input: Sender "document-save-symbolic", Some(LauncherState::GameUpdateAvailable(_)) | - Some(LauncherState::GameNotInstalled(_)) | - Some(LauncherState::MfplatPatchAvailable) => "document-save-symbolic", + Some(LauncherState::GameNotInstalled(_)) => "document-save-symbolic", Some(LauncherState::PatchBroken) | Some(LauncherState::PatchUnsafe) | @@ -331,7 +329,6 @@ impl SimpleComponent for App { Some(LauncherState::PatchNotVerified) | Some(LauncherState::PatchConcerning) => tr!("launch"), - Some(LauncherState::MfplatPatchAvailable) => tr!("apply-patch"), Some(LauncherState::WineNotInstalled) => tr!("download-wine"), Some(LauncherState::PrefixNotExists) => tr!("create-prefix"), Some(LauncherState::GameNotInstalled(_)) => tr!("download"), @@ -761,20 +758,6 @@ impl SimpleComponent for App { sender, move || { - // Check mfplay patch - match mfplat::is_applied(CONFIG.get_wine_prefix_path()) { - Ok(applied) => sender.input(AppMsg::SetMfplatPatch(applied)), - - Err(err) => { - tracing::error!("Failed to check mfplat patch status: {err}"); - - sender.input(AppMsg::Toast { - title: tr!("patch-state-check-failed"), - description: Some(err.to_string()) - }); - } - } - // Get main patch status sender.input(AppMsg::SetMainPatch(match jadeite::get_metadata() { Ok(metadata) => { @@ -869,12 +852,6 @@ impl SimpleComponent for App { sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--game"))))); } - StateUpdating::Voice(locale) => { - sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--voice", { - "locale" = locale.to_name() - }))))); - } - StateUpdating::Patch => { sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--patch"))))); } @@ -969,8 +946,6 @@ impl SimpleComponent for App { LauncherState::PatchConcerning | LauncherState::Launch => launch::launch(sender), - LauncherState::MfplatPatchAvailable => apply_mfplat_patch::apply_mfplat_patch(sender), - LauncherState::PatchNotInstalled | LauncherState::PatchUpdateAvailable => update_patch::update_patch(sender, self.progress_bar.sender().to_owned()), diff --git a/src/ui/main/repair_game.rs b/src/ui/main/repair_game.rs index 3742f688..8d4a6010 100644 --- a/src/ui/main/repair_game.rs +++ b/src/ui/main/repair_game.rs @@ -3,6 +3,8 @@ use relm4::{ Sender }; +use gtk::glib::clone; + use anime_launcher_sdk::config::ConfigExt; use anime_launcher_sdk::honkai::config::Config; diff --git a/src/ui/main/update_patch.rs b/src/ui/main/update_patch.rs index b9ba48a8..60e2556f 100644 --- a/src/ui/main/update_patch.rs +++ b/src/ui/main/update_patch.rs @@ -45,7 +45,7 @@ pub fn update_patch(sender: ComponentSender, progress_bar_input: Sender Date: Fri, 2 Aug 2024 16:04:36 +0200 Subject: [PATCH 72/74] feat: removed mfplat patch integration --- src/ui/main/mod.rs | 8 ----- src/ui/preferences/general/mod.rs | 55 ------------------------------- src/ui/preferences/main.rs | 8 ----- 3 files changed, 71 deletions(-) diff --git a/src/ui/main/mod.rs b/src/ui/main/mod.rs index be4abe96..c6ca218c 100644 --- a/src/ui/main/mod.rs +++ b/src/ui/main/mod.rs @@ -76,9 +76,6 @@ pub enum AppMsg { /// was retrieved from the API SetGameDiff(Option), - /// Supposed to be called automatically on app's run - SetMfplatPatch(bool), - /// Supposed to be called automatically on app's run when the latest main patch version /// was retrieved from remote repos SetMainPatch(Option<(Version, JadeitePatchStatusVariant)>), @@ -896,11 +893,6 @@ impl SimpleComponent for App { PREFERENCES_WINDOW.as_ref().unwrap_unchecked().sender().send(PreferencesAppMsg::SetGameDiff(diff)); } - #[allow(unused_must_use)] - AppMsg::SetMfplatPatch(applied) => unsafe { - PREFERENCES_WINDOW.as_ref().unwrap_unchecked().sender().send(PreferencesAppMsg::SetMfplatPatch(applied)); - } - #[allow(unused_must_use)] AppMsg::SetMainPatch(patch) => unsafe { PREFERENCES_WINDOW.as_ref().unwrap_unchecked().sender().send(PreferencesAppMsg::SetMainPatch(patch)); diff --git a/src/ui/preferences/general/mod.rs b/src/ui/preferences/general/mod.rs index 8c572515..e17908c9 100644 --- a/src/ui/preferences/general/mod.rs +++ b/src/ui/preferences/general/mod.rs @@ -26,7 +26,6 @@ pub struct GeneralApp { components_page: AsyncController, game_diff: Option, - mfplat_patch: bool, main_patch: Option<(Version, JadeitePatchStatusVariant)>, style: LauncherStyle, @@ -39,9 +38,6 @@ pub enum GeneralAppMsg { /// was retrieved from the API SetGameDiff(Option), - /// Supposed to be called automatically on app's run - SetMfplatPatch(bool), - /// Supposed to be called automatically on app's run when the latest main patch version /// was retrieved from remote repos SetMainPatch(Option<(Version, JadeitePatchStatusVariant)>), @@ -322,52 +318,6 @@ impl SimpleAsyncComponent for GeneralApp { None => String::new() }) } - }, - - adw::ActionRow { - set_title: &tr!("mfplat-patch-version"), - set_subtitle: &tr!("mfplat-patch-version-description"), - - add_suffix = >k::Label { - #[watch] - set_text: &if model.mfplat_patch { - tr!("applied") - } else { - tr!("not-applied") - }, - - #[watch] - set_css_classes: if model.mfplat_patch { - &["success"] - } else { - &["warning"] - } - } - } - }, - - add = &adw::PreferencesGroup { - adw::ActionRow { - set_title: &tr!("apply-mfplat-patch"), - - add_suffix = >k::Switch { - set_valign: gtk::Align::Center, - - set_state: CONFIG.patch.apply_mfplat, - - connect_state_notify[sender] => move |switch| { - if is_ready() { - #[allow(unused_must_use)] - if let Ok(mut config) = Config::get() { - config.patch.apply_mfplat = switch.state(); - - Config::update(config); - - sender.output(PreferencesAppMsg::UpdateLauncherState); - } - } - } - } } }, @@ -497,7 +447,6 @@ impl SimpleAsyncComponent for GeneralApp { .forward(sender.input_sender(), std::convert::identity), game_diff: None, - mfplat_patch: false, main_patch: None, style: CONFIG.launcher.style, @@ -519,10 +468,6 @@ impl SimpleAsyncComponent for GeneralApp { self.game_diff = diff; } - GeneralAppMsg::SetMfplatPatch(applied) => { - self.mfplat_patch = applied; - } - GeneralAppMsg::SetMainPatch(patch) => { self.main_patch = patch; } diff --git a/src/ui/preferences/main.rs b/src/ui/preferences/main.rs index f98a50a1..ff2dac44 100644 --- a/src/ui/preferences/main.rs +++ b/src/ui/preferences/main.rs @@ -28,9 +28,6 @@ pub enum PreferencesAppMsg { /// was retrieved from the API SetGameDiff(Option), - /// Supposed to be called automatically on app's run - SetMfplatPatch(bool), - /// Supposed to be called automatically on app's run when the latest main patch version /// was retrieved from remote repos SetMainPatch(Option<(Version, JadeitePatchStatusVariant)>), @@ -114,11 +111,6 @@ impl SimpleAsyncComponent for PreferencesApp { self.general.emit(GeneralAppMsg::SetGameDiff(diff)); } - #[allow(unused_must_use)] - PreferencesAppMsg::SetMfplatPatch(applied) => { - self.general.sender().send(GeneralAppMsg::SetMfplatPatch(applied)); - } - #[allow(unused_must_use)] PreferencesAppMsg::SetMainPatch(patch) => { self.general.sender().send(GeneralAppMsg::SetMainPatch(patch)); From d8b32c3bf15e0e2b5f05d0a9f9a43af27235b09e Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 16:04:44 +0200 Subject: [PATCH 73/74] build: updated SDK version --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e9c296d3..38db142f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,8 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anime-game-core" -version = "1.22.1" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.22.1#c9a186da515663e880097de358b0c53fab0f5237" +version = "1.22.2" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.22.2#e3f2c3361bd986e60c8b8e11b0921ac46d6473b8" dependencies = [ "anyhow", "bzip2", @@ -82,8 +82,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.17.2" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.17.2#7911abbdf907b31c0af0a1e735610d85151d8515" +version = "1.17.3" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.17.3#1797ac466d1c8815e9ceae528043de66d033368c" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 84dce1c8..4abdb111 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.20" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.17.2" +tag = "1.17.3" features = ["all", "honkai", "honkai-patch"] # path = "../anime-launcher-sdk" # ! for dev purposes only From e129fdb8a8ce207d4eaa0e3818d2e73547505436 Mon Sep 17 00:00:00 2001 From: Nikita Podvirnyi Date: Fri, 2 Aug 2024 18:08:24 +0200 Subject: [PATCH 74/74] feat: updated changelog --- src/ui/about.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ui/about.rs b/src/ui/about.rs index 74010dfc..8f35d877 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -103,6 +103,8 @@ impl SimpleComponent for AboutDialog { "

      Added

      ", "
        ", + "
      • List missing dependencies on non-standard distros during initial setup
      • ", + "
      • Handle dwebp re-coding errors
      • ", "
      • Added \"Indonesia\" wine language option
      • ", "
      • Added writing of the game's output to the \"game.log\" file in the launcher's folder
      • ", "
      • Respect root \".version\" file for game version parsing
      • ", @@ -111,13 +113,16 @@ impl SimpleComponent for AboutDialog { "

        Fixed

        ", "
          ", - "
        • Fixed \"dwebp\" package name for fedora during initial setup
        • ", + "
        • Fixed Italian localization breaking the launcher
        • ", "
        • Fixed Discord RPC updates
        • ", "
        ", "

        Changed

        ", "
          ", + "
        • Support new game API
        • ", + "
        • Updated desktop file entry to include \"hl\" keyword
        • ", + "
        • Localized \"force-grab-cursor\" to Ukrainian
        • ", "
        • Changed background images processing logic
        • ", "
        • Prioritize parsed game version over the API response
        • ", "
        ",