From a0fe83b931de0572011e83bfccd0edbf3dfbc981 Mon Sep 17 00:00:00 2001 From: Bruno Garcia Date: Fri, 10 Sep 2021 19:23:08 -0400 Subject: [PATCH 1/3] fix: allow setting release to null --- .../SentryXamarinOptionsExtensions.cs | 5 ++--- Src/Sentry.Xamarin/SentryXamarin.cs | 20 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/Src/Sentry.Xamarin/Extensions/SentryXamarinOptionsExtensions.cs b/Src/Sentry.Xamarin/Extensions/SentryXamarinOptionsExtensions.cs index 795bdd2..c8b3e29 100644 --- a/Src/Sentry.Xamarin/Extensions/SentryXamarinOptionsExtensions.cs +++ b/Src/Sentry.Xamarin/Extensions/SentryXamarinOptionsExtensions.cs @@ -40,15 +40,14 @@ public static void DisableOfflineCaching(this SentryXamarinOptions options) options.InternalCacheEnabled = false; } - internal static string DefaultCacheDirectoyPath(this SentryXamarinOptions _) + internal static string DefaultCacheDirectoryPath(this SentryXamarinOptions _) => _internalCacheDefaultPath.Value; internal static void ConfigureSentryXamarinOptions(this SentryXamarinOptions options) { - options.Release ??= $"{AppInfo.PackageName}@{AppInfo.VersionString}+{AppInfo.BuildString}"; if (options.InternalCacheEnabled) { - options.CacheDirectoryPath ??= options.DefaultCacheDirectoyPath(); + options.CacheDirectoryPath ??= options.DefaultCacheDirectoryPath(); } } diff --git a/Src/Sentry.Xamarin/SentryXamarin.cs b/Src/Sentry.Xamarin/SentryXamarin.cs index 0ea4a7f..c2e0f28 100644 --- a/Src/Sentry.Xamarin/SentryXamarin.cs +++ b/Src/Sentry.Xamarin/SentryXamarin.cs @@ -1,4 +1,5 @@ using System; +using Xamarin.Essentials; namespace Sentry { @@ -21,7 +22,18 @@ public static class SentryXamarin public static void Init(Action configureOptions) { var options = new SentryXamarinOptions(); + // Set the release now but give the user a chance to reset it (i.e: to null to rely on the built-in format) + options.Release = $"{AppInfo.PackageName}@{AppInfo.VersionString}+{AppInfo.BuildString}"; + configureOptions?.Invoke(options); + + options.ConfigureSentryXamarinOptions(); + options.RegisterNativeActivityStatus(); + options.RegisterNativeIntegrations(); + options.RegisterXamarinEventProcessors(); + options.RegisterXamarinInAppExclude(); + options.ProtocolPackageName ??= ProtocolPackageName; + Init(options); } @@ -31,14 +43,6 @@ public static void Init(Action configureOptions) /// The options instance public static void Init(SentryXamarinOptions options) { - options ??= new SentryXamarinOptions(); - - options.ConfigureSentryXamarinOptions(); - options.RegisterNativeActivityStatus(); - options.RegisterNativeIntegrations(); - options.RegisterXamarinEventProcessors(); - options.RegisterXamarinInAppExclude(); - options.ProtocolPackageName ??= ProtocolPackageName; SentrySdk.Init(options); options.RegisterScreenshotEventProcessor(); From 23242139a5e0a834df53651eeea800ee638f6539 Mon Sep 17 00:00:00 2001 From: Bruno Garcia Date: Fri, 10 Sep 2021 19:24:44 -0400 Subject: [PATCH 2/3] changelo --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28ff1c8..d423e70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Fixes - screenshot extension ([#81](https://github.com/getsentry/sentry-xamarin/pull/81)) +- allow setting release to null to rely on the dotnet SDK release detection ([#84](https://github.com/getsentry/sentry-xamarin/pull/84)) ## 1.3.0 From a500a3a656c78b986fe1d3b5ef1d1746f614f4eb Mon Sep 17 00:00:00 2001 From: Bruno Garcia Date: Fri, 10 Sep 2021 19:49:09 -0400 Subject: [PATCH 3/3] fix typo --- .../Extensions/SentryXamarinOptionsExtensionsTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Sentry.Xamarin.Forms.UWP.Tests/Extensions/SentryXamarinOptionsExtensionsTests.cs b/Tests/Sentry.Xamarin.Forms.UWP.Tests/Extensions/SentryXamarinOptionsExtensionsTests.cs index 8500c54..a013a38 100644 --- a/Tests/Sentry.Xamarin.Forms.UWP.Tests/Extensions/SentryXamarinOptionsExtensionsTests.cs +++ b/Tests/Sentry.Xamarin.Forms.UWP.Tests/Extensions/SentryXamarinOptionsExtensionsTests.cs @@ -58,7 +58,7 @@ public void ConfigureSentryOptions_DefaultCachePathEnabledAndCacheDirectoryPathN { CacheDirectoryPath = null }; - var expectedPath = options.DefaultCacheDirectoyPath(); + var expectedPath = options.DefaultCacheDirectoryPath(); //Act options.ConfigureSentryXamarinOptions();