Skip to content

CleanYourWechatTool v1.0.9 · 边界修复与发布门禁固化

Choose a tag to compare

@LuckTerence LuckTerence released this 12 Sep 03:30
· 3 commits to main since this release

Release Notes - CleanYourWechatTool v1.0.9

发布日期: 2026-09-12
类型: 稳定性与边界修复(3 项) + 发布工程门禁固化

本版本在 v1.0.8 的基础上,针对三处在窄场景(大文件抽屉交互、后台诊断完成时序、主子线程白名单并发配置)下可能触发的异常进行了针对性防御,并内置了发布自检门禁脚本。


重要修复与稳定性增强

1. 消除大文件抽屉点击 KeyError

  • 问题:大文件抽屉展开期间,若后台重新完成诊断并刷新了文件元数据字典,残留的旧项目 ID 点击时会直接触发 KeyError,导致界面停滞在半更新状态且无提示。
  • 修复:在 on_click 事件中增加 iid in meta 存在性防御保护。

2. GUI 后台任务完成回调异常显式捕获

  • 问题:_poll_queue 中此前仅捕获 queue.Empty,当 on_done 回调执行抛出未预料异常时,窗口化应用没有标准错误流输出,导致异常被静默吞掉,界面无法恢复。
  • 修复:显式捕获 on_done 执行期异常,记录日志并通过原生弹窗进行友好提示。

3. 白名单多线程迭代竞争保护

  • 问题:当后台诊断线程正在遍历白名单规则时,如果用户在前端界面同时新增或修改白名单规则,可能触发 Python 的 RuntimeError: dictionary changed size during iteration。
  • 修复:遍历改为快照安全迭代(list(self.rules.values()))。

工程规范与自动化

  • 发布自检门禁 (scripts/preflight.py):把版本号一致性、工作区状态、远程同步、pytest 矩阵、flake8/mypy 静态扫描、CLI 冒烟及 GUI 真机运行固化为一键检查命令,阻断不合格打包。
  • 发布流程规范 (docs/RELEASE_PROCESS.md):建立规范的发布标准与四层故障回退方案。