Skip to content

feat(android): add unmaskXMLViewIds to PrivacyProfile#522

Merged
beekld merged 2 commits intomainfrom
beeklimt/O11Y-1405
May 1, 2026
Merged

feat(android): add unmaskXMLViewIds to PrivacyProfile#522
beekld merged 2 commits intomainfrom
beeklimt/O11Y-1405

Conversation

@beekld
Copy link
Copy Markdown
Contributor

@beekld beekld commented May 1, 2026

Summary

Adds Android unmaskXMLViewIds option that is equivalent to iOS's unmaskAccessibilityIdentifiers

How did you test this change?

Unit tests added.

Are there any deployment considerations?

No.


Note

Medium Risk
Changes session-replay masking behavior by introducing a new explicit-unmask path and updating MaskCollector.collectMasks call signatures, which could alter what gets redacted if misconfigured.

Overview
Adds unmaskXMLViewIds to PrivacyProfile so specific XML Views can be explicitly unmasked by resource entry name, overriding global masking rules while still losing to explicit masks.

Updates the masking pipeline to pass and evaluate a new explicitUnmaskMatchers list in MaskCollector (including precedence/propagation semantics), wires it through ImageCaptureService, and documents the new option in the README.

Extends unit tests to cover id normalization, matcher inclusion, and explicit-unmask precedence/propagation behaviors.

Reviewed by Cursor Bugbot for commit 3af5a9f. Bugbot is set up for automated code reviews on this repo. Configure here.

@beekld beekld marked this pull request as ready for review May 1, 2026 21:37
@beekld beekld requested a review from a team as a code owner May 1, 2026 21:37
@beekld beekld merged commit 5831209 into main May 1, 2026
25 checks passed
@beekld beekld deleted the beeklimt/O11Y-1405 branch May 1, 2026 21:47
abelonogov-ld pushed a commit that referenced this pull request May 1, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>launchdarkly-observability-android: 0.43.0</summary>

##
[0.43.0](launchdarkly-observability-android-0.42.0...launchdarkly-observability-android-0.43.0)
(2026-05-01)


### Features

* **android:** add unmaskXMLViewIds to PrivacyProfile
([#522](#522))
([5831209](5831209))
* **android:** update session replay masking precedence rules
([#518](#518))
([4299d1e](4299d1e))
</details>

<details><summary>session-replay-react-native: 0.8.0</summary>

##
[0.8.0](session-replay-react-native-0.7.0...session-replay-react-native-0.8.0)
(2026-05-01)


### Features

* **android:** update session replay masking precedence rules
([#518](#518))
([4299d1e](4299d1e))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk release bookkeeping only: version bumps and changelog
updates, with no functional code changes in this diff.
> 
> **Overview**
> Updates release metadata to publish new versions: bumps
`sdk/@launchdarkly/observability-android` to `0.43.0` and
`@launchdarkly/session-replay-react-native` to `0.8.0` in
`.release-please-manifest.json`, plus corresponding version fields and
changelog entries describing new masking/privacy features.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
178c315. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants