Skip to content

Commit cbececc

Browse files
authored
Merge branch 'main' into feat/update-otel-sample-readme
2 parents c7e9000 + 1eb21a0 commit cbececc

File tree

14 files changed

+269
-336
lines changed

14 files changed

+269
-336
lines changed

.craft.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,15 @@ targets:
4343
maven:io.sentry:sentry-openfeign:
4444
maven:io.sentry:sentry-opentelemetry-agent:
4545
maven:io.sentry:sentry-opentelemetry-agentcustomization:
46+
maven:io.sentry:sentry-opentelemetry-agentless:
47+
maven:io.sentry:sentry-opentelemetry-agentless-spring:
48+
maven:io.sentry:sentry-opentelemetry-bootstrap:
4649
maven:io.sentry:sentry-opentelemetry-core:
47-
# maven:io.sentry:sentry-opentelemetry-agentless:
48-
# maven:io.sentry:sentry-opentelemetry-agentless-spring:
4950
maven:io.sentry:sentry-apollo:
5051
maven:io.sentry:sentry-jdbc:
5152
maven:io.sentry:sentry-graphql:
52-
# maven:io.sentry:sentry-graphql-core:
53-
# maven:io.sentry:sentry-graphql-22:
53+
maven:io.sentry:sentry-graphql-22:
54+
maven:io.sentry:sentry-graphql-core:
5455
maven:io.sentry:sentry-quartz:
5556
maven:io.sentry:sentry-okhttp:
5657
maven:io.sentry:sentry-android-navigation:

CHANGELOG.md

Lines changed: 198 additions & 311 deletions
Large diffs are not rendered by default.

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ android.useAndroidX=true
1313
android.defaults.buildfeatures.buildconfig=true
1414

1515
# Release information
16-
versionName=8.0.0-rc.4
16+
versionName=8.0.0
1717

1818
# Override the SDK name on native crashes on Android
1919
sentryAndroidSdkName=sentry.native.android

