From 6d805d7a94b5287424eea511e46ebd2eb62cebbd Mon Sep 17 00:00:00 2001 From: markushi Date: Wed, 13 Aug 2025 07:25:00 +0200 Subject: [PATCH 1/4] docs(android): Add docs on how to enable session replay masking --- docs/platforms/android/session-replay/index.mdx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/platforms/android/session-replay/index.mdx b/docs/platforms/android/session-replay/index.mdx index b8170716ebd88c..1cf6bd4b18c415 100644 --- a/docs/platforms/android/session-replay/index.mdx +++ b/docs/platforms/android/session-replay/index.mdx @@ -121,6 +121,20 @@ Q: **Why are parts of my replay not masked?** A: Text fields, input fields, images, video players and webviews are all masked by default. Local assets, such as colors or vector drawables, aren't masked because the likelihood of these assets containing PII is low. If you encounter a view/component that should be masked by default, consider opening a [GitHub issue](https://github.com/getsentry/sentry-java/issues). +Q: **How can I debug which UI elements are being masked?** + +A: You can enable a debug overlay that highlights which UI widgets are masked. Call `Sentry.replay().enableDebugMaskingOverlay()` to turn the overlay on and `Sentry.replay().disableDebugMaskingOverlay()` to turn it off. These methods must be called after the SDK is initialized. The masks will be invalidated at most once per frameRate (default 1 fps). + + + +Do not use the debug masking overlay in production. It is intended only for local testing purposes. + + + +```kotlin +Sentry.replay().enableDebugMaskingOverlay() +``` + Q: **Does Session Replay work with Jetpack Compose?** A: Yes, by default, text, input field, and image composables should be masked. Masking within embedded Android views (`AndroidView`) From f6970caa4651f7727e3004f364cc493e908bfa41 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Thu, 28 Aug 2025 10:20:12 +0200 Subject: [PATCH 2/4] Update docs/platforms/android/session-replay/index.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/platforms/android/session-replay/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/platforms/android/session-replay/index.mdx b/docs/platforms/android/session-replay/index.mdx index 1cf6bd4b18c415..0b81cc99cd78a4 100644 --- a/docs/platforms/android/session-replay/index.mdx +++ b/docs/platforms/android/session-replay/index.mdx @@ -123,7 +123,7 @@ A: Text fields, input fields, images, video players and webviews are all masked Q: **How can I debug which UI elements are being masked?** -A: You can enable a debug overlay that highlights which UI widgets are masked. Call `Sentry.replay().enableDebugMaskingOverlay()` to turn the overlay on and `Sentry.replay().disableDebugMaskingOverlay()` to turn it off. These methods must be called after the SDK is initialized. The masks will be invalidated at most once per frameRate (default 1 fps). +A: You can enable a debug overlay that highlights which UI widgets are masked. Call `Sentry.replay().enableDebugMaskingOverlay()` to turn the overlay on and `Sentry.replay().disableDebugMaskingOverlay()` to turn it off. These methods must be called after the SDK is initialized. The masks will be invalidated at most once per frame rate (default 1 fps). From c432abd505447e11d639ee41f434671b12b8cabf Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Fri, 29 Aug 2025 08:33:10 +0200 Subject: [PATCH 3/4] Update troubleshooting.mdx --- .../android/session-replay/troubleshooting.mdx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/platforms/android/session-replay/troubleshooting.mdx b/docs/platforms/android/session-replay/troubleshooting.mdx index e271431a85ac41..9e20607fa221d2 100644 --- a/docs/platforms/android/session-replay/troubleshooting.mdx +++ b/docs/platforms/android/session-replay/troubleshooting.mdx @@ -28,4 +28,20 @@ Recording only happens on Android 8 (API level 26) or newer. For devices running An issue may be missing a replay because the user's device was [offline](/product/explore/session-replay/mobile#frequently-asked-questions) while `sessionSampleRate` was specified, your project/organization was rate-limited, or (in rare cases) the device failed to capture the replay video. - \ No newline at end of file + + + + +You can enable a debug overlay that highlights which UI widgets are masked. Call `Sentry.replay().enableDebugMaskingOverlay()` to turn the overlay on and `Sentry.replay().disableDebugMaskingOverlay()` to turn it off. These methods must be called after the SDK is initialized. The masks will be invalidated at most once per frame rate (default 1 fps). + + + +Do not use the debug masking overlay in production. It is intended only for local testing purposes. + + + +```kotlin +Sentry.replay().enableDebugMaskingOverlay() +``` + + From f5b05b0cfe221ec2ab2d29211ed0a333d3868b93 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Fri, 29 Aug 2025 08:34:18 +0200 Subject: [PATCH 4/4] Delete FAQ in favor of troubleshooting page --- .../android/session-replay/index.mdx | 33 ------------------- 1 file changed, 33 deletions(-) diff --git a/docs/platforms/android/session-replay/index.mdx b/docs/platforms/android/session-replay/index.mdx index 7daa76506f4f49..153d5704836b11 100644 --- a/docs/platforms/android/session-replay/index.mdx +++ b/docs/platforms/android/session-replay/index.mdx @@ -124,36 +124,3 @@ Errors that happen while a replay is running will be linked to the replay, makin - The replay was rate-limited and couldn't be accepted. - The replay was deleted by a member of your org. - There were network errors and the replay wasn't saved. - -## FAQ - -Q: **Why are parts of my replay not masked?** - -A: Text fields, input fields, images, video players and webviews are all masked by default. Local assets, such as colors or vector drawables, aren't masked because the likelihood of these assets containing PII is low. If you encounter a view/component that should be masked by default, consider opening a [GitHub issue](https://github.com/getsentry/sentry-java/issues). - -Q: **How can I debug which UI elements are being masked?** - -A: You can enable a debug overlay that highlights which UI widgets are masked. Call `Sentry.replay().enableDebugMaskingOverlay()` to turn the overlay on and `Sentry.replay().disableDebugMaskingOverlay()` to turn it off. These methods must be called after the SDK is initialized. The masks will be invalidated at most once per frame rate (default 1 fps). - - - -Do not use the debug masking overlay in production. It is intended only for local testing purposes. - - - -```kotlin -Sentry.replay().enableDebugMaskingOverlay() -``` - -Q: **Does Session Replay work with Jetpack Compose?** - -A: Yes, by default, text, input field, and image composables should be masked. Masking within embedded Android views (`AndroidView`) -in Compose isn't currently supported. If you encounter composables that aren't masked but should be, consider opening a [GitHub issue](https://github.com/getsentry/sentry-java/issues). - -Q: **What's the lowest version of Android supported?** - -A: Recording only happens on Android 8 (API level 26) or newer. For devices running an older version, SDK features other than recording work normally. - -Q: **Why is my issue missing a replay?** - -A: An issue may be missing a replay because the user's device was [offline](/product/explore/session-replay/mobile#frequently-asked-questions) while `sessionSampleRate` was specified, your project/organization was rate-limited, or (in rare cases) the device failed to capture the replay video.