Description
What React Native libraries do you use?
Hermes, React Navigation, Expo (mobile only) with Bare workflow
Are you using sentry.io or on-premise?
sentry.io (SaS)
@sentry/react-native SDK Version
5.33.0
How does your development environment look like?
JS stacktrace shows "Unminify code" (See screenshot below)
System:
OS: macOS 15.1.1
CPU: (10) arm64 Apple M1 Max
Memory: 185.14 MB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.13.0
path: ~/.nvm/versions/node/v18.13.0/bin/node
Yarn:
version: 1.18.0
path: ~/.yarn/bin/yarn
npm:
version: 8.19.3
path: ~/.nvm/versions/node/v18.13.0/bin/npm
Watchman:
version: 2024.10.21.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.14.3
path: /Users/jshah/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.0
- iOS 18.0
- macOS 15.0
- tvOS 18.0
- visionOS 2.0
- watchOS 11.0
Android SDK: Not Found
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.10811636
Xcode:
version: 16.0/16A242d
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.12
path: /usr/bin/javac
Ruby:
version: 3.3.0
path: /Users/jshah/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.73.9
wanted: 0.73.9
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
Sentry.init()
Sentry.init({
dsn: SENTRY_DSN,
environment: ENVIRONMENT,
release: `${appJson.expo.version}-${appJson.expo.jsVersion}`,
dist: `${appJson.expo.versionCode}`,
beforeSend: sentryFilter,
enableTracing: false,
attachStacktrace: true,
enableWatchdogTerminationTracking: true,
enableAutoPerformanceTracing: false,
integrations: [new ExecutionNamespaceIntegration()],
});
Steps to Reproduce
- We use Bare workflow with Expo core sdk.
- Build and release iOS app
I have "Bundle React Native Code and images" with following code (updated with sentry wizard codegen):
if [ "$CI" != true ]; then
~/.nvm/nvm.sh
fi
if [[ -f "$PODS_ROOT/../.xcode.env" ]]; then
source "$PODS_ROOT/../.xcode.env"
fi
if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
source "$PODS_ROOT/../.xcode.env.local"
fi
# The project root by default is one level up from the ios directory
export PROJECT_ROOT="$PROJECT_DIR"/..
if [[ "$CONFIGURATION" = *Debug* ]]; then
export SKIP_BUNDLING=1
fi
if [[ -z "$ENTRY_FILE" ]]; then
# Set the entry JS file using the bundler's entry resolution.
export ENTRY_FILE="$("$NODE_BINARY" -e "require('expo/scripts/resolveAppEntry')" "$PROJECT_ROOT" ios relative | tail -n 1)"
fi
if [[ -z "$CLI_PATH" ]]; then
# Use Expo CLI
export CLI_PATH="$("$NODE_BINARY" --print "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })")"
fi
if [[ -z "$BUNDLE_COMMAND" ]]; then
# Default Expo CLI command for bundling
export BUNDLE_COMMAND="export:embed"
fi
# Source .xcode.env.updates if it exists to allow
# SKIP_BUNDLING to be unset if needed
if [[ -f "$PODS_ROOT/../.xcode.env.updates" ]]; then
source "$PODS_ROOT/../.xcode.env.updates"
fi
# Source local changes to allow overrides
# if needed
if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
source "$PODS_ROOT/../.xcode.env.local"
fi
# Uncomment folowing line to run expo-updates with debug build
#sed -i '' 's/SKIP_BUNDLING/FORCE_BUNDLING/g;' ios/<project name>.xcodeproj/project.pbxproj
export NODE_ARGS="--max-old-space-size=8192"
/bin/sh `"$NODE_BINARY" --print "require('path').dirname(require.resolve('@sentry/react-native/package.json')) + '/scripts/sentry-xcode.sh'"` `"$NODE_BINARY" --print "require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'"`
Expected Result
Should work as expected.
I believe the sourcemaps might not have been uploaded, can we make these steps have more verbose logging to debug quicker?
Actual Result
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status