diff --git a/app/src/main/java/com/infomaniak/mail/MainApplication.kt b/app/src/main/java/com/infomaniak/mail/MainApplication.kt index 0bc8783841..a4ac7e3f47 100644 --- a/app/src/main/java/com/infomaniak/mail/MainApplication.kt +++ b/app/src/main/java/com/infomaniak/mail/MainApplication.kt @@ -167,8 +167,14 @@ open class MainApplication : Application(), ImageLoaderFactory, DefaultLifecycle SentryAndroid.init(this) { options: SentryAndroidOptions -> // Register the callback as an option options.beforeSend = SentryOptions.BeforeSendCallback { event: SentryEvent, _: Any? -> - // If the application is in debug mode, discard the events - if (!BuildConfig.DEBUG && localSettings.isSentryTrackingEnabled) event else null + val isNetworkException = event.exceptions?.any { it.type == "ApiController\$NetworkException" } ?: false + /** + * Reasons to discard Sentry events : + * - Application is in Debug mode + * - User deactivated Sentry tracking in DataManagement settings + * - The exception was a NetworkException, and we don't want to send them to Sentry + */ + if (!BuildConfig.DEBUG && localSettings.isSentryTrackingEnabled && !isNetworkException) event else null } options.addIntegration( FragmentLifecycleIntegration(