fix(android): preserve labels across snapshot action boundaries

Merged
AN
1h ago
+869-1

Summary

Android helper snapshots can merge nested Settings category labels into their outer scroll container, leaving Network & internet, Connected devices, and Apps without separate labelled action refs.

Stop promotion at independently hittable or editable descendants. The shared Android predicate now honors explicit editable: true, including custom classes. Passive siblings still label their own row. Four files change, including a captured Settings hierarchy and four helper tests. The fixture retains relevant nesting/geometry; the passive-sibling case guards existing behavior. No public API change or linked issue.

Validation

Head f4d1eb797373146eee25be2d3248133892722547, base cf9153e1973bd17ea034423cf092b2f971fb363e.

  • pnpm check:affected --run --head f4d1eb797: PASS, exact commit, 41 runnable checks; 25 skipped lanes are not passes. Broad unit: 1,916 files, 17,101 passed, one skipped. Provider integration passes.
  • The custom-field regression fails at 265d4ec and passes after correction. Helper plus production formatSnapshotText suites pass 12/12.
  • Tests changed through added custom-class coverage and a stronger assertion that the outer scroll container exists. Original typed-field assertions remain; no timeout changed.
  • Current-head live evidence: matching helper 0.21.37-dev, separate normal and interactive category refs, Connected devices navigation, inspected source/T3 PNGs and verified cleanup.
  • Earlier broad timeout causes remain unproven. Vercel authorization is unrelated. Required upstream lanes remain separate from local validation and merge acceptance.

Codex authored under human direction. Independent Codex review covered the preceding source; the parent addressed subsequent automated findings. Human review remains pending.