diff --git a/UPDATELOG.md b/UPDATELOG.md index 65e87d49..e510a8b4 100644 --- a/UPDATELOG.md +++ b/UPDATELOG.md @@ -2,48 +2,51 @@ ### 🏆 重大改进 -- **核心架构升级**:与内核 Mihomo 采用 IPC 通信,不再依赖 Restful API 通信,提升性能和稳定性 +- **核心架构升级**:与内核 `Mihomo` 采用 `IPC` 通信,不再依赖 `Restful API` 通信,提升性能和稳定性 - **流量监控系统重构**:前端实现全新的增强流量监控系统,支持数据压缩、采样和智能缓存 -- **数据验证机制**:引入类型安全的数据验证器,确保 API 响应数据的一致性和可靠性 +- **数据验证机制**:引入类型安全的数据验证器,确保 `API` 响应数据的一致性和可靠性 - **配置缓存架构**:实现智能配置缓存系统,支持后端数据缓存和强制刷新机制 ### ✨ 新增功能 - 增加 `Verge Version` 复制按钮 -- 新增增强型流量监控 Hook,支持高级数据管理与采样 +- 新增增强型流量监控 `Hook` 支持高级数据管理与采样 - 支持原始/压缩流量数据处理与时间范围查询 - 引用计数管理器智能收集数据 - 新增流量监控诊断工具与错误边界组件 - 多版本画布流量图表,丰富可视化选项 -- 新增强制刷新 Clash 配置/节点缓存功能,提升更新响应速度 -- 增加代理请求缓存机制,减少重复 API 调用 +- 新增强制刷新 `Clash` 配置/节点缓存功能,提升更新响应速度 +- 增加代理请求缓存机制,减少重复 `API` 调用 ### 🚀 性能优化 -- IPC 通信机制显著提升数据传输效率 +- `IPC` 通信机制显著提升数据传输效率 - 智能数据采样和压缩减少内存占用 - 引用计数机制避免不必要的数据收集,提升整体性能 - 优化流量图表渲染性能,支持大数据量展示 - 改进前端数据获取和缓存策略 -- 实现配置/节点缓存 TTL 机制,减少不必要的配置/节点请求 -- 改进 Clash 配置/节点刷新间隔,从5秒优化到60秒,减少系统资源消耗 +- 实现配置/节点缓存 `TTL` 机制,减少不必要的配置/节点请求 +- 改进 `Clash` 配置/节点刷新间隔,从5秒优化到60秒,减少系统资源消耗 +- 同步设置页面所有按钮 ### 🐞 修复问题 - 修复系统主题窗口颜色不一致问题 -- 修复 URL 编码处理,正确处理特殊字符 +- 修复 `URL` 编码处理,正确处理特殊字符 - 增强代理更新的错误处理机制 -- 修复 JSON 解析错误处理 +- 修复 `JSON` 解析错误处理 - 优化调试日志输出,减少噪音 - 修复配置修改后前端缓存不同步问题 - 改进核心启动/停止/重启后的状态刷新机制 +- 修复 `Windows` 安装器删除用户自启问题 +- 修复 `Windows` 安装器参数使用错误问题 ### 🔧 技术改进 -- 移除过时的 Http 控制 Mihomo,统一使用 IPC 控制 -- 添加外部控制器配置和 UI 支持 -- 改进 IPC 路径处理,支持 Unix 系统特定功能 -- 优化 IPC 目录安全检查和路径解析 +- 移除过时的 `Http` 控制 `Mihomo` 统一使用 `IPC` 控制 +- 添加外部控制器配置和 `UI` 支持 +- 改进 `IPC` 路径处理,支持 `Unix` 系统特定功能 +- 优化 `IPC` 目录安全检查和路径解析 ## v2.3.2 diff --git a/src-tauri/packages/windows/installer.nsi b/src-tauri/packages/windows/installer.nsi index 0a5ab8a1..1e5e1395 100644 --- a/src-tauri/packages/windows/installer.nsi +++ b/src-tauri/packages/windows/installer.nsi @@ -661,7 +661,7 @@ SectionEnd Pop $R0 ${If} $R0 = 0 IfSilent kill 0 - ${IfThen} $PassiveMode != 1 ${|} MessageBox MB_OKCANCEL "$(appRunningOkKill)" IDOK kill IDCANCEL cancel ${|} + ${IfThen} $PassiveMode != 1 ${|} MessageBox MB_OKCANCEL "Clash Verge 正在运行 $\n点击确定以终止运行" IDOK kill IDCANCEL cancel ${|} kill: !if "${INSTALLMODE}" == "currentUser" nsis_tauri_utils::KillProcessCurrentUser "${MAINBINARYNAME}.exe" @@ -762,8 +762,18 @@ Section Install !insertmacro CheckIfAppIsRunning !insertmacro CheckAllVergeProcesses + ; 修复系统级启动文件夹 + CreateDirectory "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" + DetailPrint "系统级启动文件夹已确保存在" + + ; 修复用户级启动文件夹 + SetShellVarContext current + StrCpy $0 "$SMPROGRAMS\Startup" + CreateDirectory "$0" + DetailPrint "已确保用户级启动文件夹存在: $0" + ; 删除 window-state.json 文件 .window-state.json 文件 - DetailPrint "开始删除删除 window-state.json or .window-state.json" + DetailPrint "开始删除 window-state.json or .window-state.json" SetShellVarContext current Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\window-state.json" Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\.window-state.json" @@ -924,7 +934,7 @@ Section Uninstall !insertmacro RemoveVergeService ; 删除 window-state.json 文件 .window-state.json 文件 - DetailPrint "开始删除删除 window-state.json or .window-state.json" + DetailPrint "开始删除 window-state.json or .window-state.json" SetShellVarContext current Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\window-state.json" Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\.window-state.json" @@ -1029,15 +1039,17 @@ Section Uninstall DetailPrint "所有用户桌面快捷方式删除完成" - ; 删除用户开始菜单文件夹 - Delete "$SMPROGRAMS\$AppStartMenuFolder\${PRODUCTNAME}.lnk" - Delete "$SMPROGRAMS\$AppStartMenuFolder\${MAINBINARYNAME}.lnk" - RMDir /r /REBOOTOK "$SMPROGRAMS\$AppStartMenuFolder" + ; 删除用户级开始菜单中的应用程序文件夹和快捷方式 + DetailPrint "删除用户级开始菜单中的应用程序文件夹和快捷方式..." + RMDir /r /REBOOTOK "$SMPROGRAMS\Clash Verge" + RMDir /r /REBOOTOK "$SMPROGRAMS\clash-verge" + DetailPrint "删除用户级开始菜单中的应用程序文件夹和快捷方式完成" - ; 删除系统级开始菜单中的 Clash Verge - Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge\Clash Verge.lnk" - Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge\clash-verge.lnk" + ; 删除系统级开始菜单中的应用程序文件夹和快捷方式 + DetailPrint "删除系统级开始菜单中的应用程序文件夹和快捷方式..." RMDir /r /REBOOTOK "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge" + RMDir /r /REBOOTOK "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\clash-verge" + DetailPrint "删除系统级开始菜单中的应用程序文件夹和快捷方式完成" ; 删除所有带 Clash Verge 或 clash-verge 的注册表项 DetailPrint "开始清理所有 Clash Verge 相关的注册表项..."