Old Bundle still cached after installing new binary pointing to new release channel

Please provide the following:

  1. SDK Version: 40
  2. Platforms(Android/iOS/web/all): all
  3. Add the appropriate “Tag” based on what Expo library you have a question on.

Hi,
We are facing an issue where a new binary pointing a new release channel is pushed via app store and playstore, updated in phone with respective app stores, but still seems like old js bundle ( which is pointing to previous release channel ) is running.

Steps to reproduce

  1. Have an existing binary say 1.0 which is pointing to prod-v1 release channel.
  2. Push a new binary say 2.0 which points to prod-v2 release channel to respective app stores.
  3. Open the 1.0 binary, ( it checks there is a new binary released, gives an option to user to navigate to app store page ). The user clicks update, and the app is updated.
  4. Coming back to the app which ( was already open ), the old JS bindle ( chached ) is still executing.
  5. Closing the app, and re-opening it, still the old JS bundle is executing.

After removing cache and deleting data ( explicitly from settings ) I could see the new js bundle ( prod-v2) in effect.

We want to give user a seemless experiance updating the binary, and get new release channel js bundle experience.

Has anyone encountered this / or know a way to handle this ?

@charliecruzan Can someone help me here?

And you have confirmed that the underlying binary is definitely the new one (2.0)? This is a pretty weird situation, especially since this is happening on both iOS and Android for… how are you clearing the cache on iOS?

cc @esamelson since he may know more about what might cause this to happen

Yeah I am pretty sure the. new. binary is 2.0
because

  1. when I cleared the cache and storage on android it started hitting my backend with new js bundle.
  2. On IOS I deleted the app and again installed from app store, then it sstarted hitting my backend with new js bundle.

Note: we are building the app on our infra with turtle cli.

We’ll look into this, seems like it could potentially be a bug with expo-updates. For now, it might help to publish a new OTA right after building for a new release channel