Skip to content

Conversation

@Easy-Ez
Copy link

@Easy-Ez Easy-Ez commented Dec 15, 2025

WHY are these changes introduced?

When developing POS UI extensions, the Dev Console “View mobile” flow requires scanning a QR code every time. On mobile devices, we can deep link directly into the Shopify POS app using the existing
com.shopify.pos://... URL, reducing friction while keeping QR + copy as fallbacks.

Demo

97391bd935a0e306a62d6e72ba94c4ba.mp4

WHAT is this pull request doing?

  • Adds a third call-to-action in the QR code modal for POS extensions: “Or open it directly in Shopify POS:” with an ExternalIcon.
  • Shows the CTA only on mobile devices to avoid a misleading/invalid action on desktop browsers.
  • Adds an isMobileDevice() utility and unit tests for the new rendering conditions.
  • Uses flex-wrap on the CTA row to avoid the icon overflowing on narrow viewports.
  • Adds a changeset for @shopify/ui-extensions-dev-console-app.

How to test your changes?

  1. In a project with a POS UI extension, run shopify app dev and open the Dev Console.
  2. In the Extensions list, click “View mobile” on a POS extension.
  3. On a mobile device (or mobile emulation with a mobile UA), verify the third line appears: “Or open it directly in Shopify POS:” and the External icon button.
  4. Tap the External icon; it should attempt to open Shopify POS via com.shopify.pos://....
  5. Verify on desktop that the third CTA is not shown.
  6. Run tests: pnpm -C packages/ui-extensions-dev-console vitest

Post-release steps

None.

Measuring impact

  • n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes

@Easy-Ez Easy-Ez requested review from a team as code owners December 15, 2025 06:57
@Easy-Ez
Copy link
Author

Easy-Ez commented Dec 15, 2025

I have signed the CLA!

@Easy-Ez Easy-Ez closed this Dec 16, 2025
@Easy-Ez Easy-Ez reopened this Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant