File tree Expand file tree Collapse file tree 11 files changed +36
-1
lines changed
sentry-kotlin-multiplatform
androidUnitTest/kotlin/io/sentry/kotlin/multiplatform
appleMain/kotlin/io/sentry/kotlin/multiplatform/extensions
appleTest/kotlin/io/sentry/kotlin/multiplatform
commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions
commonMain/kotlin/io/sentry/kotlin/multiplatform
commonTest/kotlin/io/sentry/kotlin/multiplatform
jvmTest/kotlin/io/sentry/kotlin/multiplatform Expand file tree Collapse file tree 11 files changed +36
-1
lines changed Original file line number Diff line number Diff line change 22
33## Unreleased
44
5+ ### Features
6+
7+ - Add ` sendDefaultPii ` option ([ #377 ] ( https://github.com/getsentry/sentry-kotlin-multiplatform/pull/377 ) )
8+
59### Dependencies
610
711- Bump Java SDK from v8.8.0 to v8.9.0 ([ #375 ] ( https://github.com/getsentry/sentry-kotlin-multiplatform/pull/375 ) )
1317
1418## 0.12.0
1519
16- ### Feature
20+ ### Features
1721
1822- Move replay options out of experimental ([ #367 ] ( https://github.com/getsentry/sentry-kotlin-multiplatform/pull/367 ) )
1923 - You can now access the replay options via ` options.sessionReplay `
Original file line number Diff line number Diff line change @@ -185,6 +185,7 @@ public class io/sentry/kotlin/multiplatform/SentryOptions {
185185 public final fun getRelease ()Ljava/lang/String;
186186 public final fun getSampleRate ()Ljava/lang/Double;
187187 public final fun getSdk ()Lio/sentry/kotlin/multiplatform/protocol/SdkVersion;
188+ public final fun getSendDefaultPii ()Z
188189 public final fun getSessionReplay ()Lio/sentry/kotlin/multiplatform/SentryReplayOptions;
189190 public final fun getSessionTrackingIntervalMillis ()J
190191 public final fun getTracesSampleRate ()Ljava/lang/Double;
@@ -214,6 +215,7 @@ public class io/sentry/kotlin/multiplatform/SentryOptions {
214215 public final fun setRelease (Ljava/lang/String;)V
215216 public final fun setSampleRate (Ljava/lang/Double;)V
216217 public final fun setSdk (Lio/sentry/kotlin/multiplatform/protocol/SdkVersion;)V
218+ public final fun setSendDefaultPii (Z)V
217219 public final fun setSessionReplay (Lio/sentry/kotlin/multiplatform/SentryReplayOptions;)V
218220 public final fun setSessionTrackingIntervalMillis (J)V
219221 public final fun setTracesSampleRate (Ljava/lang/Double;)V
Original file line number Diff line number Diff line change @@ -182,6 +182,7 @@ public class io/sentry/kotlin/multiplatform/SentryOptions {
182182 public final fun getRelease ()Ljava/lang/String;
183183 public final fun getSampleRate ()Ljava/lang/Double;
184184 public final fun getSdk ()Lio/sentry/kotlin/multiplatform/protocol/SdkVersion;
185+ public final fun getSendDefaultPii ()Z
185186 public final fun getSessionReplay ()Lio/sentry/kotlin/multiplatform/SentryReplayOptions;
186187 public final fun getSessionTrackingIntervalMillis ()J
187188 public final fun getTracesSampleRate ()Ljava/lang/Double;
@@ -211,6 +212,7 @@ public class io/sentry/kotlin/multiplatform/SentryOptions {
211212 public final fun setRelease (Ljava/lang/String;)V
212213 public final fun setSampleRate (Ljava/lang/Double;)V
213214 public final fun setSdk (Lio/sentry/kotlin/multiplatform/protocol/SdkVersion;)V
215+ public final fun setSendDefaultPii (Z)V
214216 public final fun setSessionReplay (Lio/sentry/kotlin/multiplatform/SentryReplayOptions;)V
215217 public final fun setSessionTrackingIntervalMillis (J)V
216218 public final fun setTracesSampleRate (Ljava/lang/Double;)V
Original file line number Diff line number Diff line change @@ -73,6 +73,9 @@ class SentryAndroidOptionsWrapper(private val androidOptions: SentryAndroidOptio
7373 override val sessionReplay: AndroidSentryReplayOptions
7474 get() = androidOptions.sessionReplay
7575
76+ override val sendDefaultPii: Boolean
77+ get() = androidOptions.isSendDefaultPii
78+
7679 override fun applyFromOptions (options : SentryOptions ) {
7780 options.toAndroidSentryOptionsCallback().invoke(androidOptions)
7881 }
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ internal fun CocoaSentryOptions.applyCocoaBaseOptions(kmpOptions: SentryOptions)
2323 kmpOptions.environment?.let {
2424 cocoaOptions.environment = it
2525 }
26+ cocoaOptions.sendDefaultPii = kmpOptions.sendDefaultPii
2627 cocoaOptions.releaseName = kmpOptions.release
2728 cocoaOptions.debug = kmpOptions.debug
2829 cocoaOptions.sessionTrackingIntervalMillis = kmpOptions.sessionTrackingIntervalMillis.convert()
Original file line number Diff line number Diff line change @@ -54,6 +54,9 @@ open class SentryAppleOptionsWrapper(private val cocoaOptions: CocoaSentryOption
5454 override val diagnosticLevel: SentryLevel
5555 get() = cocoaOptions.diagnosticLevel.toKmpSentryLevel()!!
5656
57+ override val sendDefaultPii: Boolean
58+ get() = cocoaOptions.sendDefaultPii
59+
5760 override fun applyFromOptions (options : SentryOptions ) {
5861 options.toCocoaOptionsConfiguration().invoke(cocoaOptions)
5962 }
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ internal fun JvmSentryOptions.applyJvmBaseOptions(kmpOptions: SentryOptions) {
2323 jvmOptions.isAttachStacktrace = kmpOptions.attachStackTrace
2424 jvmOptions.dist = kmpOptions.dist
2525 jvmOptions.environment = kmpOptions.environment
26+ jvmOptions.isSendDefaultPii = kmpOptions.sendDefaultPii
2627 jvmOptions.release = kmpOptions.release
2728 jvmOptions.isDebug = kmpOptions.debug
2829 jvmOptions.sessionTrackingIntervalMillis = kmpOptions.sessionTrackingIntervalMillis
Original file line number Diff line number Diff line change @@ -191,6 +191,19 @@ public open class SentryOptions {
191191 */
192192 public var sessionReplay: SentryReplayOptions = SentryReplayOptions ()
193193
194+ /* *
195+ * If this flag is enabled, certain personally identifiable information (PII) is added by active integrations.
196+ * Among other things, enabling this will enable automatic IP address collection on events.
197+ *
198+ * If you enable this option, be sure to manually remove what you don't want to send using
199+ * our features for managing sensitive data.
200+ *
201+ * For further details, refer to the documentation in the respective native SDKs:
202+ * - [Cocoa](https://docs.sentry.io/platforms/apple/data-management/data-collected/)
203+ * - [Android](https://docs.sentry.io/platforms/android/data-management/data-collected/)
204+ */
205+ public var sendDefaultPii: Boolean = false
206+
194207 /* *
195208 * Experimental options for new features, these options are going to be promoted to SentryOptions
196209 * before GA.
Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ interface CommonPlatformOptions {
1414 val maxAttachmentSize: Long
1515 val sampleRate: Double?
1616 val tracesSampleRate: Double?
17+ val sendDefaultPii: Boolean
1718
1819 fun applyFromOptions (options : SentryOptions )
1920}
Original file line number Diff line number Diff line change @@ -133,6 +133,7 @@ class SentryOptionsTest : BaseSentryTest() {
133133 assertTrue(options.sessionReplay.maskAllImages)
134134 assertEquals(SentryReplayOptions .Quality .MEDIUM , options.sessionReplay.quality)
135135 assertTrue(options.enableWatchdogTerminationTracking)
136+ assertFalse(options.sendDefaultPii)
136137 }
137138
138139 @Test
@@ -163,6 +164,7 @@ class SentryOptionsTest : BaseSentryTest() {
163164 sessionReplay.maskAllText = false
164165 sessionReplay.maskAllImages = false
165166 sessionReplay.quality = SentryReplayOptions .Quality .LOW
167+ sendDefaultPii = true
166168 }
167169
168170 val platformOptions = createPlatformOptions()
You can’t perform that action at this time.
0 commit comments