订单列表等待预算过紧且空壳不重载 #317

Open
opened 2026-09-18 14:50:41 +08:00 by ila · 1 comment
Owner

原始需求

用户 2026-09-18:「最新agent回填还是失败,真机在现场」。

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

回填结果:「等待订单列表加载超时,未完整扫描」,已检查 0。

现场 PDD 订单列表整页只有 20 个节点、3 个文本(仅「我的订单」标题),标签栏与卡片都未渲染。mCurrentFocus 显示 PDD 仍在前台,且该空壳状态在扫描结束后仍持续数分钟。

实测两组数据:

场景 结果
force-stop 后冷启动 orders.html 3 秒仍是 19 节点空壳,7 秒渲染完成 445 节点
已在运行且已停在列表时重开 orders.html 始终 445 节点,正常

awaitOrders() 的预算是 8 次重试、每次 pause() 1 秒,合计约 810 秒,对 7 秒的冷启动余量只有 13 秒。而卡在空壳时它只会等满后直接报错放弃,从不重新加载——实测重新加载一次即恢复。

方案

  • 重试次数 8 提升到 20。
  • 第 10 轮时若一次都没识别成功,调用一次 openOrders() 重新加载;每次 awaitOrders() 最多重载一次。

仅在完全认不出列表时重载,不会把已滚动的列表拉回顶部。

验收

  • 新增用例:前两次加载前一直是空壳,扫描应重新加载一次并完成,而不是超时。
  • 把预算改回 8 且禁用重载后该用例必须红。

风险与回退

最坏情况等待时间由约 10 秒增至约 21 秒,仅在列表异常时发生。回退即还原两个常量。

文档影响

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

## 原始需求 用户 2026-09-18:「最新agent回填还是失败,真机在现场」。 ## 事实(真机 192.168.0.173:38881,0.9.59,2026-09-18) 回填结果:「等待订单列表加载超时,未完整扫描」,已检查 0。 现场 PDD 订单列表**整页只有 20 个节点、3 个文本**(仅「我的订单」标题),标签栏与卡片都未渲染。`mCurrentFocus` 显示 PDD 仍在前台,且该空壳状态在扫描结束后仍持续数分钟。 实测两组数据: | 场景 | 结果 | |---|---| | force-stop 后冷启动 orders.html | 3 秒仍是 19 节点空壳,**7 秒**渲染完成 445 节点 | | 已在运行且已停在列表时重开 orders.html | 始终 445 节点,正常 | `awaitOrders()` 的预算是 8 次重试、每次 `pause()` 1 秒,合计约 8~10 秒,对 7 秒的冷启动余量只有 1~3 秒。而卡在空壳时它只会等满后直接报错放弃,从不重新加载——实测重新加载一次即恢复。 ## 方案 - 重试次数 8 提升到 20。 - 第 10 轮时若一次都没识别成功,调用一次 `openOrders()` 重新加载;每次 `awaitOrders()` 最多重载一次。 仅在完全认不出列表时重载,不会把已滚动的列表拉回顶部。 ## 验收 - 新增用例:前两次加载前一直是空壳,扫描应重新加载一次并完成,而不是超时。 - 把预算改回 8 且禁用重载后该用例必须红。 ## 风险与回退 最坏情况等待时间由约 10 秒增至约 21 秒,仅在列表异常时发生。回退即还原两个常量。 ## 文档影响 无长期文档影响:未改入口、配置、接口和状态机。
Author
Owner

实施

提交 997306e(deploy-main)。AWAIT_ATTEMPTS 8→20,第 10 轮未识别时重新加载一次。

验证

  • 单测 409 通过 0 失败。
  • 新增 blank order list is reloaded once instead of failing。
  • 反证:预算改回 8 并禁用重载后,该用例与既有的超时用例同时变红。
  • 已装机 192.168.0.173:38881,0.9.59,lastUpdateTime 2026-09-18 14:51:09,无障碍服务仍开启。

未验证

真机回填结果。本工单只放宽等待并增加一次重载,不保证空壳的成因已消除——成因未定位,只确认了重新加载可恢复。

状态:待验收。

## 实施 提交 `997306e`(deploy-main)。`AWAIT_ATTEMPTS` 8→20,第 10 轮未识别时重新加载一次。 ## 验证 - 单测 409 通过 0 失败。 - 新增 `blank order list is reloaded once instead of failing`。 - 反证:预算改回 8 并禁用重载后,该用例与既有的超时用例同时变红。 - 已装机 192.168.0.173:38881,0.9.59,lastUpdateTime 2026-09-18 14:51:09,无障碍服务仍开启。 ## 未验证 真机回填结果。本工单只放宽等待并增加一次重载,不保证空壳的成因已消除——成因未定位,只确认了重新加载可恢复。 状态:待验收。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#317