Skip to content

feat(web): 将选中的工作区源码行引用到聊天草稿 - #472

Merged
Qiyuanqiii merged 2 commits into
mainfrom
Qiyuanqiii/workspace-line-quote
Oct 27, 2026
Merged

Qiyuanqiii merged 2 commits into
mainfrom
Qiyuanqiii/workspace-line-quote

Conversation

@Qiyuanqiii

@Qiyuanqiii Qiyuanqiii commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

工作区预览原来只能引用整份文件或附加证据。用户只想讨论几行代码时,需要复制内容、回到聊天,再手工补路径和位置。现在可在现有源码视图中用浏览器原生选区选择代码,点击“引用选中行”,将完整的预览行与来源加入当前聊天草稿;可连续引用,再返回草稿确认发送。

引用保留实际 workspace/Run、路径、预览行号、显示快照 SHA-256 及脱敏/截断说明。源码来自已显示的快照;草稿追加复用 #471 的冲突和保存失败处理,不会自动发送消息。系统复制操作继续使用浏览器原生行为。

与待审 PR 的关系

Stacked on #471,base 为 Qiyuanqiii/diff-inline-feedback,起点 2ce3c077。#471 合并后再按最终 main 复核并调整 base。

#442/#448/#463 的搜索定位、Markdown 预览与重试,#465 的整文件路径补全,#471 的 Diff 意见均未覆盖此流程。此次仅新增可选 UI 回调,没有新 Go/OpenAPI/DTO/草稿协议。

发布前刷新并对 41 个待审 PR 分别试合并,全部无文本冲突;与 main 检查通过。另将 #442、#448、#463、#437、#454、#458、#465、#440、#461、#467、#469、#470 组合验证,包括切换 Markdown 预览后旧源码选区失效。此结论不表示所有待审 PR 彼此无冲突。

验证

  • 相关测试:31 passed;上述组合另跑 42 passed 和类型检查。
  • npm run build、npm run check:api、go test -count=1 -tags desktop ./web ./internal/webui 通过。
  • 真实 Go API + SQLite + Chromium:同一持久化 fixture 的前后页面对照;鼠标拖选、反向选区、键盘 Enter、连续引用、返回草稿焦点、刷新后三段引用及原草稿保留、导航清空旧选区、390px 模态面板均通过。UI 操作无 API 写入和未捕获浏览器错误。
  • 独立复核还验证了原生复制、下一行 offset 0 边界和仅行号选区拒绝。
  • 对照截图、复现步骤与观察记录。Windows/macOS 原生壳未实测;窄窗验收为直接打开模态面板,不覆盖现有停靠面板缩窄切换。

OCR delegate

提交 PR 前使用 open-code-review delegate 的 preview/rule 和 Astra 独立审阅。默认范围 5/5,手工补审默认排除的两份测试、README、三张截图 6/6,合计 11/11,无跳过、无可报告发现。审阅冻结范围为 2ce3c077..ae3ea2ac;发布提交 6a9a4c6edd31f9a7d23205532c5a0562eb603d2c 的 parent、tree、完整 binary diff、OCR 文件选择和规则均与审阅版本核对一致。

Base automatically changed from Qiyuanqiii/diff-inline-feedback to main October 27, 2026 06:13
@Qiyuanqiii
Qiyuanqiii merged commit 27b9296 into main Oct 27, 2026
21 checks passed
@Qiyuanqiii
Qiyuanqiii deleted the Qiyuanqiii/workspace-line-quote branch October 27, 2026 06:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant