Expo OTA updates - disable by default

Expo provides various settings to configure how your app receives over-the-air (OTA) JavaScript updates. OTA updates are controlled by the updates settings in app.json

Whilst OTA updates can be super-useful, they can also be dangerous if changes are indadvertedly published to app users because the app is build using the expo build:* command, and the updates settings in app.json is not set to false.

My suggestion is to turn the OTA feature OFF by default in the boilerplate code that is created when a project is created using the Expo cli. It seems much safer to manually and explicitly turn this feature on, rather than to have it on by default (with the explanation thereof hidden away in documentation), and be blissfully unaware that updates are going out over the air to app clients.

Please don’t get me wrong, I love the feature, I just think setting it to off be default will avoid a lot of pain and heartache for devs supporting production apps using Expo.


Hey @stevenellis,

I understand where you are coming from, but a major part of Expo’s allure is the ability to push out changes rapidly with OTAs and at this point in the game I feel it would create even more confusion for new users to create new projects and find that updates are disabled.

If you are automating the build process, you can pass the --no-publish flag to the build command to avoid pushing unwanted updates.




This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.