From 2bbf896584494df6ccad7535cae1ea8dd810e53d Mon Sep 17 00:00:00 2001 From: xmk23333 Date: Thu, 15 Jan 2026 14:43:44 +0800 Subject: [PATCH] update changelog.md --- changelog.md | 37 ++++++------------------------------ src/native/sysproxy/index.js | 21 ++++++++++++-------- 2 files changed, 19 insertions(+), 39 deletions(-) diff --git a/changelog.md b/changelog.md index de000ac..d3f442d 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,7 @@ ## 新功能 (Feat) +- 支持隐藏不可用代理选项 - 支持禁用自动更新 - 支持交换任务栏点击行为 - 支持订阅导入时自动选择直连或代理 @@ -15,45 +16,19 @@ ## 修复 (Fix) +- 修复 Windows 旧 mihomo 进程导致的 EBUSY 错误 +- 修复侧边栏卡片水平偏移 +- macOS DNS 设置请求管理员权限 - 修复首次启动时资源文件复制失败导致程序无法运行的问题 -- 改进 macOS 助手在重启后套接字丢失时的恢复能力 -- 使用原子更新修复 changeCurrentProfile -- 确保启用 diffWorkDir 时当前配置文件 ID 一致 -- 修复配置写入队列并防止 IPC 监听器累积 -- 解决事件监听器内存泄漏并添加错误日志 -- 修复 RPM 包中的 .build-id 文件冲突 -- 修复 WebSocket 重连延迟和事件监听器清理 -- 优化连接页面性能和状态管理 -- 处理获取 Mihomo 标签时的非数组响应 -- 确保所有默认配置字段都存在于 config.yaml 中 -- 处理失败状态码或无效配置文件的订阅 -- 防止查找配置文件项时的空访问错误 - 修复连接详情和日志无法选择的问题 -- 改进应用实例锁处理 - 修复 mixed-port 配置问题 -- 备份前添加文件存在性检查 +- 空端口输入处理为 0 - 修复覆盖页面中缺失的占位符和错误处理 ## 优化 (Optimize) - 使用通知系统替换 alert() 弹窗 -- 使用记忆化和状态管理优化连接和日志组件 -- 跳过 PowerShell 配置文件加载以提升性能 - -## 重构 (Refactor) - -- 使用 IPC 通道白名单改进预加载安全性 -- 简化主进程 IPC 处理器注册 -- 使用通用调用包装器简化 IPC 层 -- 移除硬编码的中文字符串并改进国际化覆盖 -- 移除不再使用的 IPC 代码 -- 添加缺失的 await 关键字并重构重复代码 - -### 其他 (chore) - -- 升级所有依赖项 -- 升级 GitHub Actions 到最新版本 -- 确保 ESLint 通过并格式化代码 +- 优化连接页面性能 # 1.8.9 diff --git a/src/native/sysproxy/index.js b/src/native/sysproxy/index.js index 206f82c..0b5bd83 100644 --- a/src/native/sysproxy/index.js +++ b/src/native/sysproxy/index.js @@ -46,16 +46,21 @@ function getBindingName() { function loadBinding() { const bindingName = getBindingName() - // 查找项目根目录的 sidecar + // 查找项目根目录的 sidecar 和 extra/sidecar let currentDir = __dirname while (currentDir !== require('path').dirname(currentDir)) { - const sidecarPath = join(currentDir, 'sidecar', bindingName) - if (existsSync(sidecarPath)) { - try { - nativeBinding = require(sidecarPath) - return nativeBinding - } catch (e) { - loadError = e + const paths = [ + join(currentDir, 'sidecar', bindingName), + join(currentDir, 'extra', 'sidecar', bindingName) + ] + for (const sidecarPath of paths) { + if (existsSync(sidecarPath)) { + try { + nativeBinding = require(sidecarPath) + return nativeBinding + } catch (e) { + loadError = e + } } } currentDir = require('path').dirname(currentDir)