Skip to content

Commit 0393e08

Browse files
committed
fix: 移除 enable_logging 错误拦截并使配置实时生效
问题描述: - 使用统计(Usage Statistics)在关闭"启用日志记录"开关后不再记录到数据库 - 这是因为 bf40b01 提交错误地同时跳过了使用统计记录 - 另外设置变更没有热生效,需要重启软件 修复内容: - 移除 response_processor.rs 中两处对 enable_logging 的检查,让使用统计始终记录 - update_global_proxy_config 调用 update_config 使配置实时生效
1 parent 602c571 commit 0393e08

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

src-tauri/src/commands/proxy.rs

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,30 @@ pub async fn get_global_proxy_config(
8181
/// 更新全局代理配置
8282
///
8383
/// 更新统一的全局配置字段,会同时更新三行(claude/codex/gemini)
84+
/// 并实时应用到运行中的代理服务器
8485
#[tauri::command]
8586
pub async fn update_global_proxy_config(
8687
state: tauri::State<'_, AppState>,
8788
config: GlobalProxyConfig,
8889
) -> Result<(), String> {
89-
let db = &state.db;
90-
db.update_global_proxy_config(config)
90+
// 先更新数据库(包含 proxy_enabled 等所有全局字段)
91+
state
92+
.db
93+
.update_global_proxy_config(config)
94+
.await
95+
.map_err(|e| e.to_string())?;
96+
97+
// 从数据库读取完整配置
98+
let runtime_config = state
99+
.db
100+
.get_proxy_config()
101+
.await
102+
.map_err(|e| e.to_string())?;
103+
104+
// 调用 update_config 实时应用到运行中的代理服务器
105+
state
106+
.proxy_service
107+
.update_config(&runtime_config)
91108
.await
92109
.map_err(|e| e.to_string())
93110
}

src-tauri/src/proxy/response_processor.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -386,11 +386,6 @@ fn create_usage_collector(
386386
status_code: u16,
387387
parser_config: &UsageParserConfig,
388388
) -> SseUsageCollector {
389-
let logging_enabled = state
390-
.config
391-
.try_read()
392-
.map(|c| c.enable_logging)
393-
.unwrap_or(true);
394389
let state = state.clone();
395390
let provider_id = ctx.provider.id.clone();
396391
let request_model = ctx.request_model.clone();
@@ -402,9 +397,6 @@ fn create_usage_collector(
402397
let session_id = ctx.session_id.clone();
403398

404399
SseUsageCollector::new(start_time, move |events, first_token_ms| {
405-
if !logging_enabled {
406-
return;
407-
}
408400
if let Some(usage) = stream_parser(&events) {
409401
let model = model_extractor(&events, &request_model);
410402
let latency_ms = start_time.elapsed().as_millis() as u64;
@@ -469,13 +461,6 @@ fn spawn_log_usage(
469461
status_code: u16,
470462
is_streaming: bool,
471463
) {
472-
// Check enable_logging before spawning the log task
473-
if let Ok(config) = state.config.try_read() {
474-
if !config.enable_logging {
475-
return;
476-
}
477-
}
478-
479464
let state = state.clone();
480465
let provider_id = ctx.provider.id.clone();
481466
let app_type_str = ctx.app_type_str.to_string();

0 commit comments

Comments
 (0)