fix: fixed merging issues

This commit is contained in:
Nikita Podvirnyi 2024-08-02 11:56:19 +02:00
parent 898388e1b9
commit 008b8ce1b5
No known key found for this signature in database
GPG key ID: 859D416E5142AFF3
6 changed files with 61 additions and 49 deletions

4
Cargo.lock generated
View file

@ -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",

View file

@ -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

View file

@ -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) => {

View file

@ -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);
tasks.push(std::thread::spawn(clone!(
#[strong]
sender,
Some((metadata.jadeite.version, status))
}
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);
Err(err) => {
tracing::error!("Failed to fetch patch metadata: {err}");
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())
});
tracing::info!("Updated patch status");
})));
None
}
}));
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")))));
}
}
}
}

View file

@ -17,33 +17,38 @@ pub fn update_patch(sender: ComponentSender<App>, progress_bar_input: Sender<Pro
std::thread::spawn(move || {
let result = jadeite::get_latest()
.and_then(|patch| patch.install(config.patch.path, clone!(@strong sender => move |state| {
match &state {
InstallerUpdate::DownloadingError(err) => {
tracing::error!("Downloading failed: {err}");
.and_then(|patch| patch.install(config.patch.path, clone!(
#[strong]
sender,
sender.input(AppMsg::Toast {
title: tr!("downloading-failed"),
description: Some(err.to_string())
});
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())
});
}
_ => ()
}
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.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");

View file

@ -22,6 +22,8 @@ pub mod components;
use components::*;
use crate::ui::preferences::main::PreferencesAppMsg;
use crate::i18n::*;
use crate::*;