Skip to content

v1.2.5

Choose a tag to compare

@cv-superding cv-superding released this 01 Sep 05:06
· 11 commits to main since this release

修复内容(第二轮代码复查)

🆕 新增修复(N1–N9)

  • 关窗未恢复代理(N1):导入成功后系统代理处于关闭态,若直接关窗会被永久遗留。
    现在关闭时若代理仍待恢复,会弹窗询问一次——可选「恢复后退出」或「保持关闭直接退出」
    (后者适用于你还要先在 Clash 里点「更新」拉节点的场景)。
  • 一条脏数据让整个客户端订阅全空(N2,实测复现):profiles.yaml 里若某条
    name 写成数字(如 name: 12345),解析会抛异常,导致该客户端所有条目全部丢失
    (连后面正常的配置也一起消失)。已加类型防护,脏数据不再影响其余条目。
  • 导入中扫描按钮被竞态重新点亮(N5):导入进行中禁用扫描按钮。
  • 导入后刷新列表被静默跳过(N6):扫描正忙时标记补扫,结束后自动补跑一次。
  • 关代理失败残留旧状态(N3):清空状态,避免之后用旧状态去「恢复」。
  • 收尾 after 未包 try(N4):关窗时不再抛未处理异常。
  • 同秒两次导入备份名碰撞(N7):备份名改为可读时间戳 + uuid 后缀。
  • 空数据目录误命中 CWD 文件(N8):无数据目录时跳过裸文件名查找。
  • 等待进程退出全量枚举开销大(N9):新增 clashctl.close_and_wait,
    只对被 kill 的 pid 做探测。

上一版(v1.2.4)已修

运行时密钥永不生效、导入时界面冻结、写失败代理遗留关闭、
ProxyEnable 字符串型兼容、HTTP 大响应 O(n^2) 等。

验证

  • 全模块 py_compile 通过
  • 冒烟测试全绿:_short_name 脏数据、备份名防碰撞、空目录跳过、close_and_wait 就位
  • exe 启动存活测试通过

⚠️ 黑闪(v1.2.3 的 DWM 层修复)属纯视觉效果,需你在真实屏幕确认。