Apps that have a new update available from EAS Update fail to cold launch
Incident Report for Expo
Postmortem

Summary

From 2022-08-05 12:02 PM PT to 2:22 PM, update manifests served from EAS Update would cause apps that received a new update not to launch.

Scope

Apps that received a new update during this time frame would not launch.

If an app was already launched and backgrounded, it was not affected. If an app checked for an update and already had the latest update or had no update available, it was not affected.

Cause

The Expo Updates specification defines a way to specify the HTTP headers a client should use when requesting assets. The expo-updates module supported parsing string-valued headers but not other types. During this incident, the EAS Update service declared a Boolean-valued header, which caused a parsing error.

Resolution

Resiliency: the next release of the expo-updates library will handle non-string-valued headers by converting them to strings. Longer-term, we are thinking about ways to handle broader classes of errors.

Test coverage: we added an end-to-end test running an Android app with EAS Update’s staging tier.

Documentation: the Expo Updates specification now mentions that header values must be strings.

Posted Aug 12, 2022 - 13:25 PDT

Resolved
From 12:02 PM PT to 2:22 PM, apps that checked for new updates from EAS Update and had a new update available would not launch due to a parsing error.

Apps were affected if they were not running in the background and had a new update available. Apps that were running in the background or already had the latest update or for which there was no update were not affected.
Posted Aug 05, 2022 - 12:00 PDT