Skip to content

feat(chat): 标记已保存回复的已读与未读状态 - #454

Merged
Qiyuanqiii merged 3 commits into
mainfrom
Qiyuanqiii/chat-read-state-api
Oct 23, 2026
Merged

Qiyuanqiii merged 3 commits into
mainfrom
Qiyuanqiii/chat-read-state-api

Conversation

@Qiyuanqiii

@Qiyuanqiii Qiyuanqiii commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

后台聊天收到新回复后,侧栏现在显示未读圆点;聊天菜单可手动标为已读或未读,手动状态在本机刷新、重新连接后保留。阅读历史消息、向上翻阅、窗口失焦或被侧栏遮挡时保留未读;回到最新内容后确认已读。取消离开未保存文件的确认时不会清除目标聊天的标记。

接口按已保存公开回复的真实消息 ID 增量同步,游标与标记在同一条本机恢复记录中保存,并按数据仓库隔离。首次启用从当前记录建立起点;改名、置顶、工具事件和分支复制不会制造新回复。不同消息即使正文相同也独立识别。

依赖 #436,保持未合并。

验证:Go store/HTTP 回复分页、归属、分支与游标测试;OpenAPI 文档/路由/生成检查;相关 React 173 项,恢复异常新增后 7 项;最终集成 93 项相关测试与生产构建通过。主审补了导航取消回归。Windows Chrome + 生产 API/SQLite 实测后台相同正文新消息、历史保留、回到最新、手动状态刷新恢复和窄屏遮挡。实际窗口失焦切换未在无头 Chrome 证明,由行为单测覆盖。

变更前 后台回复后的未读提示
之前 之后

手动标记

完整截图与验证范围。生成的 OpenAPI/TS 经工具检查;新生产逻辑、相关调用点和新增测试已由主 agent 阅读审阅。

2026-10-22 基线同步:以保留祖先的合并方式同步 #436(4915e68ca69acef4abe172dc51ade0749b80fc05),继承 #450 的 113756e10125a84c619e226b68ec840415513eef 及 #432 的 fc0935d6fc03ca7abccbd148ce52d26c2bc154f8 Chrome 握手/DMG Resource busy 修复。相对本 PR 同步前提交,仅增加该修复的 4 个文件;diff 检查通过,原功能说明、验证记录和截图保留。本次未重复运行测试或截图;最新提交的 CI 尚未完成,不能沿用旧提交的结果。

最新提交 a07575e9ee863f94cf65d5add5623d27b7358d69 的 CI 第 2 次执行 已全部通过。首次失败为 GitHub hosted runner 失联;仅重跑失败检查,未修改代码或测试。

@Qiyuanqiii
Qiyuanqiii force-pushed the Qiyuanqiii/chat-read-state-api branch from ff3e125 to 25508fe Compare October 23, 2026 16:58
@Qiyuanqiii
Qiyuanqiii merged commit 4279925 into main Oct 23, 2026
1 check passed
@Qiyuanqiii
Qiyuanqiii deleted the Qiyuanqiii/chat-read-state-api branch October 23, 2026 16:59
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