EAS Update not showing up in app

Hi there,

We have pushed an eas-update, but are not seeing it reflected in our app after successfully uploading the update and closing and opening the app multiple times + waiting a day to see if it eventually propagated.

To update we created a build and associated it with the staging channel and branch. We ran
eas update --branch staging --message "second attempt to push tip updates".

We see the update on the branch, and our build seems to have it listed as the latest update, but we can’t figure out why we’re not seeing it on the app.

  • we’re on the production plan
  • managed workflow
  • `eas-cli@0.47.0
  • On the eas dashboard our build is listed as having the staging channel.
  • The staging channel has the staging branch linked.
  • The staging branch shows the update as the latest update.
  • in the deployments tab I see the connector between the channel and the branch

What am I missing?

  "build": {
    "production": {
      "channel": "production"
    },
    "preview": {
      "extends": "production",
      "channel": "staging",
      "distribution": "internal"
    },

Hey Eliot,

Updates should be available instantly after publishing, so since you aren’t seeing the update load in your app, let’s figure out what’s going on.

Everything you said you’ve seen/are doing looks correct to me. Can you check to make sure a few things are in your project:

  • Make sure that expo-updates is installed
  • Make sure that the updates.url in app.json matches the project id you see for your project on this page.

After that, there are a couple things that must be true for a build to load an update.

  • The build must have the same runtime version as the update.
  • The build must have a channel that is linked to the update’s branch.
  • The build’s platform must match the update’s platform (android or ios)

Based on what you posted, I bet those things are in place.

The fastest way to get to the bottom of this is to download a program like Proxyman or Charles Proxy, install their SSL certificate on a simulator, then inspect the network request made to https://u.expo.dev/...

To do that, I would make a new build profile:

{
  "build": {
    "preview-simulator": {
      "channel": "preview",
      "ios": {
        "simulator": true
      }
    }
}

Then run eas build --profile preview-simulator (assuming you can run an iOS simulator)

With that build, you can drag/drop in an iOS simulator and then set up a network inspector mentioned above to see what requests are being made. If there are issues with the request or some configuration, that network request will display an error that could help us figure out what’s happening.

–I’m currently in the process of writing a doc/figuring out faster ways to debug issues like this, but thought i would share the manual way I debug these, in case it helps get you moving faster.

3 Likes

Following up: I just wrote a more fully-featured debugging guide. I hope it will help you identify the root cause of your issue faster. Debugging guide - Expo Documentation

2 Likes