From a5e6a35deac4d1d669324b55eb7f0cab55d1d6f1 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Tue, 4 Nov 2025 08:16:02 +0800 Subject: [PATCH] fix: update IVerge struct to skip serializing optional fields and adjust types for latency timeout and proxy layout column --- src-tauri/src/config/verge.rs | 15 +++++++++++---- src/services/types.d.ts | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src-tauri/src/config/verge.rs b/src-tauri/src/config/verge.rs index 64af34c20..5de30e9f3 100644 --- a/src-tauri/src/config/verge.rs +++ b/src-tauri/src/config/verge.rs @@ -46,19 +46,24 @@ pub struct IVerge { pub enable_memory_usage: Option, /// enable group icon + #[serde(skip_serializing_if = "Option::is_none")] pub enable_group_icon: Option, /// common tray icon + #[serde(skip_serializing_if = "Option::is_none")] pub common_tray_icon: Option, /// tray icon #[cfg(target_os = "macos")] + #[serde(skip_serializing_if = "Option::is_none")] pub tray_icon: Option, /// menu icon + #[serde(skip_serializing_if = "Option::is_none")] pub menu_icon: Option, /// menu order + #[serde(skip_serializing_if = "Option::is_none")] pub menu_order: Option>, /// sysproxy tray icon @@ -115,6 +120,7 @@ pub struct IVerge { /// hotkey map /// format: {func},{key} + #[serde(skip_serializing_if = "Option::is_none")] pub hotkeys: Option>, /// enable global hotkey @@ -134,7 +140,7 @@ pub struct IVerge { pub default_latency_test: Option, /// 默认的延迟测试超时时间 - pub default_latency_timeout: Option, + pub default_latency_timeout: Option, /// 是否自动检测当前节点延迟 pub enable_auto_delay_detection: Option, @@ -143,7 +149,7 @@ pub struct IVerge { pub enable_builtin_enhanced: Option, /// proxy 页面布局 列数 - pub proxy_layout_column: Option, + pub proxy_layout_column: Option, /// 测试站列表 pub test_list: Option>, @@ -202,6 +208,7 @@ pub struct IVerge { )] pub webdav_password: Option, + #[serde(skip)] pub enable_tray_speed: Option, // pub enable_tray_icon: Option, @@ -586,10 +593,10 @@ pub struct IVergeResponse { pub auto_close_connection: Option, pub auto_check_update: Option, pub default_latency_test: Option, - pub default_latency_timeout: Option, + pub default_latency_timeout: Option, pub enable_auto_delay_detection: Option, pub enable_builtin_enhanced: Option, - pub proxy_layout_column: Option, + pub proxy_layout_column: Option, pub test_list: Option>, pub auto_log_clean: Option, #[cfg(not(target_os = "windows"))] diff --git a/src/services/types.d.ts b/src/services/types.d.ts index b5be46474..cc9eaac37 100644 --- a/src/services/types.d.ts +++ b/src/services/types.d.ts @@ -801,7 +801,7 @@ interface IVergeConfig { common_tray_icon?: boolean; sysproxy_tray_icon?: boolean; tun_tray_icon?: boolean; - enable_tray_speed?: boolean; + // enable_tray_speed?: boolean; // enable_tray_icon?: boolean; tray_inline_proxy_groups?: boolean; enable_tun_mode?: boolean;