Skip to content

Phone example panics on Back from a thread to Threads: duplicate a11y node id #646

Description

@Tryanks

Reproduced twice with cargo run -p tcode-ui --example phone on a throwaway profile paired to a local headless host: tapping Back from an open thread to the Threads list aborts with a debug panic at gpui/src/window/a11y.rs:415 Duplicate a11y node id. Not yet localized: it may be Tcode's element ids reused across the two pages or the gpui a11y layer; run the CONTRIBUTING "Localize" step first. Log captured during the design pass at /tmp/tcode-design-b-phone-crash.log on the maintainer's machine. This blocks phone screenshots of navigation flows.

Localization (from the A2 worker, 2026-10-08)

Reproduces with synthetic threads that have no pull-request links, so it is not caused by the new badge. Cause is in the dependency, gpui-fast 3755a552: crates/gpui/src/window.rs:4188 Window::transact rolls back failed list prepaint state but not a11y.nodes; elements/list.rs:1397/1429/1649 retries the prepaint, and window/a11y.rs:415 then rejects the duplicate node id. Instrumentation showed the same full GlobalElementId arriving twice (not a hash collision). A temporary external GPUI checkout that cloned and rolled back the a11y nodes in Window::transact made the same native phone navigation succeed; the diagnostic checkout was deleted and nothing is carried in the tree. Impact: debug macOS native navigation with accessibility active (assistive technology or computer-use automation); release behaviour not tested. Per CONTRIBUTING step 5 this is carried until upstream changes; acting on the upstream repository is the maintainer's call.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions