I’m trying to understand better how OTA updates release. I’m getting close to releasing a production app using Expo and I’ve seen a number of inconsistencies with OTA updates while testing this during development.
Currently there is a setup where a staging app builds using a release channel and updates are published with
expo publish --release-channel staging. This is all on the same Expo SDK (30).
One thing that has happened is that an update is published (update A), the app downloads it, but then sometime later the app downloads another update and reloads - now the prior update has been “reverted” and is gone and the app is stuck with the prior code (before update A). I have to trigger another publish to try to fix this. This has happened on two separate Android apk installations.
I’ve also seen other issues but I’ll just leave it at that for now since this is the most recent one.
Basically, I am wondering do we just need to publish to the release channel to create a JS update? Does Expo use the
app.json version or any other configuration to determine what the “latest” update is?