fix(desktop): include Chrome app text in macOS SnapShots - #11325
fix(desktop): include Chrome app text in macOS SnapShots#11325shivamhwp wants to merge 1 commit into
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The production change is narrowly confined to matching macOS Chrome/Chromium accessibility windows whose titles include browser profile suffixes, while preserving existing exact-match and bounds safeguards. Focused tests cover supported variants, ambiguity, platform restrictions, and unrelated titles. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
Chrome SnapShots on macOS can omit app text because CoreGraphics reports the page title while accessibility appends
- Google Chrome – Profile. The matcher required the two titles to be identical.Allow that suffix for macOS Chrome and Chromium bundle IDs after checking for exact matches. Keep process scoping and bounds checks, and reject ambiguous suffix matches even if one window reports itself active. Other platforms and applications keep exact matching.
Fixes #10896. Stacked on #11298. Internal refinement remains pending after the final Fable retry failed.
Validation: 96 focused tests pass across the matcher, accessibility reader, worker lifecycle and macOS capture controls. Six reported-title variants fail against the parent implementation. Desktop typecheck and scoped lint pass. The reader test returns accessibility context for the reported title pair and rejects other processes/applications. Native macOS Chrome verification remains pending; Edge, Brave and Arc are outside this fix. SnapShots are desktop-only; retained context uses existing contracts for local and remote delivery.
Model: GPT-6. Harness: Codex.