Expo OTA Updates not working on first launch

  1. SDK Version: 41
  2. Platforms(Android/iOS/web/all): all
  3. Updates

I am working with Expo’s OTA Updates, and for some reason my app doesn’t apply the update until the second time opening the app.

For example, I make some changes and run expo publish , I go ahead and open the app and there are no changes. I then close the app, and reopen and the changes are realized.

I’m looking to both download and apply changes right from the initial opening of the app.

app.json file:

"updates": {
   "fallbackToCacheTimeout": 0
},

I was able to fix this by changing fallbackToCacheTimeout to any n > 0.

This allows the app to download and apply any updates within n time before reverting back to previous cached version of the app.

this is expected behavior - unless it’s crucial for your app, you should leave the value as 0 because otherwise you need to, in the best case, wait for an http request to check for an update before proceeding. in the worst case, you need to download a js bundle and related assets, which could take a while on a slow connection and all the user would see is the splash screen.

Thanks for the reply.

So if I were to set the value to 0, this would disallow me to download and apply the updates on the first launch correct (only after the second launch would the downloaded JS bundle be applied)?

If this is the case, what method do you recommend so that users will always be on the most updated bundle. Manual checking?

correct.

if it’s important to ensure users get updates as soon as possible and you (understandably) don’t want to block loading the app or slow it down, “manual” updates are a good way to go: https://docs.expo.io/guides/configuring-ota-updates/#manual-updates

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.