From 54f1bfb5d07a389162bb13f5721c0c68ef5301d6 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 20 Feb 2026 20:08:54 +0800 Subject: [PATCH] chore(tray): hide Auto Failover shortcut from tray menu The Auto (Failover) toggle in the system tray is no longer shown. The feature remains fully functional via the Settings page. All related backend code (handle_auto_click, AUTO_SUFFIX, etc.) is preserved for easy re-enablement. --- src-tauri/src/tray.rs | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/src-tauri/src/tray.rs b/src-tauri/src/tray.rs index 6829ae399..e7b991324 100644 --- a/src-tauri/src/tray.rs +++ b/src-tauri/src/tray.rs @@ -15,7 +15,7 @@ pub struct TrayTexts { pub show_main: &'static str, pub no_provider_hint: &'static str, pub quit: &'static str, - pub auto_label: &'static str, + pub _auto_label: &'static str, } impl TrayTexts { @@ -25,20 +25,20 @@ impl TrayTexts { show_main: "Open main window", no_provider_hint: " (No providers yet, please add them from the main window)", quit: "Quit", - auto_label: "Auto (Failover)", + _auto_label: "Auto (Failover)", }, "ja" => Self { show_main: "メインウィンドウを開く", no_provider_hint: " (プロバイダーがまだありません。メイン画面から追加してください)", quit: "終了", - auto_label: "自動 (フェイルオーバー)", + _auto_label: "自動 (フェイルオーバー)", }, _ => Self { show_main: "打开主界面", no_provider_hint: " (无供应商,请在主界面添加)", quit: "退出", - auto_label: "自动 (故障转移)", + _auto_label: "自动 (故障转移)", }, } } @@ -91,7 +91,7 @@ fn append_provider_section<'a>( manager: Option<&crate::provider::ProviderManager>, section: &TrayAppSection, tray_texts: &TrayTexts, - app_state: &AppState, + _app_state: &AppState, ) -> Result>, AppError> { let Some(manager) = manager else { return Ok(menu_builder); @@ -119,22 +119,9 @@ fn append_provider_section<'a>( return Ok(menu_builder.item(&empty_hint)); } - // 获取 proxy 状态,决定 Auto 是否选中 - let (proxy_enabled, auto_failover) = - app_state.db.get_proxy_flags_sync(section.app_type.as_str()); - let auto_mode = proxy_enabled && auto_failover; - - // 添加 Auto 菜单项(始终显示在供应商列表前) - let auto_item = CheckMenuItem::with_id( - app, - format!("{}{}", section.prefix, AUTO_SUFFIX), - tray_texts.auto_label, - true, - auto_mode, - None::<&str>, - ) - .map_err(|e| AppError::Message(format!("创建{}Auto菜单项失败: {e}", section.log_name)))?; - menu_builder = menu_builder.item(&auto_item); + // Auto (Failover) menu item is hidden from tray; the feature is still + // accessible from the Settings page. Keep the surrounding code intact so + // it can be re-enabled easily in the future. let mut sorted_providers: Vec<_> = manager.providers.iter().collect(); sorted_providers.sort_by(|(_, a), (_, b)| { @@ -156,8 +143,7 @@ fn append_provider_section<'a>( }); for (id, provider) in sorted_providers { - // Auto 模式下所有供应商都不选中 - let is_current = !auto_mode && manager.current == *id; + let is_current = manager.current == *id; let item = CheckMenuItem::with_id( app, format!("{}{}", section.prefix, id),