Skip to content

Feat/expo updates#295

Draft
hurali97 wants to merge 6 commits intomainfrom
feat/expo-updates
Draft

Feat/expo updates#295
hurali97 wants to merge 6 commits intomainfrom
feat/expo-updates

Conversation

@hurali97
Copy link
Copy Markdown
Member

@hurali97 hurali97 commented Apr 9, 2026

Summary

This PR introduces the Expo Updates support to react-native-brownfield APIs and expo config plugin.

iOS:

  • Incorporates the AppController initialization during the applicationDidFinishlaunchingWithOptions.
  • Uses the AppController.shared.launchAssetURL - if it is available
  • In the ReactNativeViewController - inside init() - we do the AppController.start to start the StartupProcedure for Expo Updates.
  • We also set a delegate in init - which returns us whether the AppController started with success.
  • The above piece is important. When we get this protocol invoked, we render the UI.

The major dependency to allow Expo Updates is based on the patch added in this PR. Basically, Expo Updates account for being used in a greenfield App and even for brownfield app with integrated approach.

It does not account for usage in brownfield apps with isolated approach. Hence, the patch included in this PR, Now allows that approach to work as well. This patch needs to be upstreamed to Expo Updates package.


TODO:

  • prepare docs for both iOS and Android
  • fix a bug on iOS - where on demand fetch and applying an update does not reflect the UI. The app has to be relaunched.
  • add Android support

Test plan

iOS - Apple App
Case: EXUpdatesCheckOnLaunch=NEVER
Never.mp4
Case: EXUpdatesCheckOnLaunch=ALWAYS
Always.mp4
Case: EXUpdatesCheckOnLaunch=NEVER + On demand Fetch
Never+Fetch.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant