docs: record verified tray recovery and cross-process gate evidence
This commit is contained in:
@@ -54,13 +54,30 @@
|
||||
- Linux 59/59 通过;完整 Release 构建 0 警告、0 错误。新增独立队列实例互斥、取消后可再次使用、非争用 I/O 异常不盲重试等回归。
|
||||
- Windows 跨进程门禁验证脚本:`scripts/windows/Test-CommandGate.ps1`,由 M6 验证脚本统一调用。其结果必须单独检查,不能仅凭 Linux 通过认定 Windows 通过。
|
||||
|
||||
## 托盘名称不可用与跨进程真机回归(7e29041)
|
||||
|
||||
候选 `786932e` 在正常关闭到托盘后,MSAA 按名称匹配得到 0 个微信图标,恢复失败;该失败目录完整保留,没有当作通过。
|
||||
|
||||
使用公开 `Shell_NotifyIconGetRect` 验证了当前微信进程的 `Qt51514WxTrayIconMessageWindowClass` 窗口及图标 ID 0,随后加入共享定位回退。只对唯一候选、且坐标命中可见通知区域根窗口的情况双击;不读写 Explorer 内存、不发送猜测的托盘回调消息、不启动微信新实例。类名/图标 ID 集中维护;这不是未经验证的跨版本兼容声明。
|
||||
|
||||
- 产物提交:`7e29041`;SHA-256:`8175C97346E2C2B45D6C6E86EBA1A7CF5A309858B00F72D6BF7940DC6AE3A68E`。
|
||||
- Linux Core:65/65 通过;全量 Release 构建 0 警告、0 错误。
|
||||
- Windows 9 项验证均通过,包括新增跨进程门禁检查。
|
||||
- 外部 PowerShell 独占同一个锁文件时:恢复命令按预期返回 `Timeout`/124;旧监听命令按自身 1 秒时长正常返回、0 条消息;释放锁后恢复命令 exit 0。
|
||||
- 最小化、关闭到托盘均恢复同一 HWND/PID,三个关键 UI 控件全部可用。
|
||||
- 30 秒稳定性样本实测 30.1091299 秒、CompletedDuration=true、Healthy=true;依然不构成长时证据。
|
||||
- 完整本地证据:`artifacts/m6-7e29041/m6-7e29041-validation/`;脱敏摘要随仓库保存。
|
||||
|
||||
两次独立审计子进程因宿主缺少 `@earendil-works/pi-tui` 启动失败,未产生审计结论;不能算作独立审查通过。其余功能矩阵由主进程继续核对。
|
||||
|
||||
## 尚待完成的验收
|
||||
|
||||
- [ ] 8/24/72 小时真实监听及长时资源趋势。
|
||||
- [ ] 网络中断/恢复、20 次微信重启后的恢复(不能绕过登录或锁屏)。
|
||||
- [ ] 常见弹窗、会话切换的专门恢复回归。
|
||||
- [ ] 多会话/多子窗口消息归属与去重、长列表滚动场景。
|
||||
- [ ] 重新核对 M2 连续 500 条发送无重复与 M3 8 小时监听证据;未找到对应证据前仍未验收。
|
||||
- [ ] M2 连续 500 条发送无重复。
|
||||
- 开发计划记录了用户取消早期 M3 的单项 8 小时测试;不把它重新作为 M3 单项阻塞,但 M6 §11.3 独立要求的 8/24/72 小时仍待验证。
|
||||
- [ ] Windows 10 多 DPI 与 Windows 11 兼容矩阵。目前仅证明 Windows 10 / 96 DPI。
|
||||
- [ ] 汇总此前阶段尚未真机覆盖的回归项;M4/M5 中仅编译/门禁验证的写操作不冒充端到端验收。
|
||||
- [ ] 全部要求通过后更新阶段结论,并提交、PUSH 阶段验收记录。
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"SessionId": 1,
|
||||
"UnexpectedListenerMessageCount": 0,
|
||||
"Passed": true,
|
||||
"BaselineExit": 0,
|
||||
"ListenerExit": 0,
|
||||
"RecoveryAfterReleaseExit": 0,
|
||||
"ContendedError": "Timeout",
|
||||
"ContendedExit": 124
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"State": "minimized",
|
||||
"TransitionObserved": true,
|
||||
"SameInstance": true,
|
||||
"MainViewFound": true,
|
||||
"SessionsFound": true,
|
||||
"MessagesFound": true
|
||||
},
|
||||
{
|
||||
"State": "tray-hidden",
|
||||
"TransitionObserved": true,
|
||||
"SameInstance": true,
|
||||
"MainViewFound": true,
|
||||
"SessionsFound": true,
|
||||
"MessagesFound": true
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"BinarySha256": "8175C97346E2C2B45D6C6E86EBA1A7CF5A309858B00F72D6BF7940DC6AE3A68E",
|
||||
"Passed": true,
|
||||
"OperatingSystem": "Microsoft Windows NT 10.0.19044.0",
|
||||
"Results": [
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "recover",
|
||||
"StartedAt": "\/Date(1788622760642)\/",
|
||||
"FinishedAt": "\/Date(1788622790810)\/"
|
||||
},
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "doctor",
|
||||
"StartedAt": "\/Date(1788622790811)\/",
|
||||
"FinishedAt": "\/Date(1788622791263)\/"
|
||||
},
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "inspect",
|
||||
"StartedAt": "\/Date(1788622791263)\/",
|
||||
"FinishedAt": "\/Date(1788622792041)\/"
|
||||
},
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "smoke",
|
||||
"StartedAt": "\/Date(1788622792041)\/",
|
||||
"FinishedAt": "\/Date(1788622793922)\/"
|
||||
},
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "recovery",
|
||||
"StartedAt": "\/Date(1788622793922)\/",
|
||||
"FinishedAt": "\/Date(1788622796552)\/"
|
||||
},
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "listener",
|
||||
"StartedAt": "\/Date(1788622796552)\/",
|
||||
"FinishedAt": "\/Date(1788622806190)\/"
|
||||
},
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "stability",
|
||||
"StartedAt": "\/Date(1788622806190)\/",
|
||||
"FinishedAt": "\/Date(1788622836645)\/"
|
||||
},
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "diagnose",
|
||||
"StartedAt": "\/Date(1788622836645)\/",
|
||||
"FinishedAt": "\/Date(1788622837611)\/"
|
||||
},
|
||||
{
|
||||
"ExitCode": 0,
|
||||
"Name": "command-gate",
|
||||
"StartedAt": "\/Date(1788622837611)\/",
|
||||
"FinishedAt": "\/Date(1788622843067)\/"
|
||||
}
|
||||
],
|
||||
"SessionId": 1
|
||||
}
|
||||
Reference in New Issue
Block a user