Skip to content

v0.4.7

Choose a tag to compare

@qinyre qinyre released this 15 Oct 12:49
· 8 commits to main since this release

修复

  • 修复更新正在运行的插件时包目录被掏空的问题。根因:插件在运行期间持有对自身技能目录等路径的文件监视句柄,而 Windows 不允许删除处于监视中的目录——更新时的包替换与这些句柄竞速,pnpm 在移除旧版本的中途失败,包目录被部分删除(仅剩受监视的目录),插件进入「异常」状态且无法再解析。桌面端(Web 宿主以子进程运行、监视句柄常驻)稳定触发。
  • 更新流程重排为「先暂停、后换盘、再恢复」:执行包替换前先卸载目标插件的运行实例(纤维销毁、全部监视句柄随之关闭),替换完成后再恢复挂载——重组按新包重新解析,新代码即时生效,无需重启。若插件未能按时暂停,则中止本次更新并提示重启后重试,不再冒险执行替换;替换失败时恢复旧实例。
  • 安装器自身的更新不受影响(沿用原语义:更新完成后提示重启)。

验证

  • 单元测试新增「暂停租约」三个场景(暂停期间行保持停用且无存活纤维、恢复立即重新启用、暂停超时报错并还原),共 127 项全部通过。
  • 实机复现与修复验证基于真实桌面安装的 pnpm 操作日志与包目录状态。

升级说明

  • 桌面端 0.4.6 已可正常完成更新操作;升级至 0.4.7 后,更新其他插件时的稳定性进一步增强。若此前出现过包被掏空的「异常」状态,重启应用前通过官方插件页重装该插件,或等待本版本就绪后直接更新。