Repository navigation
fix(android): preserve labels across snapshot action boundaries - #4180
andrewfree wants to merge 3 commits into
Conversation
|
Someone is attempting to deploy a commit to the Callstack Team on Vercel. A member of the Team first needs to authorize it. |
|
Thanks for the fix. At 265d4ec the change itself looks right, but there is no live proof yet that the final snapshot text keeps the labels. The change in structural-noise.ts alters which labels the agent-facing Android snapshot text shows. That is capture output, so the PR needs a live run of the changed route. The only live run in the PR body predates the rebase, and the body says it does not qualify this head. The new unit tests call the helper step directly. They do not run the downstream Not blocking: these can be taken or left. The existing Android presentation tests in The only check that is not passing is the Vercel deploy authorization on this fork PR. It runs no code and the diff does not touch website or deploy config, so it looks unrelated. I could not verify the unit-run timeouts the PR body mentions. I also could not run the tests, so my read of old and new test outcomes is by hand. There are no conflicts. Once the live Settings snapshot is posted, this is ready for human review. |
|
Verified the final built CLI at Commands below ran from that checkout, with the same explicit target/session/state arguments on each device command: node bin/agent-device.mjs open settings --relaunch --platform android --serial emulator-5554 --session pr4180-live-formatter --state-dir "$STATE" --json
node bin/agent-device.mjs snapshot --platform android --serial emulator-5554 --session pr4180-live-formatter --state-dir "$STATE"
node bin/agent-device.mjs snapshot -i --platform android --serial emulator-5554 --session pr4180-live-formatter --state-dir "$STATE"
node bin/agent-device.mjs snapshot -i --json --platform android --serial emulator-5554 --session pr4180-live-formatter --state-dir "$STATE"Actual interactive text excerpt: JSON reports
The final project-runner verifier passed. Its initial attempt incorrectly equated refs across snapshot modes and supplied target flags to Verification: OpenAI Codex, parent gpt-6-astra; independent source review gpt-6.1-sol. This supplies the requested live evidence; human review and required upstream checks remain separate from merge acceptance. |
There was a problem hiding this comment.
All reported issues were addressed across 3 files
Reply to a comment to ask cubic a question or push back. It learns from your replies.
View guided diff | Re-trigger cubic
|
Thanks, this live run covers what the review asked for at 265d4ec. The helper reports |
|
Current head
The explicit-editable regression fails on preceding head For live verification, a repository test invoked {"backend":"android-helper","helperVersion":"0.21.37-dev","helperApiVersion":"2","helperTransport":"persistent-session","rootPresent":true,"helperTruncated":false}After JSON confirmed separate hittable refs. Scroll containers remained present without stolen category labels. A fresh The private session closed and Verified by OpenAI gpt-6-astra through Codex. The preceding source also has independent gpt-6.1-sol review. Vercel's fork authorization failure remains unrelated. |
|
The code looks good at f4d1eb7. The two earlier threads are fixed, and I found no new problems in this change. The explicit editable fact is honored in the shared predicate, and the editable:true case is covered by the parameterized test. The e4 test now asserts the node exists before it checks the label. Both cubic-dev-ai threads are fixed and already resolved: the editable fact in the shared predicate (#4180 (comment)) and the defined-node assertion (#4180 (comment)). I did not run the tests or a device. I traced the pre-change code by hand to confirm the regression is real. The live Settings run is your report, and those nodes have editable:false, so only the unit test covers the new editable:true branch. That is enough for a one-clause change to a shared predicate. The only check that is not passing is Vercel fork authorization. It does not run repository code, and this diff does not touch the website, so it looks unrelated. No conflicts are known. |
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, basecf9153e1973bd17ea034423cf092b2f971fb363e.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.formatSnapshotTextsuites pass 12/12.Codex authored under human direction. Independent Codex review covered the preceding source; the parent addressed subsequent automated findings. Human review remains pending.