diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index ab898d5c..41622bce 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1183,10 +1183,11 @@ dependencies = [ [[package]] name = "clash_verge_service_ipc" -version = "2.0.15" -source = "git+https://github.com/clash-verge-rev/clash-verge-service-ipc#822d5fe59ca591944f85e9242f7ca5781f3a0e68" +version = "2.0.16" +source = "git+https://github.com/clash-verge-rev/clash-verge-service-ipc#95ede2f27a5d3bdc005514d791247038e9b005bb" dependencies = [ "anyhow", + "compact_str", "kode-bridge", "log", "once_cell", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 32144c51..115acc81 100755 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -79,17 +79,17 @@ isahc = { version = "1.7.2", default-features = false, features = [ "parking_lot", ] } backoff = { version = "0.4.0", features = ["tokio"] } +compact_str = { version = "0.9.0", features = ["serde"] } tauri-plugin-http = "2.5.2" flexi_logger = "0.31.7" console-subscriber = { version = "0.4.1", optional = true } tauri-plugin-devtools = { version = "2.0.1" } tauri-plugin-mihomo = { git = "https://github.com/clash-verge-rev/tauri-plugin-mihomo" } clash_verge_logger = { version = "0.1.0", git = "https://github.com/clash-verge-rev/clash-verge-logger" } -clash_verge_service_ipc = { version = "2.0.15", features = [ +clash_verge_service_ipc = { version = "2.0.16", features = [ "client", ], git = "https://github.com/clash-verge-rev/clash-verge-service-ipc" } -compact_str = { version = "0.9.0", features = ["serde"] } -# clash_verge_service_ipc = { version = "2.0.14", features = [ +# clash_verge_service_ipc = { version = "2.0.16", features = [ # "client", # ], path = "../../clash-verge-service-ipc" } diff --git a/src-tauri/src/core/core.rs b/src-tauri/src/core/core.rs index 650d8ec3..c1695030 100644 --- a/src-tauri/src/core/core.rs +++ b/src-tauri/src/core/core.rs @@ -884,12 +884,7 @@ impl CoreManager { pub async fn get_clash_logs(&self) -> Result> { logging!(info, Type::Core, "get clash logs"); let logs = match self.get_running_mode() { - // TODO 服务端也完成 CompactString 迁移 - RunningMode::Service => service::get_clash_logs_by_service() - .await? - .into_iter() - .map(CompactString::from) - .collect::>(), + RunningMode::Service => service::get_clash_logs_by_service().await?, RunningMode::Sidecar => ClashLogger::global().get_logs().clone(), _ => VecDeque::new(), }; diff --git a/src-tauri/src/core/service.rs b/src-tauri/src/core/service.rs index cd7ae61d..4247a726 100644 --- a/src-tauri/src/core/service.rs +++ b/src-tauri/src/core/service.rs @@ -5,6 +5,7 @@ use crate::{ }; use anyhow::{Context, Result, bail}; use clash_verge_service_ipc::CoreConfig; +use compact_str::CompactString; use once_cell::sync::Lazy; use std::{ collections::VecDeque, @@ -393,7 +394,7 @@ pub(super) async fn run_core_by_service(config_file: &PathBuf) -> Result<()> { start_with_existing_service(config_file).await } -pub(super) async fn get_clash_logs_by_service() -> Result> { +pub(super) async fn get_clash_logs_by_service() -> Result> { logging!(info, Type::Service, "正在获取服务模式下的 Clash 日志"); let response = clash_verge_service_ipc::get_clash_logs()