Repository navigation
fix: preserve official optional bundles across restart - #665
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
启用原生 Plugins 页中的“自动化任务”后,Desktop 冷启动的 generation 投影会重建
dsh.profile.bundles,删除安装包提供但没有 Profile dependency 的可选 bundle,导致重启后重新显示关闭。本改动将投影的增删范围限制到明确归属于 generation 的条目,保留其他 bundle 的用户选择。所有权来自已有 generationProjection 标记及历史 generation link;移除的 generation 在元数据发布时即清理,避免所有权标记消失后被误保留。原生管理页和加载协议保持现有实现。
影响普通 Profile 的组合阶段:读取 Profile manifest 和 generation registry,以 Profile/安装包的既有解析基准加载可选 bundle。Safe Mode 的独立组成不变;不删除用户配置、不自动开启被旧版本清除的未知选择。
验证:独立 worktree 基于 origin/main 51f9896;干净 npm ci(含完整 postinstall)、typecheck、git diff --check、npx electron-vite build 均通过。投影、Profile consistency 和 Plugin Manager switch 共 3 文件 / 35 项通过。新增回归覆盖冷启动和 manifest publication、重复投影、用户关闭、历史 ownership 清理,以及独立 Node 子进程通过 Harness Profile loader 加载自动化任务 bundle。
完整 npm run build / npm test 尚未通过:最新 main 的前置 office:prepare 下载固定 Python payload 时发生 TimeoutError,完整 build 退出 1。提前直接运行全量 Vitest 的结果为 175 文件通过、6 文件失败,涉及缺失的 Office/PPT 准备产物,不能算完整回归通过。PPT 准备随后已完成;Office 准备和正式 CI 仍待验证。此前旧 checkout 上 176 文件 / 1603 项全量通过,不作为当前 PR HEAD 的完整验收。
待验收:重建安装包后在原生 Plugins 页启用并重启、实际 Schedule 服务与 UI 激活,以及 Windows 安装包流程。本 PR 不表示当前已安装的 0.11.0 已更新。