fix: migrate generic UI controls to Radix#559
Conversation
Tier B regression failed against previewPreview URL: (preview URL unresolved) Likely a kit-parity DOM regression. Check the Playwright report artifact attached to the run for the failing selector + screenshot. This check would have caught all 4 A9 sessionRows iterations as a single PR — that's why it exists. |
Tier B regression failed against previewPreview URL: (preview URL unresolved) Likely a kit-parity DOM regression. Check the Playwright report artifact attached to the run for the failing selector + screenshot. This check would have caught all 4 A9 sessionRows iterations as a single PR — that's why it exists. |
Tier B regression failed against previewPreview URL: (preview URL unresolved) Likely a kit-parity DOM regression. Check the Playwright report artifact attached to the run for the failing selector + screenshot. This check would have caught all 4 A9 sessionRows iterations as a single PR — that's why it exists. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✅ Dogfood Visual QA Gate: PASSED
ArtifactsDownload the Generated by Dogfood QA Gate |
|
Demo: walkthrough of the surfaces this PR changed is available as a workflow artifact ( |
What changed
Why
The app had many visually similar controls with separate Escape handling, focus behavior, outside-click logic, portal geometry, ARIA state, and toast stores. Centralizing these behaviors reduces UI clutter and makes keyboard, screen-reader, collision, and mobile behavior consistent without changing runtime-backed product actions.
Verification
npx tsc --noEmit --pretty falsenpm run lint:design(0 high-severity violations; existing medium/low baseline advisories)npm run buildIntentional boundary
Native
<select>and simple<details>elements remain browser primitives. Route navigation remains navigation. Editor slash/mention/entity disambiguation and editor-decoration portals remain product-specific composites rather than being incorrectly forced into generic Tabs/Menu abstractions.