Skip to content

【BUG】收件箱/追踪:阅读报告时文本框选约 5 秒后被取消,不便复制 #712

Description

@bakabird

症状

收件箱(Inbox)追踪(Tracked) 相关流程中阅读报告时,用鼠标框选报告正文的一部分文本后,大约 5 秒左右 框选状态会被自动取消,导致来不及复制(或复制过程中 selection 丢失)。

复现步骤

  1. 打开 收件箱 中带有报告/附件的条目,或从 追踪 打开对应笔记/报告阅读页
  2. 在报告正文中拖拽框选一段文本
  3. 保持选中状态不动,等待约 5 秒
  4. 观察选区是否消失

实际行为

  • 选区在约 5 秒后被清掉
  • 用户难以稳定完成「框选 → 复制」操作

期望行为

  • 阅读报告时的用户文本选区应保持,直到用户主动取消、点击别处、或切换条目/页面
  • 后台轮询 / 相对时间刷新 / live store 更新 不应 打断或重置正文选区
  • 框选后可正常 Cmd/Ctrl+C 复制

影响

  • 报告阅读体验受损(尤其是长报告摘录关键数字、结论)
  • 用户被迫多次重新框选,或改用「复制整篇 Markdown」等绕路方案

排查线索(供开发)

约 5s 的周期与若干 UI 刷新计时接近,疑似 re-render / remount 冲掉了 DOM selection,而非浏览器原生行为:

  • ui/src/components/LiveIndicator.tsx:每 5s force 刷新「updated Xs ago」
  • ui/src/components/workspace/FilesPanel.tsxPOLL_MS = 5000
  • ui/src/components/workspace/Sidebar.tsxHEADLESS_POLL_MS = 5000
  • ui/src/live/account-health.ts:5s 轮询
  • Inbox 详情:ui/src/pages/InboxPage.tsxDetail + InboxAttachment + MarkdownContent / HTML 报告)
  • 报告渲染:ui/src/components/MarkdownContent.tsxdangerouslySetInnerHTML)、ui/src/components/HtmlReportView.tsx(sandbox iframe srcDoc
  • 追踪打开文件:ui/src/pages/FileViewerPage.tsx + FileContentView

建议验证:

  1. 选区消失时,是否伴随父组件 re-render / 正文节点 remount / iframe 重载
  2. live poll 返回相同内容时,是否仍用新对象引用触发整树更新
  3. HTML 报告是否因 srcDoc 重建而丢选区;Markdown 是否因 __html 重写丢选区

环境备注

  • 入口标签:收件箱追踪(报告阅读)
  • 若仅 HTML 附件 / 仅 Markdown / 仅 File Viewer 复现,请在评论补充

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions