We’re seeing a PDF download silently fail from an embedded page opened through an admin link extension in the Shopify mobile app.
The same flow works in desktop Chrome and standalone mobile Chrome. Inside Shopify Mobile, the embedded page reaches Download complete state, but no file is downloaded.
Admin link configuration
[[extensions]]
name = "Download PDF Invoice"
type = "admin_link"
[[extensions.targeting]]
target = "admin.order-details.action.link"
url = "/app/download-pdf"
The relative destination follows Shopify’s admin link documentation:
Download implementation
The destination page fetches a server-generated PDF and creates a Blob download:
const response = await fetch(pdfUrl);
const blob = await response.blob();
const blobUrl = URL.createObjectURL(blob);
const link = document.createElement("a");
link.href = blobUrl;
link.download = "1332 - Invoice.pdf";
document.body.appendChild(link);
link.click();
link.remove();
URL.revokeObjectURL(blobUrl);
This runs after the merchant taps the order-details admin link and the embedded destination page loads.
Steps to reproduce
- Add an admin link extension targeting
admin.order-details.action.link. - Open an order in the Shopify mobile app.
- Tap the admin link action.
- On the embedded destination page, fetch a PDF, create a
blob:URL, and trigger an<a download>click. - No file is downloaded and no native save/download UI appears.
- Open the same flow in standalone mobile Chrome; the PDF downloads successfully.
Expected
Shopify Mobile should download or open the PDF, or expose a documented native mechanism for saving the file.
Actual
The Blob download is silently ignored inside Shopify Mobile. No browser or App Bridge error is surfaced.
Related reports
- Embedded apps: downloading blob URLs don't work · Issue #191 · Shopify/shopify-app-bridge · GitHub
- Embedded apps: filename on download attribute isn't respected · Issue #190 · Shopify/shopify-app-bridge · GitHub
Both are open and labeled bug in Shopify’s App Bridge repository.