fix: update clash_verge_service_ipc to version 2.0.16 and improve log handling

This commit is contained in:
Tunglies
2025-10-13 11:38:54 +08:00
Unverified
parent 5fb770c113
commit 902c8fcaf2
4 changed files with 9 additions and 12 deletions

5
src-tauri/Cargo.lock generated
View File

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

View File

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

View File

@@ -884,12 +884,7 @@ impl CoreManager {
pub async fn get_clash_logs(&self) -> Result<VecDeque<CompactString>> {
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::<VecDeque<CompactString>>(),
RunningMode::Service => service::get_clash_logs_by_service().await?,
RunningMode::Sidecar => ClashLogger::global().get_logs().clone(),
_ => VecDeque::new(),
};

View File

@@ -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<VecDeque<String>> {
pub(super) async fn get_clash_logs_by_service() -> Result<VecDeque<CompactString>> {
logging!(info, Type::Service, "正在获取服务模式下的 Clash 日志");
let response = clash_verge_service_ipc::get_clash_logs()