diff --git a/packages/core/src/api/cluster/mod.rs b/packages/core/src/api/cluster/mod.rs index a496a5fd..6f2fecf6 100644 --- a/packages/core/src/api/cluster/mod.rs +++ b/packages/core/src/api/cluster/mod.rs @@ -376,6 +376,7 @@ pub async fn update_playtime(path: &ClusterPath) -> crate::Result<()> { cluster.meta.overall_played += recent_playtime; cluster.meta.recently_played = 0; } + drop(clusters); State::sync().await?; diff --git a/packages/core/src/api/java.rs b/packages/core/src/api/java.rs index 52136ffb..bc9619a7 100644 --- a/packages/core/src/api/java.rs +++ b/packages/core/src/api/java.rs @@ -7,7 +7,7 @@ use crate::proxy::send::{init_ingress, send_ingress}; use crate::utils::http::{fetch_advanced, fetch_json}; use crate::utils::io::{self, IOError}; use crate::utils::java::{self, get_java_version, JavaVersion}; -use crate::State; +use crate::{constants, State}; pub async fn filter_java_version(java_version: Option) -> crate::Result> { let java = java::locate_java().await?; @@ -102,7 +102,7 @@ pub async fn install_java(java_version: u32) -> crate::Result { #[cfg(not(target_os = "macos"))] { - base_path = base_path.join("bin").join(java::JAVA_BIN) + base_path = base_path.join("bin").join(constants::JAVA_BIN) } Ok(base_path) diff --git a/packages/core/src/api/settings.rs b/packages/core/src/api/settings.rs index 574259e6..70ee0a1e 100644 --- a/packages/core/src/api/settings.rs +++ b/packages/core/src/api/settings.rs @@ -167,8 +167,7 @@ pub async fn set_directory(new: PathBuf) -> crate::Result<()> { tracing::trace!("re-resetting file watching system"); let mut file_watcher = crate::utils::watcher::initialize_watcher().await?; - state_write.clusters = - RwLock::new(Clusters::initialize(&state_write.directories, &mut file_watcher).await?); + state_write.clusters = RwLock::new(Clusters::initialize(&state_write.directories, &mut file_watcher).await?); state_write.watcher = RwLock::new(file_watcher); send_ingress(&ingress, 10.0, None).await?; diff --git a/packages/core/src/game/mod.rs b/packages/core/src/game/mod.rs index 59809151..07bb15a4 100644 --- a/packages/core/src/game/mod.rs +++ b/packages/core/src/game/mod.rs @@ -368,8 +368,6 @@ pub async fn launch_minecraft( ) .current_dir(instance_path.clone()); - println!("command: {:#?}", command); - // when cargo makes the DYLD_LIBRARY_PATH it breaks Minecraft #[cfg(target_os = "macos")] if std::env::var("CARGO").is_ok() { diff --git a/packages/core/src/store/processor.rs b/packages/core/src/store/processor.rs index 42c8a6bc..35364aca 100644 --- a/packages/core/src/store/processor.rs +++ b/packages/core/src/store/processor.rs @@ -582,9 +582,7 @@ impl Processor { if let Err(err) = cluster::edit(&cluster_path, |cluster| { cluster.meta.recently_played += update as u64; async { Ok(()) } - }) - .await - { + }).await { tracing::warn!( "failed to update playtime for cluster {}: {}", &cluster_path, @@ -603,10 +601,16 @@ impl Processor { } }); - { - let state = crate::State::get().await?; + tokio::spawn(async { + let state = match crate::State::get().await { + Ok(state) => state, + Err(err) => { + tracing::warn!("failed to get state: {}", err); + return; + } + }; let _ = state.discord_rpc.clear(true).await; - } + }); #[cfg(feature = "tauri")] {