7.3 KiB
7.3 KiB
PENDING:暂缓功能与验收备忘
本文件记录全局 review 后的用户决定。用户随后确认同时完善数据库读取链路和四项代码问题;以下明确暂缓的扩展与真机验收仍不执行。暂缓不等于通过,安全修复也不等于端到端功能已验收。
当前正常功能复核(2026-09-29)
- 长文本分段、2–10 个附件批量入口、提及重名 fail-closed 保护和合并聊天混合元数据解析已补代码及离线测试;TaskNotFound 修复保留。
- 已通过 Core/Service .NET 测试、Go 测试与 vet、WebUI 测试/构建及完整 Release solution build。Windows 新版本已部署,
service.json未变。 - Windows
inspect-ui成功,但doctor/smoke返回WechatNotLoggedIn,必需聊天控件缺失;本轮未发送任何消息/附件,也未执行任何 M4/M5 可见写操作。上述功能的真机验收保持未完成,不得勾选为通过。 - 可脱离聊天 UI 的只读检查通过:批准的测试群成员页返回 2 个成员、0 空显示名、0 重名且无续页;
chat send-files重复--path解析成功,并在随机缺失路径预校验返回InvalidArgument,未触及 UI。只保留聚合计数,未记录成员姓名。 - 详细范围、哈希、证据及未闭环项见正常功能复核与验收记录。M6 仍保持未完成。
已确定的功能边界
- 联系人、群成员等列表读取使用数据库,不使用 UI 树枚举。 撤回上一轮将 UI 树长列表枚举不完整作为待补功能的建议,不新增 UI 滚动分页。此项记录用户指定的读取方式,不代表本轮已逐条验证数据库接口覆盖情况。
- 不实现“下一个未读会话”功能。 开发计划中的
GetNextNewMessage不再作为当前待实现或验收阻塞项;此决定不取消已有消息监听能力。
暂缓的功能及样本补齐
- 提及成员长列表、不可见重名候选的完整处理。
- 长文本自动分段、多附件批量发送。
- 合并聊天记录的混合图片/视频/文件、嵌套合并真机样本验证。
- 合并聊天记录附件原文件下载;不视为已实现的数据库展开结果的一部分。
- 语音发送 Beta 的后续完善与真机发送验收。当前无麦克风环境下的验收已由用户明确跳过,不标记为失败或通过。
数据库合并聊天记录展开已有实现及验收记录,不将其整体列为缺失功能。
暂缓的验收
以下均暂不执行;已有短时 smoke、编译或确认门禁检查不能代替这些验收。
- M4 联系人、群管理副作用路径的专用测试对象端到端验收。
- M5 朋友圈发布、点赞、评论及拍一拍等尚未覆盖的写操作验收。
- 8/24/72 小时真实监听、内存/句柄/线程等资源趋势验证。
- 网络中断与恢复、20 次微信重启恢复;不绕过登录或锁屏。
- 常见弹窗、会话切换的专门恢复回归。
- 多会话/多子窗口消息归属、去重及长列表场景回归。
- 连续 500 条发送无重复验证。
- Windows 10 多 DPI、Windows 11 兼容矩阵。
- 上述验收恢复并完成后,汇总证据、更新阶段结论。
M6 保持未完成状态,不因暂缓而改成验收通过。恢复写操作验收时仍遵守 AGENTS.md 的测试对象、安全确认和禁止盲目重试规则。
本轮实现及仍未闭环的项目
已完成代码修复,尚未真机验收
db contacts与管理 API 复用只读联系人数据库读取器;按稳定 username 排序,不按显示名去重。CLI 支持--limit/--offset,返回hasMore/nextOffset,默认继续脱敏。- 联系人、群列表、联系人详情不再回退 UI 树枚举。分页 API 显式支持账号和密钥文件选择;多账号未选择时拒绝猜测。兼容方法有数量上限,完整遍历应使用分页 API。
- URL 卡片 API 不需要确认令牌;通过文件传输助手暂存 URL、微信内置浏览器“转发…”流程发送原生链接卡片,不回退成 URL 文本或清空目标草稿。
- OCR/转文字只采集绑定消息内新增且稳定的 Text 节点;消息归属、运行时 ID 或布局失配时拒绝返回,不再拼接整窗内容。
- 管理输入限定唯一模态弹窗;同名控件歧义、重复选人及未确认勾选时停止,不再任取第一个控件。朋友圈编辑拒绝覆盖现有草稿。
- 管理、朋友圈、转发等提交后等待稳定 UI 状态再返回成功;单文件下载校验新目标路径及落盘稳定性,笔记附件保存等待目标目录产生文件,不直接把点击保存当成成功。
仍需完善,不宣称已完成
- 群成员数据库读取:使用
chat_room、chatroom_member、contact的只读 join,稳定按 member_id 分页;不回退 UI 枚举。已在 Windows 测试群完成脱敏只读验证。 - 原生 URL 卡片创建和发送:使用微信内置浏览器的“更多 → 转发…”路径,URL 卡片 API 不要求
CONFIRM;仍需在不同微信版本补充 UI 回归。 - 独立 OCR 窗口及各版本转文字结构:当前仅支持目标消息内新增文本。独立弹窗/侧栏没有可靠的结果归属定位时返回
ResultUnconfirmed;状态关键词属于保守启发式,可能拒绝包含相同文字的合法结果。 - 写操作结果确认:统一等待确认弹窗关闭且 UI 连续稳定后返回
Success=true;下载和笔记附件保存另有文件系统后置检查。微信服务端最终一致性仍需真机长测记录。 - 管理弹窗真机定位:确认各版本模态窗口、选人复选框及保存对话框结构;暂不支持的内嵌/非模态布局会明确失败,不全窗乱点。
- 联系人数据库字段覆盖(阻塞):当前只映射已验证的 username/nick_name/remark/small_head_url。2026-09-29 Windows 只读 schema 检查确认
contact有 22 列(另见alias、description、extra_buffer),并有contact_label定义表;没有验证出联系人到标签的关联或这些字段的业务语义,故不猜测映射、不解析不透明 BLOB。非群联系人也不等于已验证好友关系;标签、签名、来源和共同群数量仍未知。GetRecentGroupsAsync是参考实现的兼容名称,当前 C# 计划没有该 API,且不要求 Python API 兼容;近期活动排序没有已验收的数据源,不作为本轮承诺。 - 分页一致性:跨页为独立只读查询;读取期间联系人增删可能导致 offset 分页重复/遗漏。需要严格全量快照时应增加一致性读取,不将跨页结果宣传为事务快照。
实现和 Linux 检查详情见 本轮检查记录。