To fix a source map matching bug on Android when using EAS Build, and improve support for EAS Update by exposing the codeBundleId config option
Design
app.versionCode (Android) and app.bundleVersion (iOS) metadata has been added to both events and sessions for standalone apps using Application.nativeBuildVersion from expo-application.
This fixes a source map matching bug for EAS Build on Android which occurs because the native build specifies versionCode on the source map upload. For consistency, automatic source map uploads on iOS have also been updated to specify a bundleVersion.
This also fixes a bug which means that the existing nativeVersionCode and nativeBundleVersion metadata is not set when using EAS Build due to Constants.appOwnership now returning null for standalone apps. These metadata properties will be removed in the next major version of the notifier.
codeBundleId is now available as a configuration option in order to improve support for matching source maps when using EAS Update. This allows developers to use updateGroup ID provided by EAS Update to configure a codeBundleId both in the notifier config and for manual source map uploads.
Changeset
app.VersionCode and app.bundleVersion added to sessions and events for standalone Android and iOS apps respectively
EAS sourcemap plugin now sets --app-bundle-version parameter for iOS uploads using the CFBundleVersion value from Info.plist
codeBundleId config option added to notifier
Removed code for automatically setting codeBundleId based on revisionId as this is no longer provided in EAS Update
Testing
Unit tests have been updated to check versionCode and bundleVersion in sessions and events, and new unit tests have been added for codeBundleId config.
e2e tests updated to check versionCode and bundleVersion on Android and iOS respectively
Manual testing:
Manually tested that versionCode and bundleVersion is set for standalone apps only, and that automatic source map uploads are correctly matched to events on both Android and iOS
manually tested that codeBundleId config option can be used to match manual sourcemap uploads to events from EAS Updates
Goal
To fix a source map matching bug on Android when using EAS Build, and improve support for EAS Update by exposing the
codeBundleId
config optionDesign
app.versionCode
(Android) andapp.bundleVersion
(iOS) metadata has been added to both events and sessions for standalone apps usingApplication.nativeBuildVersion
fromexpo-application
.This fixes a source map matching bug for EAS Build on Android which occurs because the native build specifies
versionCode
on the source map upload. For consistency, automatic source map uploads on iOS have also been updated to specify abundleVersion
.This also fixes a bug which means that the existing
nativeVersionCode
andnativeBundleVersion
metadata is not set when using EAS Build due toConstants.appOwnership
now returning null for standalone apps. These metadata properties will be removed in the next major version of the notifier.codeBundleId
is now available as a configuration option in order to improve support for matching source maps when using EAS Update. This allows developers to useupdateGroup
ID provided by EAS Update to configure acodeBundleId
both in the notifier config and for manual source map uploads.Changeset
app.VersionCode
andapp.bundleVersion
added to sessions and events for standalone Android and iOS apps respectively--app-bundle-version
parameter for iOS uploads using theCFBundleVersion
value fromInfo.plist
codeBundleId
config option added to notifiercodeBundleId
based onrevisionId
as this is no longer provided in EAS UpdateTesting
versionCode
andbundleVersion
in sessions and events, and new unit tests have been added forcodeBundleId
config.versionCode
andbundleVersion
on Android and iOS respectivelyversionCode
andbundleVersion
is set for standalone apps only, and that automatic source map uploads are correctly matched to events on both Android and iOScodeBundleId
config option can be used to match manual sourcemap uploads to events from EAS Updates