
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
expo-error-recovery
Advanced tools
Utilities for helping you gracefully handle crashes due to fatal JavaScript errors.
Deprecated. This module will be removed in SDK 47. This package is not utilized in projects built outside of the deprecated classic build system (
expo build:ios&expo build:android). For similar functionality, use the built-in error handling ofexpo-updates. You can also use a third-party crash reporting service like Sentry or Bugsnag with EAS Build.
expo-error-recovery helps you gracefully handle crashes caused by fatal JavaScript errors.
For managed Expo projects, please follow the installation instructions in the API documentation for the latest stable release.
For bare React Native projects, you must ensure that you have installed and configured the expo package before continuing.
npm install expo-error-recovery
Run npx pod-install after installing the npm package.
No additional set up necessary.
Contributions are very welcome! Please refer to guidelines described in the contributing guide.
54.0.0 — 2025-09-10
expo-sqlite
expo-camera
expo-notifications
expo-media-library
expo-intent-launcher
expo-image-picker
uri to use blob URLs instead of base64 data URLs for better performance. The uri property will now be a blob URL instead of a base64 data URL, while the base64 property behavior remains unchanged. (#37447 by @hirbod)preferredAssetRepresentationMode is now .current instead of .automatic. This keeps the asset in its original container/codec (e.g. HEIC instead of JPEG) and is required for the new fast-path. Apps that relied on .automatic re-encoded output can pass preferredAssetRepresentationMode: '.automatic' to restore the old behaviour. (#37569 by @hirbod)expo-font
expo-file-system
expo-document-picker
unimodules-app-loader
expo-web-browser
expo-video-thumbnails
expo-task-manager
expo-sqlite
loadExtensionAsync / loadExtensionSync APIs and pre-bundled sqlite-vec extension. (#38693 by @kudo)expo-sqlite/localStorage/install for localStorage drop-in replacement API. (#38699 by @kudo)expo-speech
expo-screen-capture
useScreenshotListener hook. (#37411 by @hryhoriiK97)expo-modules-core
rgb color conversions. (#36914 by @alanjhughes)testID support to ExpoComposeView. (#38005 by @mateoguzmana)ValueOrUndefined. (#38620 by @lukmccall)ValueOrUndefined. (#39116 by @lukmccall)disableForceFlatten prop to control flattening of display contents views. (#39262 by @nishan) (#39262 by @intergalacticspacehighway)appContext.jsLogger. (#39159 by @behenate)expo-media-library
expo-localization
supportedLocales option to set app language from settings (#37232 by @alextoudic)expo-local-authentication
promptSubtitle and promptDescription parameters to authenticateAsync. (#35335 by @filipejuan)expo-image-manipulator
expo-intent-launcher
expo-image-picker
shape option to customize the shape of the crop zone (#38148) by @janicduplessis (#38148 by @janicduplessis)expo-font
expo-image-loader
expo-file-system
rename method for files and directories (#39138 by @kosmydel)idempotent option for creating directories (#39121 by @kosmydel)pickFileAsync support (#39173 by @kosmydel)pickDirectoryAsync support (#39210 by @kosmydel)expo-document-picker
expo-contacts
addContactsChangeListener() to detect contact changes with platform-specific behavior. . (#39434 by @hryhoriiK97)expo-calendar
expo-camera
expo-auth-session
rawResponse to TokenResponse, allows reading fields that are not part of RFC 6749. (#20284 by @stefan-schweiger)expo-asset
expo-task-manager
expo-sqlite
Statement.executeAsync. (#36674 by @kudo)SQLiteProvider with same options. (#37872 by @kudo):memory: path issue when building on Xcode 26. (#39511 by @kudo)expo-speech
expo-secure-store
expo-screen-orientation
Split View on iPad. (#36667 by @alanjhughes)createRootViewController from the ExpoReactNativeFactoryDelegate. (#36787 by @alanjhughes)expo-screen-capture
expo-print
expo-notifications
getLastNotificationResponseAsync does not return null when no response listener added (#36930 by @jmysliv)expo-notifications (#37833 by @chrfalch)setBadgeCountAsync(0) also cleared notifications (#39009 by @vonovak)TextInputNotificationResponse events (#39356 by @vonovak)setNotificationCategoryAsync (#39306 by @vonovak)expo-modules-core
extraMavenRepos not applied on Gradle subprojects. (#36500 by @lukmccall)getSharedObjectId for devices running android 7 and below. (#36698 by @lukmccall)XMLHttpRequest when network inspector is enabled. (#36715 by @kudo)createRootViewController from the ExpoReactNativeFactoryDelegate. (#36787 by @alanjhughes)Value is undefined, expected an Object in the JNIUtils::emitEventOnJSIObject. (#37778 by @lukmccall)ExpoRequestInterceptorProtocol to properly notify client about HTTP redirects. (#38078 by @kudo)RuntimeHolder bindings. (#38345 by @alanjhughes)SharedRef converter. (#39446 by @lukmccall)JNI detected error in application: obj == null in ExpoModulesHostObject::get. (#39523 by @lukmccall)expo-media-library
deleteAssetsAsync not working on android 11 or above (#33211 by @Zeeshan404)expo-location
shouldUseForegroundService being always true. (#35875 by @filipef101)expo-linking
createURL double-encodes URI parameters. (#36704 by @lukmccall)expo-mail-composer
expo-image-manipulator
expo-image-picker
expo-font
getLoadedFonts returns an empty array. (#36586 by @brentvatne)expo-gl
expo-file-system
UploadTask.uploadAsync method's return type did not indicate that the method could resolve to null. (#36476 by @DoctorJohn)textSync() to return string instead of Promise<string> (#38898 by @LeonDvlpmnt)expo-document-picker
expo-contacts
Contact.id required for updateContactAsync (#36603 by @NorseGaud)updateContactAsync() removing contact rawDates / birthday (#37054 by @NorseGaudCNContactViewController presentation (#39004 by @vonovak)instantMessageAddresses on iOS (#38985 by @hryhoriiK97)expo-constants
expo-calendar
expo-camera
PictureRef objects.(#37393 by @alanjhughes)launchScanner. (#38322 by @alanjhughes)videoQuality and pictureSize affecting modes they don't apply too. (#38757 by @alanjhughes)onDetachedFromWindow. (#39119 by @alanjhughes)expo-blur
expo-background-fetch
expo-av
expo-auth-session
expo-asset
expo-video-thumbnails
expo-task-manager
expo-sqlite
kv-store. (#36669 by @kudo)maybeFinalizeAllStatements throwing exceptions. (#36843 by @kudo)loadExtensionAsync() and loadExtensionSync(). (#38905 by @kudo)expo-speech
expo-sharing
expo-secure-store
expo-sensors
expo-screen-capture
expo-print
expo-notifications
typescript@5.9 (#38833 by @kitten)expo-modules-core
@expo/ui/swift-ui-primitives integrations. (#36937 by @kudo)ExpoComposeView to support virtual view. (#36255 by @kudo)react and react-native (#38528 by @kitten)Constants in favor of Constant and Property. (#38748 by @jakex7)ExpoGlobal with namespace and to preserve type+value overlay on re-exported core globals (#38649 by @kitten)JavaScriptValue and added props.globalEventDispatcher for expo-ui. (#38542 by @kudo)appContext to ExpoSwiftUI.ViewProps. (#39231 by @kudo)requireOptionalNativeModule will now catch errors which occur while requiring a module. (#39290 by @behenate)Color convertible support without passing AppContext. (#39183 by @aleqsio)FileSystemUtilities (#39210 by @kosmydel)kotlin.reflect.full.*. (#39385 by @lukmccall)expo-media-library
expo-local-authentication
expo-keep-awake
expo-location
expo-linking
useURL in favor of useLinkingURL. (#37005 by @aleqsio)expo-image-manipulator
expo-image-picker
quality: 1, allowsEditing: false and preferredAssetRepresentationMode: .current (new default) (#37569 by @hirbod)VideoExportPreset.Passthrough are no longer transcoded and are copied only once. (#37569 by @hirbod)expo-font
expo-gl
react-dom and react-native-reanimated peer dependencies (#38569 by @kitten)findDOMNode usage. (#38800 by @alanjhughes)expo-file-system
expo-document-picker
expo-device
expo-clipboard
expo-contacts
FileSystemUtilities (#39210 by @kosmydel)expo-cellular
expo-constants
expo-camera
createCamera a suspend function. (#37038 by @alanjhughes)typescript@5.9 (#38833 by @kitten)expo-battery
expo-background-fetch
expo-av
expo-auth-session
expo-asset
expo-application
FAQs
Utilities for helping you gracefully handle crashes due to fatal JavaScript errors.
The npm package expo-error-recovery receives a total of 23,054 weekly downloads. As such, expo-error-recovery popularity was classified as popular.
We found that expo-error-recovery demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 21 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.