fix: resolve freeze issue caused by rapid "Proxy Mode" switching on homepage

This commit is contained in:
wonfen 2025-04-10 11:34:27 +08:00
parent 843f40d7d5
commit 5fcea4c684
6 changed files with 18 additions and 6 deletions

View File

@ -1,3 +1,15 @@
## v2.2.4-alpha
#### 已知问题
- 仅在Ubuntu 22.04/24.04Fedora 41 **Gnome桌面环境** 做过简单测试不保证其他其他Linux发行版可用将在未来做进一步适配和调优
- MacOS 自定义图标与速率显示推荐图标尺寸为 256x256。其他尺寸可能会导致不正常图标和速率间隙
- MacOS 下 墙贴主要为浅色Tray 图标深色时图标闪烁;彩色 Tray 速率颜色淡
- Linux 下 Clash Verge Rev 内存占用显著高于 Windows / MacOS
### 2.2.4 相对于 2.2.3
#### 修复了:
- 首页“代理模式”快速切换导致的卡死问题
## v2.2.3 ## v2.2.3
#### 已知问题 #### 已知问题

View File

@ -1,6 +1,6 @@
{ {
"name": "clash-verge", "name": "clash-verge",
"version": "2.2.3", "version": "2.2.4-alpha",
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"scripts": { "scripts": {
"dev": "cross-env RUST_BACKTRACE=1 tauri dev -f verge-dev -- --profile fast-dev", "dev": "cross-env RUST_BACKTRACE=1 tauri dev -f verge-dev -- --profile fast-dev",

2
src-tauri/Cargo.lock generated
View File

@ -1042,7 +1042,7 @@ dependencies = [
[[package]] [[package]]
name = "clash-verge" name = "clash-verge"
version = "2.2.3" version = "2.2.4-alphas"
dependencies = [ dependencies = [
"ab_glyph", "ab_glyph",
"aes-gcm", "aes-gcm",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "clash-verge" name = "clash-verge"
version = "2.2.3" version = "2.2.4-alphas"
description = "clash verge" description = "clash verge"
authors = ["zzzgydi", "wonfen", "MystiPanda"] authors = ["zzzgydi", "wonfen", "MystiPanda"]
license = "GPL-3.0-only" license = "GPL-3.0-only"

View File

@ -1,5 +1,5 @@
{ {
"version": "2.2.3", "version": "2.2.4-alpha",
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json", "$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"bundle": { "bundle": {
"active": true, "active": true,

View File

@ -15,7 +15,7 @@ import { useAppData } from "@/providers/app-data-provider";
export const ClashModeCard = () => { export const ClashModeCard = () => {
const { t } = useTranslation(); const { t } = useTranslation();
const { verge } = useVerge(); const { verge } = useVerge();
const { clashConfig, refreshProxy } = useAppData(); const { clashConfig, refreshClashConfig } = useAppData();
// 支持的模式列表 // 支持的模式列表
const modeList = useMemo(() => ["rule", "global", "direct"] as const, []); const modeList = useMemo(() => ["rule", "global", "direct"] as const, []);
@ -40,7 +40,7 @@ export const ClashModeCard = () => {
try { try {
await patchClashMode(mode); await patchClashMode(mode);
// 使用共享的刷新方法 // 使用共享的刷新方法
refreshProxy(); refreshClashConfig();
} catch (error) { } catch (error) {
console.error("Failed to change mode:", error); console.error("Failed to change mode:", error);
} }