diff --git a/android/src/main/java/io/sentry/RNSentryModule.java b/android/src/main/java/io/sentry/RNSentryModule.java index fa2ce8b3b6..d153e99814 100644 --- a/android/src/main/java/io/sentry/RNSentryModule.java +++ b/android/src/main/java/io/sentry/RNSentryModule.java @@ -259,7 +259,7 @@ public void captureEvent(ReadableMap event) { ReadableNativeMap exception = exceptionValues.getMap(0); ReadableNativeMap stacktrace = exception.getMap("stacktrace"); if (exception.hasKey("value")) { - addExceptionInterface(eventBuilder, exception.getString("type"), exception.getString("value"), stacktrace.getArray("frames")); + addExceptionInterface(eventBuilder, exception.getString("type"), exception.getString("value"), (ReadableNativeArray) stacktrace.getArray("frames")); } else { // We use type/type here since this indicates an Unhandled Promise Rejection // https://github.com/getsentry/react-native-sentry/issues/353 diff --git a/lib/Sentry.js b/lib/Sentry.js index a72aeae0ea..6d4fba85e4 100644 --- a/lib/Sentry.js +++ b/lib/Sentry.js @@ -21,7 +21,7 @@ export const SentryLog = { }; export const Sentry = { - install() { + async install() { // We have to first setup raven otherwise react-native will freeze the options // and some properties like ignoreErrors can not be mutated by raven-js Sentry._ravenClient = new RavenClient(Sentry._dsn, Sentry.options); @@ -31,6 +31,7 @@ export const Sentry = { Sentry.options.disableNativeIntegration === false ) { Sentry._nativeClient = new NativeClient(Sentry._dsn, Sentry.options); + await Sentry._nativeClient.customInit(); Sentry.eventEmitter = new NativeEventEmitter(RNSentryEventEmitter); Sentry.eventEmitter.addListener( RNSentryEventEmitter.EVENT_SENT_SUCCESSFULLY,