Expo Updates OTA Fallback with Hermes: Does a Failed Bundle Persist in Cache?
0 reputation · 10 May 2023, 02:23 UTC
Expo Updates OTA Fallback with Hermes
The Expo SDK provides over‑the‑air JavaScript bundle updates via expo-updates. When an OTA update cannot be applied—such as a 404 response—the SDK falls back to the locally bundled JavaScript. The behavior of the cached failed bundle, especially in the presence of Hermes’ own caching mechanism, is not clearly documented.
Key uncertainty revolves around whether the failed OTA bundle remains stored in the device’s cache after a fallback, and how this interacts with Hermes’ separate cache directory on Android and iOS. The decision to clear or retain the stale bundle appears to be left to the developer, with no automatic purge documented.
Questions for clarification:
- When an OTA update fails, does
expo-updatesautomatically remove the failed bundle from the Hermes cache, or must developers clear it manually? - Are there platform‑specific differences in how the fallback to the locally bundled JS accesses the Hermes cache directory?
- What is the documented or recommended approach for ensuring that a stale OTA bundle is purged after a fallback, and does the EAS Build pipeline provide a build‑time option to enforce this?