fix(agent): 地址恢复误排除矮规格面板滚动区域(CG81,关联 #246) #247

Open
opened 2026-09-09 10:01:00 +08:00 by ila · 1 comment
Owner

来源与事实

2026-09-09 用户报告CG81最新0.9.64地址返回规格面板报滚动区域不唯一,确认按分析建单实施。只读现场唯一可滚动RecyclerView边界[0,1132,1080,2057],宽1080高925;现有purchasePanelScrollTargets要求height>=width将其排除,候选为0。CG81第9次错误PURCHASE_ADDRESS_ENTRY_AMBIGUOUS。

依赖与范围

关联 #246、#227、#152;基线7ea34e3,#246已实现,可独立于真机验收继续。仅android,不改Server/Web/数据库/接口/规则。仅地址保存后的恢复路径,打开地址前沿用既有选择逻辑。

方案与设计证据

用户确认最小方案,无新UI无需原型。恢复时结合现有解析器识别的规格面板边界筛选可见启用滚动容器,不再以高宽比推断纵向滚动能力;保留尺寸下限、唯一容器、既有滑动执行及最多5次/稳定终止。不扩大解析器,不引入手势兜底或额外Back。未识别面板容器时保留原支持路径。零候选与多候选分别提示,沿用原错误码。最终地址与唯一提交入口复核不放宽。

验收与验证

  • 1080x925规格面板返回后可进入有限地址恢复。
  • 矮面板停滞/缺失/多候选时安全失败,无多余Back/下单。
  • 原高面板及普通确认页路径回归通过。
  • 全量Android单测、APK构建0.9.65/78、差异检查、提交推送与证据回写。

授权、风险与非目标

本轮授权代码实施;不安装、不触发真实采购/改地址/创建订单,永久不付款。现场几何证据明确,但采购全流程效果仍待真机验证。保留无关工作区。

文档影响

无长期文档影响:修复 #227/#246 已确认的面板内有限恢复,实现入口/命令/API/安全边界未变;无新日志位置,错误提示仅区分候选数量。跳过Wiki同步,无任务快照。

工具与状态

Gitea MCP不可用,回退项目安全配置的API。进行中。

## 来源与事实 2026-09-09 用户报告CG81最新0.9.64地址返回规格面板报滚动区域不唯一,确认按分析建单实施。只读现场唯一可滚动RecyclerView边界[0,1132,1080,2057],宽1080高925;现有purchasePanelScrollTargets要求height>=width将其排除,候选为0。CG81第9次错误PURCHASE_ADDRESS_ENTRY_AMBIGUOUS。 ## 依赖与范围 关联 #246、#227、#152;基线7ea34e3,#246已实现,可独立于真机验收继续。仅android,不改Server/Web/数据库/接口/规则。仅地址保存后的恢复路径,打开地址前沿用既有选择逻辑。 ## 方案与设计证据 用户确认最小方案,无新UI无需原型。恢复时结合现有解析器识别的规格面板边界筛选可见启用滚动容器,不再以高宽比推断纵向滚动能力;保留尺寸下限、唯一容器、既有滑动执行及最多5次/稳定终止。不扩大解析器,不引入手势兜底或额外Back。未识别面板容器时保留原支持路径。零候选与多候选分别提示,沿用原错误码。最终地址与唯一提交入口复核不放宽。 ## 验收与验证 - [ ] 1080x925规格面板返回后可进入有限地址恢复。 - [ ] 矮面板停滞/缺失/多候选时安全失败,无多余Back/下单。 - [ ] 原高面板及普通确认页路径回归通过。 - [ ] 全量Android单测、APK构建0.9.65/78、差异检查、提交推送与证据回写。 ## 授权、风险与非目标 本轮授权代码实施;不安装、不触发真实采购/改地址/创建订单,永久不付款。现场几何证据明确,但采购全流程效果仍待真机验证。保留无关工作区。 ## 文档影响 无长期文档影响:修复 #227/#246 已确认的面板内有限恢复,实现入口/命令/API/安全边界未变;无新日志位置,错误提示仅区分候选数量。跳过Wiki同步,无任务快照。 ## 工具与状态 Gitea MCP不可用,回退项目安全配置的API。进行中。
Author
Owner

实现完成,待验收

提交 bec8c84,基线7ea34e3;分支 fix/247-short-address-panel 已推送,未合并main。
仅地址保存恢复调用新选择函数:现有解析器得到specPanelContainer后,在其完整边界内查找可见启用滚动容器,保留屏宽60%/屏高20%尺寸下限,不再要求height>=width。无已识别容器时回退既有选择路径。打开地址前的筛选函数未改;解析器、规格、地址最终校验、滚动执行与预算、Back和下单均未改变。零候选提示未找到可用滚动区域,多候选提示找到多个,均保留PURCHASE_ADDRESS_ENTRY_AMBIGUOUS。
新增3项测试覆盖:1080x925矮面板经一次Back恢复地址并最终校验(1局部滑动/0提交);矮面板停滞有限失败;禁用唯一容器导致零候选及重复区域导致多候选分别失败、0滑动/0提交。测试采用等尺寸合成结构,不存原始控件树或个人信息。
执行 android/gradlew.bat :app:testDebugUnitTest :app:assembleDebug --console=plain 成功;全量344项,0失败、0错误;git diff --check通过。只有既有弃用/冗余初始化编译警告。
APK 0.9.65/versionCode78,SHA256 920c6371b6ec14c96f8296f65f39eb754411944e58149c73bd4cdddf839b5035。
未安装,未重试CG81、未改真实地址、未创建订单或付款。已验证明确的几何筛选缺陷修复,但真机完整采购流程未验证,不能宣称已全部解决。
无长期文档影响,恢复原已确认行为,不变更接口/业务规则/运行方式;跳过Wiki更新同步,无任务快照。无关工作区改动保留。保持待验收,不关闭。

## 实现完成,待验收 提交 bec8c84,基线7ea34e3;分支 fix/247-short-address-panel 已推送,未合并main。 仅地址保存恢复调用新选择函数:现有解析器得到specPanelContainer后,在其完整边界内查找可见启用滚动容器,保留屏宽60%/屏高20%尺寸下限,不再要求height>=width。无已识别容器时回退既有选择路径。打开地址前的筛选函数未改;解析器、规格、地址最终校验、滚动执行与预算、Back和下单均未改变。零候选提示未找到可用滚动区域,多候选提示找到多个,均保留PURCHASE_ADDRESS_ENTRY_AMBIGUOUS。 新增3项测试覆盖:1080x925矮面板经一次Back恢复地址并最终校验(1局部滑动/0提交);矮面板停滞有限失败;禁用唯一容器导致零候选及重复区域导致多候选分别失败、0滑动/0提交。测试采用等尺寸合成结构,不存原始控件树或个人信息。 执行 android/gradlew.bat :app:testDebugUnitTest :app:assembleDebug --console=plain 成功;全量344项,0失败、0错误;git diff --check通过。只有既有弃用/冗余初始化编译警告。 APK 0.9.65/versionCode78,SHA256 920c6371b6ec14c96f8296f65f39eb754411944e58149c73bd4cdddf839b5035。 未安装,未重试CG81、未改真实地址、未创建订单或付款。已验证明确的几何筛选缺陷修复,但真机完整采购流程未验证,不能宣称已全部解决。 无长期文档影响,恢复原已确认行为,不变更接口/业务规则/运行方式;跳过Wiki更新同步,无任务快照。无关工作区改动保留。保持待验收,不关闭。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#247