sentry-android-core/src/main/java/io/sentry/android/core/AnrV2EventProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ private void mergeUser(final @NotNull SentryBaseEvent event) {
580580
if (user.getId() == null) {
581581
user.setId(getDeviceId());
582582
}
583-
if (user.getIpAddress() == null) {
583+
if (user.getIpAddress() == null && options.isSendDefaultPii()) {
584584
user.setIpAddress(IpAddressUtils.DEFAULT_IP_ADDRESS);
585585
}
586586
}

sentry-android-core/src/main/java/io/sentry/android/core/DefaultAndroidEventProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ private void mergeUser(final @NotNull SentryBaseEvent event) {
156156
if (user.getId() == null) {
157157
user.setId(Installation.id(context));
158158
}
159-
if (user.getIpAddress() == null) {
159+
if (user.getIpAddress() == null && options.isSendDefaultPii()) {
160160
user.setIpAddress(IpAddressUtils.DEFAULT_IP_ADDRESS);
161161
}
162162
}

sentry-android-core/src/test/java/io/sentry/android/core/AnrV2EventProcessorTest.kt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,20 @@ class AnrV2EventProcessorTest {
8585
lateinit var context: Context
8686
val options = SentryAndroidOptions().apply {
8787
setLogger(NoOpLogger.getInstance())
88-
isSendDefaultPii = true
8988
}
9089

9190
fun getSut(
9291
dir: TemporaryFolder,
9392
currentSdk: Int = Build.VERSION_CODES.LOLLIPOP,
9493
populateScopeCache: Boolean = false,
9594
populateOptionsCache: Boolean = false,
96-
replayErrorSampleRate: Double? = null
95+
replayErrorSampleRate: Double? = null,
96+
isSendDefaultPii: Boolean = true
9797
): AnrV2EventProcessor {
9898
options.cacheDirPath = dir.newFolder().absolutePath
9999
options.environment = "release"
100+
options.isSendDefaultPii = isSendDefaultPii
101+
100102
whenever(buildInfo.sdkInfoVersion).thenReturn(currentSdk)
101103
whenever(buildInfo.isEmulator).thenReturn(true)
102104

@@ -278,6 +280,7 @@ class AnrV2EventProcessorTest {
278280
// user
279281
assertEquals("bot", processed.user!!.username)
280282
assertEquals("bot@me.com", processed.user!!.id)
283+
assertEquals("{{auto}}", processed.user!!.ipAddress)
281284
// trace
282285
assertEquals("ui.load", processed.contexts.trace!!.operation)
283286
// tags
@@ -304,6 +307,13 @@ class AnrV2EventProcessorTest {
304307
assertEquals("Google Chrome", processed.contexts.browser!!.name)
305308
}
306309

310+
@Test
311+
fun `when backfillable event is enrichable, does not backfill user ip`() {
312+
val hint = HintUtils.createWithTypeCheckHint(BackfillableHint())
313+
val processed = processEvent(hint, isSendDefaultPii = false, populateScopeCache = true)
314+
assertNull(processed.user!!.ipAddress)
315+
}
316+
307317
@Test
308318
fun `when backfillable event is enrichable, backfills serialized options data`() {
309319
val hint = HintUtils.createWithTypeCheckHint(BackfillableHint())
@@ -617,14 +627,16 @@ class AnrV2EventProcessorTest {
617627
hint: Hint,
618628
populateScopeCache: Boolean = false,
619629
populateOptionsCache: Boolean = false,
630+
isSendDefaultPii: Boolean = true,
620631
configureEvent: SentryEvent.() -> Unit = {}
621632
): SentryEvent {
622633
val original = SentryEvent().apply(configureEvent)
623634

624635
val processor = fixture.getSut(
625636
tmpDir,
626637
populateScopeCache = populateScopeCache,
627-
populateOptionsCache = populateOptionsCache
638+
populateOptionsCache = populateOptionsCache,
639+
isSendDefaultPii = isSendDefaultPii
628640
)
629641
return processor.process(original, hint)!!
630642
}

sentry-android-core/src/test/java/io/sentry/android/core/DefaultAndroidEventProcessorTest.kt

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,11 @@ class DefaultAndroidEventProcessorTest {
6666

6767
lateinit var sentryTracer: SentryTracer
6868

69-
fun getSut(context: Context): DefaultAndroidEventProcessor {
69+
fun getSut(
70+
context: Context,
71+
isSendDefaultPii: Boolean = false
72+
): DefaultAndroidEventProcessor {
73+
options.isSendDefaultPii = isSendDefaultPii
7074
whenever(scopes.options).thenReturn(options)
7175
sentryTracer = SentryTracer(TransactionContext("", ""), scopes)
7276
return DefaultAndroidEventProcessor(context, buildInfo, options)
@@ -284,8 +288,20 @@ class DefaultAndroidEventProcessorTest {
284288
}
285289

286290
@Test
287-
fun `when event user data does not have ip address set, sets {{auto}} as the ip address`() {
288-
val sut = fixture.getSut(context)
291+
fun `when event user data does not have ip address set, sets no ip address if sendDefaultPii is false`() {
292+
val sut = fixture.getSut(context, isSendDefaultPii = false)
293+
val event = SentryEvent().apply {
294+
user = User()
295+
}
296+
sut.process(event, Hint())
297+
assertNotNull(event.user) {
298+
assertNull(it.ipAddress)
299+
}
300+
}
301+
302+
@Test
303+
fun `when event user data does not have ip address set, sets {{auto}} if sendDefaultPii is true`() {
304+
val sut = fixture.getSut(context, isSendDefaultPii = true)
289305
val event = SentryEvent().apply {
290306
user = User()
291307
}

sentry-android-ndk/src/main/java/io/sentry/android/ndk/SentryNdk.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ private SentryNdk() {}
2222
try {
2323
//noinspection UnstableApiUsage
2424
io.sentry.ndk.SentryNdk.loadNativeLibraries();
25+
} catch (Throwable t) {
26+
// ignored
27+
// if loadLibrary() fails, the later init() will throw an exception anyway
2528
} finally {
2629
loadLibraryLatch.countDown();
2730
}

sentry/api/sentry.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2484,6 +2484,7 @@ public final class io/sentry/SentryBaseEvent$Serializer {
24842484
}
24852485

24862486
public final class io/sentry/SentryClient : io/sentry/ISentryClient {
2487+
public fun <init> (Lio/sentry/SentryOptions;)V
24872488
public fun captureCheckIn (Lio/sentry/CheckIn;Lio/sentry/IScope;Lio/sentry/Hint;)Lio/sentry/protocol/SentryId;
24882489
public fun captureEnvelope (Lio/sentry/SentryEnvelope;Lio/sentry/Hint;)Lio/sentry/protocol/SentryId;
24892490
public fun captureEvent (Lio/sentry/SentryEvent;Lio/sentry/IScope;Lio/sentry/Hint;)Lio/sentry/protocol/SentryId;

sentry/src/main/java/io/sentry/MainEventProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ private void mergeUser(final @NotNull SentryBaseEvent event) {
248248
user = new User();
249249
event.setUser(user);
250250
}
251-
if (user.getIpAddress() == null) {
251+
if (user.getIpAddress() == null && options.isSendDefaultPii()) {
252252
user.setIpAddress(IpAddressUtils.DEFAULT_IP_ADDRESS);
253253
}
254254
}

0 commit comments

Comments
 (0)