Our iOS app uses Expo’s OTA publish
feature to distribute new versions. Works great: when the app is foregrounded, the OTA update process checks if there’s a new version, if there is it’s downloaded in the background, we pop up a modal to notify users that we’re about to restart, the restart is super quick and presto, new features. Love it - thank you!
However, a percentage of our users are showing up in our logs as having run the latest version before being reverted to earlier versions. Most often, the process above will update them again to the latest. And then somehow, they’ll get reverted back down to an earlier version - again!
What could be causing that? Thoughts:
-
It’s as if the latest JS bundle is suddenly not available on the device any more.
-
Does loading the local bundle depend on having a working network connection?
-
Could it be a space issue on their device? E.g. iOS is either deleting the JS bundle because there’s not enough space, or it’s archiving the app and re-downloading it from the AppStore? There are often a few days break between being on N and then suddenly back on N - 1.
Open to other thoughts.
This is happening on SDK 29 and 31 (we’re on 33 now).