From bdb178d8939f61d86e18ab9fcbd2ae9ed88183a8 Mon Sep 17 00:00:00 2001 From: Tunglies Date: Thu, 13 Feb 2025 10:14:13 +0800 Subject: [PATCH] fix: build front cannot find IvergeConfig.enable_lite_mode and macos port switching causes crash (#2691) * fix: macos switch protocol port or enable protocol port causes crash * fix: build time front cannot find IVergeConfig attribute enable_lite_mode --- src-tauri/src/core/core.rs | 1 + src-tauri/src/core/health_check.rs | 6 ++++++ src/services/types.d.ts | 1 + 3 files changed, 8 insertions(+) diff --git a/src-tauri/src/core/core.rs b/src-tauri/src/core/core.rs index f78930a0..56da7391 100644 --- a/src-tauri/src/core/core.rs +++ b/src-tauri/src/core/core.rs @@ -98,6 +98,7 @@ impl CoreManager { /// 启动核心 pub async fn start_core(&self) -> Result<()> { + #[cfg(not(target_os = "macos"))] // 检查端口占用 self.health_checker.check_ports().await?; diff --git a/src-tauri/src/core/health_check.rs b/src-tauri/src/core/health_check.rs index 9eac439e..73bf9aa9 100644 --- a/src-tauri/src/core/health_check.rs +++ b/src-tauri/src/core/health_check.rs @@ -1,7 +1,12 @@ +#[cfg(not(target_os = "macos"))] use anyhow::{bail, Result}; +#[cfg(target_os = "macos")] +use anyhow::Result; use sysinfo::{Pid, System}; +#[cfg(not(target_os = "macos"))] use crate::config::Config; use crate::core::service; +#[cfg(not(target_os = "macos"))] use port_scanner::local_port_available; #[derive(Debug, Clone)] @@ -12,6 +17,7 @@ impl HealthChecker { Self } + #[cfg(not(target_os = "macos"))] pub async fn check_ports(&self) -> Result<()> { let verge = Config::verge(); let verge_config = verge.latest(); diff --git a/src/services/types.d.ts b/src/services/types.d.ts index 8e520318..7bceae5a 100644 --- a/src/services/types.d.ts +++ b/src/services/types.d.ts @@ -709,6 +709,7 @@ interface IVergeConfig { tun_tray_icon?: boolean; enable_tray_speed?: boolean; enable_tun_mode?: boolean; + enable_lite_mode?: boolean; enable_auto_launch?: boolean; enable_silent_start?: boolean; enable_system_proxy?: boolean;