Hey @support_uniple - appreciate the nicely controlled A/B; that narrows it a lot.
A few things to verify before we call this a platform issue, because the symptom you’re describing (bundle 200s from CDN but target never invokes, embedded-only) usually traces back to one of these:
1. The deployed version vs the installed version
Customer Account UI extensions render the deployed and released version, not whatever’s in your local source. Two checks:
- Run
shopify app deploy for the embedded app and confirm the new version is released (not just deployed) in the Partner Dashboard → your app → Versions.
- Confirm the installed instance on the dev shop is on the released version. Reinstall if in doubt — embedded apps with version-pinned installs can lag.
The extension-only app likely auto-releases on deploy, which would explain the divergence even with identical TOML.
2. App distribution + access scope handshake
You called out AppDistribution is explicit on the embedded app. If that’s set to app_store while the dev shop install predates required configuration (e.g. for protected customer data approval, network_access review status, or any “must be approved” capability), the extension can be quietly disabled at runtime — bundle fetches but the host never invokes the target. Check Partner Dashboard → App setup → Protected customer data access status and Distribution state.
3. The static target’s host feature has to be present
customer-account.order-status.payment-details.render-after only fires when the payment-details section actually renders on that order. If the order has no captured payment, is free, uses certain deferred-payment flows, or is in a state where Shopify doesn’t render payment details, the static target is skipped — by design (static targets docs). The block target (customer-account.order-status.block.render) also requires the merchant to have placed your block via the checkout & accounts editor — until they do, it won’t render. Worth double-checking both.
4. Quick diagnostic
Swap in customer-account.order-status.block.render without placing it in the editor and instead try customer-account.order-index.block.render or customer-account.profile.block.render and put a <Banner>Hello</Banner> in it. If those don’t fire either on the embedded app but do on the extension-only app, that’s a strong signal it’s an app-level config issue, not target-specific.
If you’ve checked all of the above and you can still reproduce extension-only working / embedded failing on the same shop, that’s worth filing — happy to escalate. Drop your two app handles (or partner org + app IDs in DM if you’d rather) and I’ll have a look.
I did find a related GitHub issue too: Shopify/cli#5988 that covers a similar “extension doesn’t render in preview” pattern, though it’s CLI-side rather than installed-app-side.