Skip to content

Commit 5a92f48

Browse files
authored
Merge branch 'main' into abhishek-900-patch-1
2 parents f088a26 + 872b084 commit 5a92f48

File tree

15 files changed

+89
-72
lines changed

15 files changed

+89
-72
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
### Fixes
66

7+
- Common: Finalize previous session even when auto session tracking is disabled ([#5154](https://github.com/getsentry/sentry-java/pull/5154))
78
- Android: Add `filterTouchesWhenObscured` to prevent Tapjacking on user feedback dialog ([#5155](https://github.com/getsentry/sentry-java/pull/5155))
9+
- Android: Add proguard rules to prevent error about missing Replay classes ([#5153](https://github.com/getsentry/sentry-java/pull/5153))
810

911
## 8.34.0
1012

sentry-android-core/proguard-rules.pro

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@
8080
##---------------Begin: proguard configuration for sentry-android-replay ----------
8181
-dontwarn io.sentry.android.replay.ReplayIntegration
8282
-dontwarn io.sentry.android.replay.DefaultReplayBreadcrumbConverter
83+
-dontwarn io.sentry.android.replay.util.MaskRenderer
84+
-dontwarn io.sentry.android.replay.util.ViewsKt
85+
-dontwarn io.sentry.android.replay.viewhierarchy.ViewHierarchyNode$Companion
86+
-dontwarn io.sentry.android.replay.viewhierarchy.ViewHierarchyNode
8387
-keepnames class io.sentry.android.replay.ReplayIntegration
8488
##---------------End: proguard configuration for sentry-android-replay ----------
8589

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.sentry.android.core;
22

33
import static io.sentry.Sentry.getCurrentScopes;
4-
import static io.sentry.SentryLevel.DEBUG;
54
import static io.sentry.SentryLevel.INFO;
65
import static io.sentry.SentryLevel.WARNING;
76

@@ -291,13 +290,6 @@ private static void deleteCurrentSessionFile(final @NotNull SentryOptions option
291290
return;
292291
}
293292

294-
if (!options.isEnableAutoSessionTracking()) {
295-
options
296-
.getLogger()
297-
.log(DEBUG, "Session tracking is disabled, bailing from deleting current session file.");
298-
return;
299-
}
300-
301293
final File sessionFile = EnvelopeCache.getCurrentSessionFile(cacheDirPath);
302294
if (!sessionFile.delete()) {
303295
options.getLogger().log(WARNING, "Failed to delete the current session file.");

sentry-android-integration-tests/metrics-test.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,3 @@ startupTimeTest:
1010
runs: 50
1111
diffMin: 0
1212
diffMax: 150
13-
14-
binarySizeTest:
15-
diffMin: 600 KiB
16-
diffMax: 850 KiB

sentry-android-integration-tests/sentry-uitest-android/proguard-rules.pro

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,4 @@
4040
-dontwarn org.mockito.internal.**
4141
-dontwarn org.jetbrains.annotations.**
4242
-dontwarn io.sentry.android.replay.ReplayIntegration
43-
-dontwarn io.sentry.android.replay.util.MaskRenderer
44-
-dontwarn io.sentry.android.replay.util.ViewsKt
45-
-dontwarn io.sentry.android.replay.viewhierarchy.ViewHierarchyNode$Companion
46-
-dontwarn io.sentry.android.replay.viewhierarchy.ViewHierarchyNode
4743
-keep class curtains.** { *; }

sentry-jul/src/test/kotlin/io/sentry/jul/SentryHandlerTest.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import io.sentry.SentryLogLevel
77
import io.sentry.SentryOptions
88
import io.sentry.checkEvent
99
import io.sentry.checkLogs
10+
import io.sentry.logger.ILoggerBatchProcessorFactory
11+
import io.sentry.logger.LoggerBatchProcessor
12+
import io.sentry.test.ImmediateExecutorService
1013
import io.sentry.test.applyTestOptions
1114
import io.sentry.test.initForTest
1215
import io.sentry.transport.ITransport
@@ -45,6 +48,9 @@ class SentryHandlerTest {
4548
val options = SentryOptions()
4649
options.dsn = "http://key@localhost/proj"
4750
options.setTransportFactory { _, _ -> transport }
51+
options.logs.loggerBatchProcessorFactory = ILoggerBatchProcessorFactory { options, client ->
52+
LoggerBatchProcessor(options, client, ImmediateExecutorService())
53+
}
4854
applyTestOptions(options)
4955
contextTags?.forEach { options.addContextTag(it) }
5056
logger = Logger.getLogger("jul.SentryHandlerTest")

sentry-log4j2/src/main/java/io/sentry/log4j2/SentryAppender.java

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -164,25 +164,37 @@ public SentryAppender(
164164

165165
@Override
166166
public void start() {
167+
start(getOptionsConfiguration(null));
168+
}
169+
170+
@NotNull
171+
Sentry.OptionsConfiguration<SentryOptions> getOptionsConfiguration(
172+
final @Nullable Sentry.OptionsConfiguration<SentryOptions> additionalOptionsConfiguration) {
173+
return options -> {
174+
options.setEnableExternalConfiguration(true);
175+
options.setInitPriority(InitPriority.LOWEST);
176+
options.setDsn(dsn);
177+
if (debug != null) {
178+
options.setDebug(debug);
179+
}
180+
options.setSentryClientName(
181+
BuildConfig.SENTRY_LOG4J2_SDK_NAME + "/" + BuildConfig.VERSION_NAME);
182+
options.setSdkVersion(createSdkVersion(options));
183+
if (contextTags != null) {
184+
for (final String contextTag : contextTags) {
185+
options.addContextTag(contextTag);
186+
}
187+
}
188+
Optional.ofNullable(transportFactory).ifPresent(options::setTransportFactory);
189+
if (additionalOptionsConfiguration != null) {
190+
additionalOptionsConfiguration.configure(options);
191+
}
192+
};
193+
}
194+
195+
void start(final @NotNull Sentry.OptionsConfiguration<SentryOptions> optionsConfiguration) {
167196
try {
168-
Sentry.init(
169-
options -> {
170-
options.setEnableExternalConfiguration(true);
171-
options.setInitPriority(InitPriority.LOWEST);
172-
options.setDsn(dsn);
173-
if (debug != null) {
174-
options.setDebug(debug);
175-
}
176-
options.setSentryClientName(
177-
BuildConfig.SENTRY_LOG4J2_SDK_NAME + "/" + BuildConfig.VERSION_NAME);
178-
options.setSdkVersion(createSdkVersion(options));
179-
if (contextTags != null) {
180-
for (final String contextTag : contextTags) {
181-
options.addContextTag(contextTag);
182-
}
183-
}
184-
Optional.ofNullable(transportFactory).ifPresent(options::setTransportFactory);
185-
});
197+
Sentry.init(optionsConfiguration);
186198
} catch (IllegalArgumentException e) {
187199
final @Nullable String errorMessage = e.getMessage();
188200
if (errorMessage == null || !errorMessage.startsWith("DSN is required.")) {
@@ -235,14 +247,13 @@ protected void captureLog(@NotNull LogEvent loggingEvent) {
235247
}
236248

237249
final @NotNull Map<String, String> contextData = loggingEvent.getContextData().toMap();
238-
final @NotNull List<String> contextTags =
239-
ScopesAdapter.getInstance().getOptions().getContextTags();
250+
final @NotNull List<String> contextTags = scopes.getOptions().getContextTags();
240251
LoggerPropertiesUtil.applyPropertiesToAttributes(attributes, contextTags, contextData);
241252

242253
final @NotNull SentryLogParameters params = SentryLogParameters.create(attributes);
243254
params.setOrigin("auto.log.log4j2");
244255

245-
Sentry.logger().log(sentryLevel, params, formattedMessage, arguments);
256+
scopes.logger().log(sentryLevel, params, formattedMessage, arguments);
246257
}
247258

248259
/**

sentry-log4j2/src/test/kotlin/io/sentry/log4j2/SentryAppenderTest.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ import io.sentry.SentryLevel
88
import io.sentry.SentryLogLevel
99
import io.sentry.checkEvent
1010
import io.sentry.checkLogs
11+
import io.sentry.logger.ILoggerBatchProcessorFactory
12+
import io.sentry.logger.LoggerBatchProcessor
13+
import io.sentry.test.ImmediateExecutorService
1114
import io.sentry.test.initForTest
1215
import io.sentry.transport.ITransport
1316
import java.time.Instant
@@ -93,7 +96,14 @@ class SentryAppenderTest {
9396

9497
loggerContext.updateLoggers(config)
9598

96-
appender.start()
99+
appender.start(
100+
appender.getOptionsConfiguration { options ->
101+
options.logs.loggerBatchProcessorFactory =
102+
ILoggerBatchProcessorFactory { options, client ->
103+
LoggerBatchProcessor(options, client, ImmediateExecutorService())
104+
}
105+
}
106+
)
97107
loggerContext.start()
98108

99109
return LogManager.getContext().getLogger(SentryAppenderTest::class.java.name)

sentry-logback/src/test/kotlin/io/sentry/logback/SentryAppenderTest.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ import io.sentry.SentryLogLevel
1818
import io.sentry.SentryOptions
1919
import io.sentry.checkEvent
2020
import io.sentry.checkLogs
21+
import io.sentry.logger.ILoggerBatchProcessorFactory
22+
import io.sentry.logger.LoggerBatchProcessor
23+
import io.sentry.test.ImmediateExecutorService
2124
import io.sentry.test.applyTestOptions
2225
import io.sentry.test.initForTest
2326
import io.sentry.transport.ITransport
@@ -69,6 +72,9 @@ class SentryAppenderTest {
6972
options.dsn = dsn
7073
options.isSendDefaultPii = sendDefaultPii
7174
options.logs.isEnabled = enableLogs
75+
options.logs.loggerBatchProcessorFactory = ILoggerBatchProcessorFactory { options, client ->
76+
LoggerBatchProcessor(options, client, ImmediateExecutorService())
77+
}
7278
applyTestOptions(options)
7379
contextTags?.forEach { options.addContextTag(it) }
7480
appender.setOptions(options)

sentry/api/sentry.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5259,6 +5259,7 @@ public class io/sentry/logger/LoggerBatchProcessor : io/sentry/logger/ILoggerBat
52595259
public static final field MAX_QUEUE_SIZE I
52605260
protected final field options Lio/sentry/SentryOptions;
52615261
public fun <init> (Lio/sentry/SentryOptions;Lio/sentry/ISentryClient;)V
5262+
public fun <init> (Lio/sentry/SentryOptions;Lio/sentry/ISentryClient;Lio/sentry/ISentryExecutorService;)V
52625263
public fun add (Lio/sentry/SentryLogEvent;)V
52635264
public fun close (Z)V
52645265
public fun flush (J)V

0 commit comments

Comments
 (0)