Repository navigation
v0.4.10
修复内容
本次版本修复了「强制卸载」在两处遗留的善后缺陷,均由真实事故验证定位。
一、卸载后清除插件台账中的失效行
此前的卸载流程仅清理补丁层中的挂载行,从不更新 dsh.profile.bundles 台账。被卸载插件的台账行因此残留,下次启动时引导流程仍会尝试导入一个已不存在的包,表现为「import failed」启动失败;在官方桌面端,该失败还会触发崩溃对话框,并进入会重置第三方插件配置的档案恢复流程。
现卸载成功后自动执行官方对账(app-boot 的 reconcileProfilePlugins,以卸载前的依赖清单与卸载后的实际状态进行差量比对,并保留用户主动停用的插件)。宿主运行时缺少该接口时,退化为直接从台账中移除该插件行。
二、卸载后校验其余插件的依赖完整性并自动补装
包管理器执行移除时会一并清除提升目录中不再被任何清单依赖引用的条目。桌面端档案以 autoInstallPeers: false 安装,剩余插件的 peer 依赖若此前仅由被卸载插件的提升副本提供,将随之失去解析来源,导致下次启动失败。
现卸载完成后,自动逐一校验剩余插件声明的依赖、peer 依赖与客户端注入项是否仍可按运行时的解析方式命中;可经显式安装修复的缺失项将绕过发布冷静期自动补装,无法自动修复的缺口以「依赖受损」状态在界面上明确列出,不再静默潜伏至下次启动。
其他
- 桌面端卸载后若个别依赖仍无法恢复,按钮将显示「依赖受损」并在悬停提示中列出缺失项,便于人工处置。