App Failed to Load

Some of our customer get “App Failed to Load”:
“They were all on the latest Shopify POS version, and reinstalling Shopify POS, re-adding the tile, and logging out/back in didn’t resolve the issue”

We recently upgraded from react to preact and web-extensions and the latest web-components. In general the upgrade went well, and no issue happened so far except that one for small amount of specific ipads/locations.

They reached to your customer support before they reached us, i may be able to get the ticket number and share it privately.

This has been going on for some time. Did you check out existing results for this issue? Search results for 'pos failed to load' - Shopify Developer Community Forums

I noticed this too when starting with Preact. I only get it when a new version of the app is loaded for the first time after a release.

The behavior you’re describing is similar to an issue we recently identified on some iPads. In that case, we found that iPadOS was terminating the process that hosts POS UI extensions as part of its memory management, particularly after Shopify POS had been backgrounded. This resulted in host-level timeouts rather than errors returned by the extension, leading to the “App failed to load” message.

For this failure mode, merchants would need to fully force-close and reopen Shopify POS. Keeping POS in the foreground where practical can reduce recurrence. If you’d like me to verify whether the issue you’re describing matches the one we identified, I can send you a DM so you can share the ticket number privately.

@nirtayeb I found something in our logs related to your app, I’ll DM you.

Found the issue and this will affect anyone updating from Remote UI to Remote DOM. Basically, because the runtimes are incompatible, when the merchant’s POS receives the new extension manifest, the Host tries to reload the existing extensions that are on screen. However, what happens is the remote UI runtime is still used for rendering a remote DOM extension. We’re exploring some fixes for these, but none are easy and likely it would require a POS update. However, the good news is that this only occurs when the merchant is running POS during the update. If they restart POS, it will render the extensions from a fresh slate and use the appropriate runtime. Apologies for the inconvenience, we’ll get a fix out as soon as we can.