What is the relationship between releaseChannel and channel in eas.json?

So you’re all set up correctly for EAS Update! However, it looks like you are calling Constants.manifest.extra somewhere (from expo-constants), but since Constants.manifest is null, you’re getting a fatal error when calling .extra on null. This guide instructs you to remove Constants.manifest.extra.

If you’re using Constants.manifest.extra to access environment variables, we have a workaround for the time being here: Use environment variables with EAS Update - Expo Documentation

The expo-updates-error-recovery message is telling you that we caught the error and rolled your project back to a known working update. Referenced here.

In your original post, you mentioned expo-updates. I just want to clarify the difference between that, Classic Updates (a.k.a Expo Updates), and EAS Update.

  • expo-updates is a library that can be used with any update service and is not specific to any of Expo’s services.
  • Classic Updates is an Expo specific service built to send updates from ~2015 - 2021
  • EAS Update is a better Expo specific service built to send updates from 2022 - present

You were right about the docs here btw… “channel" just hasn’t been added yet because EAS Update is still in preview. It will be there eventually.