fix(plugin): 保持批准 receipt 读写兼容 - #2880
Conversation
Signed-off-by: jiajiayao <48589551+jiajiayao@users.noreply.github.com>
|
| Filename | Overview |
|---|---|
| apps/desktop/src/main/cindy-brain/ghostInstallReceipt.ts | 删除了原线程指出的冗余回退路径,并将 containment 根规范化为真实路径;未发现仍然存在的阻塞问题。 |
| apps/desktop/src/main/cindy-brain/tests/ghostInstallReceipt.test.ts | 增加 linked-ancestor 回归测试,并覆盖作者格式与 normalized 格式 receipt 的读取兼容性。 |
Reviews (2): Last reviewed commit: "fix(plugin): remove redundant receipt fa..." | Re-trigger Greptile
Signed-off-by: jiajiayao <48589551+jiajiayao@users.noreply.github.com>
|
@MagicLizi @dash-s-cindy 该 PR 是从 #1792 验证过程中拆出的独立基线回归修复: |
|
这个 PR 修改了插件基座(批准 receipt 的读写兼容与 containment 判定),会作用到全部已装插件,自动流程已暂停合并,需要维护者对存量插件兼容明确确认。 维护者确认方式:直接在 PR 上 Approve;需要修改就 Request Changes,作者改完后再 Approve 即放行。在维护者确认前,这个 PR 会保持在待确认队列中,不会自动合并。 讨论 issue:#2885 |
MagicLizi
left a comment
There was a problem hiding this comment.
审查通过。修复 symlink 祖先路径导致 containment 比对失败的问题——用 realpathSync 统一双侧路径基准,调用点在既有 try 块内,安全边界未削弱。
|
补充一条当前对外部贡献者的实际影响:我在 macOS arm64 上基于干净的
两条都位于 目前该 PR 已 Approved,且 DCO、Linux、Windows、Desktop Git、verify 等检查均通过。@MagicLizi 烦请考虑尽快合并;如果仍需等待,也建议明确给出这两条已知基线失败的临时处理口径,避免 Mac 用户重复排查或重复实现同一修复。 |
这次改了什么
摘要
修复 Ghost 安装批准 receipt 的读写不对称:writer 为 v0.1.48 兼容写作者格式,reader 现在严格兼容作者格式与受影响构建写出的 normalized 格式;同时把 containment 根解析为 realpath,避免 macOS /var → /private/var 或 linked ancestor 将根内普通 receipt 误判为越界。
变更类型
fix缺陷修复范围
UI 变化
不涉及。
怎么验证的
自动验证
手工验证
不涉及。
未执行的验证
未运行 Desktop 全量测试;相关测试门禁已覆盖本次 2 个变更文件。
风险
风险分类
影响与回滚
ghostInstallReceipt.test.ts的两条既有格式回归;linked ancestor 新增跨平台回归。plugin-security-and-authoring.md需要把关人明确 Approve。提交前检查