This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
## 代码与自动化检查
|
||||
|
||||
- Core:188/188 测试通过。覆盖长文本 4,000 字符分段、组合字符边界、20,000 字符总上限、附件路径预校验、同名提及候选拒绝、重复 fingerprint 的新增出现计数,以及合并聊天图片/视频/文件/嵌套元数据。
|
||||
- Core:193/193 测试通过。覆盖长文本 4,000 字符分段、组合字符边界、20,000 字符总上限、附件路径预校验、同名提及候选拒绝、重复 fingerprint 的新增出现计数、合并聊天图片/视频/文件/嵌套元数据,以及离线账号身份/活动 UI 账号选择规则。
|
||||
- Service:26/26 测试通过。新增验证长 `send-text` 可进入分段发送路径,同时 `broadcast-text` 仍保持单条消息上限。
|
||||
- Control plane:`gofmt`、`go test ./...`、`go vet ./...` 通过。发送文本按最多 20,000 UTF-16 code units 校验,并拒绝无效控制字符。
|
||||
- WebUI:7/7 测试通过;`npm run build` 成功。Vite 对大 bundle 的提示不是构建失败。
|
||||
@@ -23,10 +23,24 @@
|
||||
- `service.json` SHA-256 部署前后均为 `5F4F40E040A7D69060CC09F1A390277286FA982D6EFBEF3D825DBCF29B6A56BB`,文件未修改。回滚备份:`C:\Users\Rogee\wx-agent01\backup-functional-20260929-163843`。
|
||||
- Tray 已在交互式 Session 1 重启。通过 Session 1 临时验证任务运行了项目要求的 `doctor`、`inspect-ui`、`smoke`:`inspect-ui` exit 0;`doctor` 和 `smoke` exit 2,错误码 `WechatNotLoggedIn`。`UserInteractive=true`、`InputDesktopAvailable=true`、`WindowFound=true`,但 `MainView`、`session_list`、`chat_message_page`、`chat_message_list`、`chat_input_field`、`tool_bar_accessible` 均未找到。
|
||||
- 因缺少可用的微信聊天控件,本轮没有发送消息、文件或提及成员,也没有继续对登录界面进行交互。UI 树仅保存于 Windows 主机的 `artifacts/ui-tree.json`,未读取或附入本记录。
|
||||
- 另对批准的“消息测试专用群组”运行 Windows Host 只读 `db group-members` 查询:2 个成员、2 个非空显示名、0 个重复显示名、`hasMore=false`。脚本只输出并保存聚合计数,没有记录成员姓名或账号标识。
|
||||
- 在关闭 Weixin 进程的情况下,使用 Windows Host 只读 `db group-members` 查询批准的“消息测试专用群组”:返回 2 个成员、2 个非空且唯一显示名、`hasMore=false`。脚本仅输出聚合计数,没有记录成员姓名或账号标识。
|
||||
- Windows Host CLI `chat send-files` 用两条随机不存在的路径做无发送预校验:重复 `--path` 解析成功,按预期返回 `InvalidArgument`(附件文件不存在);此分支在进入 UI 自动化前拒绝输入,没有发送文件。
|
||||
- Windows 只读 schema 探针发现 `contact` 表有 22 列,`contact_label` 有 `label_id_`/`label_name_`/`sort_order_` 三列;未确认联系人与标签的关联。`alias`、`description`、`extra_buffer` 的业务语义也未验证;探针仅读 schema,没有读取联系人行值,不映射字段、不解析不透明 BLOB。
|
||||
|
||||
### Weixin 关闭后的数据库与离线收集复核
|
||||
|
||||
- Weixin 进程在检查前后均为 0。Windows Host `db status` 成功,识别到 1 个账号及 20 个数据库(7 个消息库、1 个会话库);`db messages --chat filehelper --limit 20` 返回 20 条记录,命令输出未包含消息正文。只读联系人查询 `Hao 豪` 返回 1 条精确匹配;批准测试群成员读取见上方。
|
||||
- 临时、自包含 Windows x64 探针调用生产 `DatabaseMessageSyncCollector`,读取 `service.json` 中已授权的 `filehelper` 私聊范围,并从持久化检查点继续:序列 4,223、427 个会话游标、coverage `complete`、0 个 unavailable source。采集结果为 1 个会话、1 条新消息,`hasNewItems=true`、complete、正文仅以 `messageTextPresent=true` 布尔值确认。探针未输出消息正文或密钥;Weixin 进程前后均为 0,检查点文件和 `service.json` 的哈希均未改变。
|
||||
- **范围限制:**这证明关闭客户端时数据库读取及增量收集可运行,不证明控制面已收到数据。本次没有发起远程上传;已存检查点仍是序列 4,223/427 个游标,采集/确认时间约早 22.7 小时,待发送队列为空。因此不把本地采集结果表述为新一轮远程同步完成。
|
||||
|
||||
## 补充复核 — 2026-09-30
|
||||
|
||||
- 离线同步授权修复:Core/Windows 仅用持久化 binding 与 page-1 HMAC 已验证数据库身份确认只读同步账号;没有 UI 会话时 `ActiveAccountId` 为空,消息/管理写任务仍要求 live UI binding。控制面 `nodeHasAccount` 继续要求 `Active && Verified`,仅 sync-status 使用 `nodeHasVerifiedAccount`。新增 Go 集成测试确认 inactive + verified 账号可读 sync status,但仍不符合 UI 任务活动账号门禁。`go test ./...`、`go vet ./...` 通过。
|
||||
- 新的 Windows Host/Tray 自包含单文件构建已部署:Host SHA-256 `3C7A5628C37CA33AF96944A950E7B81002437010AE34AC9BC81461EFFE7373CA`;Tray SHA-256 `CFABF0BFB3AAB595DF240E75481F51A5DC96B8E9A6A0094A047F83B2BB35CC6D`。备份目录 `C:\Users\Rogee\wx-agent01\backup-offline-sync-20260930-122015`。控制面 E2E 进程以更新二进制重启,SHA-256 `1cb05554056256f12d5ce5a8c6824095d7ca37dbbff282e4661d71b854e24b87`,`/healthz` HTTP 200;原有控制面数据文件和凭据文件未替换。`service.json` 部署前后 SHA-256 一致:`5F4F40E040A7D69060CC09F1A390277286FA982D6EFBEF3D825DBCF29B6A56BB`。
|
||||
- 远端 node details 为 `WechatNotRunning`,一条本地 verified 账号已登记但无活动 UI;修复后消息 sync-status 返回 HTTP 200、`complete`、确认序列 4,223,generation 与本地相同。`contacts` stream 仍为 `unknown`,没有联系人快照 ACK。此前的 403 authorization-revoked 警告在控制面更新后记录一次授权恢复。
|
||||
- Weixin 关闭时完整 wildcard 生产 collector 返回 460 个会话、426 条消息,complete、0 unavailable、`hasNewItems=false`;本地消息检查点 4,223/427 游标,队列为空。显式 `filehelper` 探针曾返回 1 条候选消息,但全范围 collector 未将其判为新增;该结果不视为已排队、上传或 ACK。远端最后成功仍约 25 小时前,因此本轮没有可证明的新批次上传/确认。
|
||||
- Windows MCP 桌面窗口列表只有任务栏、dummyLayeredWnd 和 Program Manager,未发现 Weixin;进程保持 0。部署后的 doctor/inspect-ui/read-only smoke 通过 SSH 启动且未形成有效交互式 UI 验收;没有发送消息或执行 UI 写操作。长文本/附件/提及、管理、朋友圈等真机验收仍 blocked/pending,需用户在 Session 1 手动登录后进行受限验证。
|
||||
|
||||
## 项目待办状态(不得视为通过)
|
||||
|
||||
| 项目 | 代码检查 | 真机/样本验收 |
|
||||
|
||||
Reference in New Issue
Block a user