PDD 恢复陈旧详情页导致回填自锁 #318

Open
opened 2026-09-18 15:04:32 +08:00 by ila · 0 comments
Owner

原始需求

用户 2026-09-18:「真机是最新agent吗?可以测试吗」「我手动点击回填还是不行」。

事实(真机 192.168.0.173:38881,0.9.59 / 997306e,2026-09-18)

已核对真机 APK 与本地构建产物 SHA-256 完全一致,构建时工作区干净,设备上确为最新代码。

触发回填后监控前台页面:PDD 停在 190 个节点持续数十秒(完整列表为 445 节点)。检查该页文本,它是订单详情页——含「订单编号: 260917-242860747084044」「收货人信息…_cg276」「展开」「确认收货」「查看物流」「再次拼单」,且不含「全部」「待发货」。

openOrders() 发送 orders.html 的 VIEW intent,但 PDD 直接恢复上次停留的详情页而不导航到列表。allTab() 在 detail(page) 为真时返回 null,于是 awaitOrders() 永远认不出列表,20 次用尽后报「等待订单列表加载超时」。#317 在第 10 轮加的重载发送的是同一个 intent,无法解开。

这构成自锁:只要某次扫描在详情页失败,PDD 就停在详情页,此后每一次回填都在启动阶段超时。用户手动点击同样失败,原因相同。

另:此前观察到的 20 节点空壳与本次 190 节点详情页是同一机制在不同加载阶段的表现,#317 关于「冷启动 7 秒」的测量仍然成立,但它不是这两次失败的成因。

方案

awaitOrders() 发现当前是订单详情页时按返回键回到列表,最多 3 次,然后继续原有的稳定性判定。返回键只是导航,不产生任何订单动作。

验收

  • 新增用例:启动时 PDD 恢复的是一张陈旧详情页,扫描应按返回退出并正常完成。
  • 将 AWAIT_MAX_BACKS 置 0 后该用例必须红。
  • 真机回填出现非零的已检查计数。

风险与回退

返回次数上限 3,超过仍按原路径超时。回退即还原该分支与常量。

文档影响

无长期文档影响:未改入口、配置、接口和状态机。

## 原始需求 用户 2026-09-18:「真机是最新agent吗?可以测试吗」「我手动点击回填还是不行」。 ## 事实(真机 192.168.0.173:38881,0.9.59 / 997306e,2026-09-18) 已核对真机 APK 与本地构建产物 SHA-256 完全一致,构建时工作区干净,设备上确为最新代码。 触发回填后监控前台页面:PDD 停在 190 个节点持续数十秒(完整列表为 445 节点)。检查该页文本,它**是订单详情页**——含「订单编号: 260917-242860747084044」「收货人信息…_cg276」「展开」「确认收货」「查看物流」「再次拼单」,且不含「全部」「待发货」。 `openOrders()` 发送 `orders.html` 的 VIEW intent,但 PDD 直接恢复上次停留的详情页而不导航到列表。`allTab()` 在 `detail(page)` 为真时返回 null,于是 `awaitOrders()` 永远认不出列表,20 次用尽后报「等待订单列表加载超时」。#317 在第 10 轮加的重载发送的是同一个 intent,无法解开。 这构成自锁:只要某次扫描在详情页失败,PDD 就停在详情页,此后每一次回填都在启动阶段超时。用户手动点击同样失败,原因相同。 另:此前观察到的 20 节点空壳与本次 190 节点详情页是同一机制在不同加载阶段的表现,#317 关于「冷启动 7 秒」的测量仍然成立,但它不是这两次失败的成因。 ## 方案 `awaitOrders()` 发现当前是订单详情页时按返回键回到列表,最多 3 次,然后继续原有的稳定性判定。返回键只是导航,不产生任何订单动作。 ## 验收 - 新增用例:启动时 PDD 恢复的是一张陈旧详情页,扫描应按返回退出并正常完成。 - 将 `AWAIT_MAX_BACKS` 置 0 后该用例必须红。 - 真机回填出现非零的已检查计数。 ## 风险与回退 返回次数上限 3,超过仍按原路径超时。回退即还原该分支与常量。 ## 文档影响 无长期文档影响:未改入口、配置、接口和状态机。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#318