From f289a5c768393b7bc3a8520dbb24279dee028a6d Mon Sep 17 00:00:00 2001 From: LynithDev <61880709+LynithDev@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:30:29 +0200 Subject: [PATCH] fix: MSA Webview works now + Fixed empty "pre" and "wrapper" commands causing errors --- apps/desktop/src/api/commands/users.rs | 4 ---- packages/core/src/api/cluster/mod.rs | 25 ++++++++++++++++++++++--- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/apps/desktop/src/api/commands/users.rs b/apps/desktop/src/api/commands/users.rs index bd950522..eb0cdd05 100644 --- a/apps/desktop/src/api/commands/users.rs +++ b/apps/desktop/src/api/commands/users.rs @@ -43,10 +43,6 @@ pub async fn set_default_user(uuid: Uuid) -> Result<(), String> { #[tauri::command] pub async fn auth_login(handle: AppHandle) -> Result, String> { let flow = minecraft::begin().await?; - - // let result = (*(tokio::spawn(async { - // Box::pin(spawn_webview(handle, flow).await) - // }).await.map_err(|err| err.to_string())?)).clone()?; let result = spawn_webview(handle, flow).await?; Ok(result) diff --git a/packages/core/src/api/cluster/mod.rs b/packages/core/src/api/cluster/mod.rs index 81ffd153..f73c2fc7 100644 --- a/packages/core/src/api/cluster/mod.rs +++ b/packages/core/src/api/cluster/mod.rs @@ -131,7 +131,16 @@ pub async fn run_credentials( .init_hooks .as_ref() .unwrap_or(&settings.init_hooks) - .pre; + .pre + .as_ref() + .and_then(|it| { + if it.is_empty() { + None + } else { + Some(it.clone()) + } + }); + if let Some(hook) = pre { // TODO: hook parameters let mut cmd = hook.split(' '); @@ -161,10 +170,20 @@ pub async fn run_credentials( .as_ref() .and_then(|it| it.custom_arguments.as_ref()) .unwrap_or(&settings.custom_java_args); + let wrapper = cluster .init_hooks .as_ref() - .map_or(&settings.init_hooks.wrapper, |it| &it.wrapper); + .map_or(&settings.init_hooks.wrapper, |it| &it.wrapper) + .as_ref() + .and_then(|it| { + if it.is_empty() { + None + } else { + Some(it.clone()) + } + }); + let memory = cluster.memory.unwrap_or(settings.memory); let resolution = cluster.resolution.unwrap_or(settings.resolution); let env_args = cluster @@ -194,7 +213,7 @@ pub async fn run_credentials( creds, &resolution, &memory, - wrapper, + &wrapper, ) .await?;