Repository navigation
Show a hand-off page instead of the app on phones in Design and Slides - #7932
Conversation
|
Here's a visual recap of what changed: Open the full interactive recap |
|
Addressed the review-body feedback on the latest head: a failed clipboard write now shows "Couldn't copy the link" on the button (copy action and share fallback), with a spec for it and the string in all 11 locales. I did not change anything for the possible Slides embed-token mismatch: the review marked it unconfirmed, and embeds are exempt by design (the prop is omitted whenever 🤖 Addressed by Claude Code |
|
Addressed the review-body feedback on the latest head: the gate's media query subscription now falls back to 🤖 Addressed by Claude Code |
There was a problem hiding this comment.
Builder reviewed your changes — looks good ✅
Review Details
Incremental review summary
The latest revision adds a Safari-compatible MediaQueryList subscription fallback and a regression test for the legacy listener API. The earlier signed-out email, narrow iPad, clipboard-feedback, and Slides embed-gating concerns are all addressed in the current diff. The hand-off gate remains constrained to touch devices whose physical screen’s shorter side is below the stated 744px threshold, and the routes, session integration, and localized messages appear internally consistent.
I found no confirmed actionable issues. One agent raised that some small Android tablets would also be gated; however, that is consistent with the PR’s explicit rule of gating touch devices below the iPad-sized threshold, so I did not report it as a defect. Mailto construction was also independently assessed and found valid.
🧪 Browser testing: Skipped — browser-test-planner is not available in this environment; the dev server is running.

Design and Slides aren't built for phones. On a touch device with a screen smaller than an iPad (under 744px) they now show a short hand-off page instead of the app: share the link through the OS share sheet, or email it to yourself, and pick it up on a desktop or iPad.
Before and after (375px wide)
How it works
UnsupportedDeviceGatein@agent-native/toolkit/app/shared, wired through a newunsupportedDeviceoption onAppProviders. Slides and Design each pass it from theirroot.tsx.navigator.shareexists. "Email me the link" appears only when the signed-in address is known, addressed to that user, so a signed-out visitor never gets a blank To field. Without share support, email leads when shown and "Copy link" is the fallback or the only action.embedded=1), Slides share and present routes, Design/present/and/visual-edit.Things to know
/design/<id>route, so a shared Design link is now gated on a phone too.AppProviders.spec.tsxhas one test that fails in my environment on a missingwindow.localStorage; I did not run it against a clean checkout.screenshots/mobile-unsupported-page, which can be deleted after merge.Checked
pnpm guards(92 checks) passes, and oxfmt is clean./homeand the editor routes, Design/present/is not gated, and 768px stays in the app.