From 867cfbe7f88a4e423364f627bb67064503bf11b0 Mon Sep 17 00:00:00 2001 From: lcian Date: Thu, 30 Jan 2025 11:03:14 +0100 Subject: [PATCH 1/2] Add support for `ignoredErrors` option in Manifest --- .../android/core/ManifestMetadataReader.java | 4 ++++ .../android/core/ManifestMetadataReaderTest.kt | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java index 1bad4091259..219bb47991e 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java @@ -106,6 +106,8 @@ final class ManifestMetadataReader { static final String MAX_BREADCRUMBS = "io.sentry.max-breadcrumbs"; + static final String IGNORED_ERRORS = "io.sentry.ignored-errors"; + /** ManifestMetadataReader ctor */ private ManifestMetadataReader() {} @@ -401,6 +403,8 @@ static void applyMetadata( options .getSessionReplay() .setMaskAllImages(readBool(metadata, logger, REPLAYS_MASK_ALL_IMAGES, true)); + + options.setIgnoredErrors(readList(metadata, logger, IGNORED_ERRORS)); } options diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt index fd71fa08a85..67046f8f6bc 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt @@ -4,6 +4,7 @@ import android.content.Context import android.os.Bundle import androidx.core.os.bundleOf import androidx.test.ext.junit.runners.AndroidJUnit4 +import io.sentry.FilterString import io.sentry.ILogger import io.sentry.SentryLevel import io.sentry.SentryReplayOptions @@ -1427,4 +1428,17 @@ class ManifestMetadataReaderTest { // Assert assertEquals(100, fixture.options.maxBreadcrumbs) } + + @Test + fun `applyMetadata reads ignoredErrors to options and sets the value if found`() { + // Arrange + val bundle = bundleOf(ManifestMetadataReader.IGNORED_ERRORS to "Some error,Another .*") + val context = fixture.getContext(metaData = bundle) + + // Act + ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider) + + // Assert + assertEquals(listOf(FilterString("Some error"), FilterString("Another .*")), fixture.options.ignoredErrors) + } } From 8e81c05fc912f308caa61d17e9df0cf7dfadda28 Mon Sep 17 00:00:00 2001 From: lcian Date: Tue, 18 Feb 2025 14:40:31 +0100 Subject: [PATCH 2/2] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 157f9b5cbc5..81cbcc5f18c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Features + +- The `ignoredErrors` option is now configurable via the manifest property `io.sentry.traces.ignored-errors` ([#4178](https://github.com/getsentry/sentry-java/pull/4178)) + ### Fixes - `SentryOptions.setTracePropagationTargets` is no longer marked internal ([#4170](https://github.com/getsentry/sentry-java/pull/4170))