Bare – expo-updates Updates.checkForUpdateAsync() fail when no release-channel published

🐛 Bug Report

expo-updates fail on Updates.checkForUpdateAsync() when bundles have not been published to release channel yet with expo publish –release-channel xxxx

Summary of Issue

I’ve catch this exception with Sentry.

On Android : Failed to download manifest from URL: https://exp.host/@****/***

On iOs : {“message”:”Experience “@/” for platform “ios” and release channel “” does not exist or is not published.”,”errorCode”:”EXPERIENCE_NOT_FOUND”,”metadata”:{“fullName”:”@/****”,”platform”:”ios”,”sdkVersions…

(sorry I don’t have the full message)

With bare workflow and expo-updates release embed the local code without the need to publish.

Do this case need to be handled by expo-updates or do we need to handle this in our code ? (and how?)

Let me know if I can help providing more information.

Environment – output of expo diagnostics & the platform(s) you’re targeting

Expo CLI 3.21.5 environment info:
System:
OS: macOS 10.15.5
Shell: 5.7.1 – /bin/zsh
Binaries:
Node: 13.7.0 – ~/.nvm/versions/node/v13.7.0/bin/node
Yarn: 1.22.4 – ~/.yarn/bin/yarn
npm: 6.14.4 – ~/.nvm/versions/node/v13.7.0/bin/npm
Watchman: 4.9.0 – /usr/local/bin/watchman
IDEs:
Xcode: 11.5/11E608c – /usr/bin/xcodebuild
npmPackages:
expo: ~37.0.10 => 37.0.12
react: ~16.9.0 => 16.9.0
react-dom: ~16.9.0 => 16.9.0
react-native: ~0.61.5 => 0.61.5
react-navigation: ^4.3.7 => 4.3.7

“expo-updates”: “^0.2.7”

1 possible answer(s) on “Bare – expo-updates Updates.checkForUpdateAsync() fail when no release-channel published

  1. This is to be expected. You must run expo publish or expo publish --release-channel XXX before creating your build in order to correctly inject the update values. The other option is expo export, or removing expo-updates completely.