Skip to content

0.3.1

Latest

Choose a tag to compare

@github-actions github-actions released this 30 May 10:51
· 2 commits to main since this release

聚焦 Windows 多盘场景下「扫得了却操作不了」的彻底修复:围绕清理 / 归档 / 冷备 / 恢复 / 打开整条链路,统一了路径安全准入策略,去掉对用户家目录(os.homedir())的硬编码假设;同步加固 Windows 下深层目录的删除鲁棒性,让 Android 开发者常见的 D:\workspace\...E:\code\... 类工作区彻底成为一等公民。

修复

  • Windows 多驱动器场景全面兑现:跨盘项目(如 D:\workspace\hf-android-palm\...)此前因 cleaner / archiver / bundler 各自硬卡 home 目录,操作一律被拒;现已统一改为「家目录 ∪ 历史扫描根」的并集准入,跨盘符场景全部放行
    • cleaner:清理动作改为「项目根 + 白名单目录名」双重准入,跨盘项目可正常释放空间
    • archiver / bundler:归档、打包冷备、从冷备恢复三条主流程同步统一准入
    • ipc.openWithEditor / openWithTerminal:跨盘项目可正常一键打开编辑器与终端
  • Windows 清理鲁棒性升级:补齐 node_modules / .gradle / build 等深层目录在 Windows 上的删除短板,解决"显示已清理但磁盘没动"的体感问题
    • 自动应用 \\?\ 长路径前缀,绕过 MAX_PATH=260 限制
    • 首次失败时递归清除只读属性(Gradle / npm 缓存常见)后重试一次
    • fs.rm 启用 maxRetries / retryDelay,缓解被 IDE / 杀软短暂占用导致的 EBUSY
    • freedBytes 改为「删除前后实测差值」,避免「显示已清理但磁盘没动」的错觉
  • scanner 改用 os.homedir() 替代 process.env.HOME,让「扫描入口为家目录时自动跳过系统目录」在 Windows 上也能正确生效(Windows 走的是 USERPROFILE,原本一直未触发)

重构

  • 新增 src/main/core/path-safety.ts 集中维护路径准入逻辑,cleaner / archiver / bundler / ipc 复用同一套实现,杜绝多模块各写一套、漏改一处即埋雷的情况

完整变更见 CHANGELOG.md