From 5c42658a2ea2e276bfe81895de626e59e039c69e Mon Sep 17 00:00:00 2001 From: oomeow Date: Sat, 13 Dec 2025 15:21:22 +0800 Subject: [PATCH] fix: init work config and resources twice --- src-tauri/src/lib.rs | 7 +++---- src-tauri/src/utils/resolve/mod.rs | 29 +++++++++++++++-------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index f9ea71faf..2bbaed1ad 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -10,8 +10,7 @@ mod feat; mod module; mod process; pub mod utils; -use crate::utils::resolve::init_signal; -use crate::{constants::files, utils::resolve::prioritize_initialization}; +use crate::constants::files; use crate::{ core::handle, process::AsyncHandler, @@ -237,7 +236,7 @@ pub fn run() { .set(app.app_handle().clone()) .expect("failed to set global app handle"); - let _handle = AsyncHandler::block_on(async { prioritize_initialization().await }); + let _handle = resolve::init_work_dir_and_logger(); logging!(info, Type::Setup, "开始应用初始化..."); if let Err(e) = app_init::setup_autostart(app) { @@ -253,7 +252,7 @@ pub fn run() { resolve::resolve_setup_handle(); resolve::resolve_setup_async(); resolve::resolve_setup_sync(); - init_signal(); + resolve::init_signal(); resolve::resolve_done(); logging!(info, Type::Setup, "初始化已启动"); diff --git a/src-tauri/src/utils/resolve/mod.rs b/src-tauri/src/utils/resolve/mod.rs index a1a1c8fe3..2d18fff24 100644 --- a/src-tauri/src/utils/resolve/mod.rs +++ b/src-tauri/src/utils/resolve/mod.rs @@ -28,19 +28,21 @@ pub mod window_script; static RESOLVE_DONE: AtomicBool = AtomicBool::new(false); -pub async fn prioritize_initialization() -> Option { - init_work_config().await; - init_resources().await; +pub fn init_work_dir_and_logger() -> Option { + AsyncHandler::block_on(async { + init_work_config().await; + init_resources().await; - #[cfg(not(feature = "tauri-dev"))] - { - logging!(info, Type::Setup, "Initializing logger"); - init::init_logger().await.ok() - } - #[cfg(feature = "tauri-dev")] - { - None - } + #[cfg(not(feature = "tauri-dev"))] + { + logging!(info, Type::Setup, "Initializing logger"); + init::init_logger().await.ok() + } + #[cfg(feature = "tauri-dev")] + { + None + } + }) } pub fn resolve_setup_handle() { @@ -58,8 +60,7 @@ pub fn resolve_setup_async() { AsyncHandler::spawn(|| async { logging!(info, Type::ClashVergeRev, "Version: {}", env!("CARGO_PKG_VERSION")); - futures::join!(init_work_config(), init_resources(), init_startup_script()); - + init_startup_script().await; init_verge_config().await; Config::verify_config_initialization().await; init_window().await;