Target: admin.order-details.block.render,
framework: Preact, API versions 2025-10 and 2026-04 - both affected.
Steps to reproduce:
- Add the block extension to an order page via the admin editor.
- Navigate to a different order using the prev/next arrows (client-side navigation, no full page reload).
- On this first navigation only, the block still displays the previous order’s data.
- From the second navigation onward, it works correctly.
We use this target to conditionally render a QR code block that should only show on orders that have an associated e-card. Right after adding the block in the admin panel, on the very first navigation to another order, the block shows the previous order’s state instead of the current one - either displaying a QR code where there shouldn’t be one, or showing nothing where a QR code should appear. This resolves after a full page reload, or - notably - after opening the QR document via our separate Print Action extension (also targeting the same order), which always displays the correct data itself.
Root cause:
- export default is not called again on this first navigation - a console.log at the top of the module only fires on full page load, never on client-side prev/next navigation.
- shopify.data is not updated in place: polling shopify.data.selected[0].id on an interval inside the running instance keeps returning the previous order’s GID. Manually inspecting shopify.data in the extension iframe’s console after navigating confirms it still holds the stale ID.
- shopify.data is a plain frozen object with no subscription/signal API, so there is no way to detect the update from inside the extension.
- all client-side workarounds we tried (polling, window.postMessage, reading window.location) are blocked in the extension sandbox. Interestingly, invoking the Print Action for the same order (which reads order data independently and always returns the correct, current order) appears to also refresh the stale block afterward. This suggests some internal data-refresh path exists that the Print Action target triggers but the Block target does not receive on its own.
This mirrors a bug fixed for admin.product-details.block.render in July 2025 (community.shopify.dev/t/admin-ui-extension-not-updating-on-product-navigation/1211), and an open report for discount navigation (community.shopify.dev/t/admin-ui-extension-not-re-rendering-and-not-updating-data-on-discount-navigation/21039).
Is the July 2025 product-details fix planned to be extended to admin.order-details.block.render?
Also, is the Print Action’s apparent ability to refresh the block’s data a known/intentional side effect, or worth investigating further on your end?