Skip to content

【优化】browser-annotation: 历史存量孤儿截图全量 GC(需枚举 thread 历史 refs) #188

Description

@CavinHuang

来源

PR #186 修复 #130 时的 subagent 审查发现。#130 已闭合两条增量丢弃路径(FIFO 淘汰/评论截断经 hooks 即时清理),但修复前已累积的存量孤儿 PNG 不会被回收,仅能手工清理。

关键约束(审查确认,做 GC 前必读)

朴素 GC(只扫 annotation sessions 引用)会误删:

  1. saveReviewScreenshot(apps/desktop/src/browser-runtime.ts,创建 browser-review-screenshot:<threadId>:<uuid>)的 ref 完全不经过 store——文件存在但任何 session 都不引用
  2. 已提交聊天的附件(browser:annotation-added 携带 screenshotRef)持久化在 thread 历史里,同样不在 store refs 内

因此 GC 的引用集必须 = store sessions refs ∪ thread 历史(消息附件)refs ∪ 运行期 saveReviewScreenshot 产物,三者并集之外的文件才可删。

位置

  • apps/desktop/src/browser-annotation-manager.ts(可作为 GC 宿主,已有 review-resources 目录知识与 ref 正则)
  • 数据源:annotation-sessions-v2.json + thread 持久层(消息附件)

建议

关联

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions