From 1695c8ea220ca8752d5d94ce3002f529f5725abb Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Fri, 3 Mar 2023 11:57:21 +0100 Subject: [PATCH] add beforeBreadcrumb calls to options --- .../multiplatform/extensions/SentryOptionsExtensions.kt | 6 ++++++ .../multiplatform/extensions/SentryOptionsExtensions.kt | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/sentry-kotlin-multiplatform/src/commonAppleMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.kt b/sentry-kotlin-multiplatform/src/commonAppleMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.kt index 7ea34b8f..e051dfeb 100644 --- a/sentry-kotlin-multiplatform/src/commonAppleMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.kt +++ b/sentry-kotlin-multiplatform/src/commonAppleMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.kt @@ -29,4 +29,10 @@ internal fun CocoaSentryOptions.applyCocoaBaseOptions(options: SentryOptions) { this.beforeSend = { event -> dropKotlinCrashEvent(event as NSExceptionSentryEvent?) as SentryEvent? } + this.beforeBreadcrumb = { cocoaBreadcrumb -> + cocoaBreadcrumb + ?.toKmpBreadcrumb() + .apply { this?.let { options.beforeBreadcrumb?.invoke(it) } } + ?.toCocoaBreadcrumb() + } } diff --git a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.kt b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.kt index 210fbf47..69972757 100644 --- a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.kt +++ b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.kt @@ -21,4 +21,10 @@ internal fun JvmSentryOptions.applyJvmBaseOptions(options: SentryOptions) { this.isDebug = options.debug this.sessionTrackingIntervalMillis = options.sessionTrackingIntervalMillis this.isEnableAutoSessionTracking = options.enableAutoSessionTracking + this.setBeforeBreadcrumb { jvmBreadcrumb, _ -> + jvmBreadcrumb + .toKmpBreadcrumb() + .apply { options.beforeBreadcrumb?.invoke(this) } + .toJvmBreadcrumb() + } }