DataDog / dd-sdk-android

Datadog SDK for Android (Compatible with Kotlin and Java)
Apache License 2.0
140 stars 56 forks source link

RUM-3634: Apply privacy settings to TextCompositionGroupMapper for compose #2121

Open ambushwork opened 4 days ago

ambushwork commented 4 days ago

What does this PR do?

Apply the privacy settings to TextCompositionGroupMapper for compose, the text masking strategy keeps same as TextViewMapper in Android View

Motivation

Screenrecord

USER_INPUT MASK
https://mobile-integration.datadoghq.com/rum/replay/sessions/e55f5ad0-145d-4c2c-bc5b-1c4bbcd35ba9?applicationId=38030dde-f9f9-4e52-9443-b9804a030080&seed=70a2b95d-ba66-4083-ad43-81134787c57b&ts=1720118965911 https://mobile-integration.datadoghq.com/rum/replay/sessions/5b0a74de-9928-4fb6-a273-e5d2a4f7ded3?applicationId=38030dde-f9f9-4e52-9443-b9804a030080&seed=49b1537e-3107-4da9-b7a6-49c24ed46145&ts=1720119348991

Additional Notes

Review checklist (to be filled by reviewers)

codecov-commenter commented 4 days ago

Codecov Report

Attention: Patch coverage is 37.03704% with 17 lines in your changes missing coverage. Please review.

Project coverage is 82.16%. Comparing base (3ddf612) to head (a87ba4b).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## feature/sr_compose #2121 +/- ## ====================================================== + Coverage 81.97% 82.16% +0.19% ====================================================== Files 512 512 Lines 18278 18302 +24 Branches 2814 2816 +2 ====================================================== + Hits 14982 15037 +55 + Misses 2532 2500 -32 - Partials 764 765 +1 ``` | [Files](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2121?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | Coverage Δ | | |---|---|---| | [...d/sessionreplay/compose/internal/data/UiContext.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2121?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay-compose%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Fcompose%2Finternal%2Fdata%2FUiContext.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXktY29tcG9zZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9zZXNzaW9ucmVwbGF5L2NvbXBvc2UvaW50ZXJuYWwvZGF0YS9VaUNvbnRleHQua3Q=) | `80.00% <100.00%> (+5.00%)` | :arrow_up: | | [...y/internal/recorder/obfuscator/StringObfuscator.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2121?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fobfuscator%2FStringObfuscator.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9vYmZ1c2NhdG9yL1N0cmluZ09iZnVzY2F0b3Iua3Q=) | `33.33% <ø> (ø)` | | | [...e/internal/mappers/ButtonCompositionGroupMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2121?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay-compose%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Fcompose%2Finternal%2Fmappers%2FButtonCompositionGroupMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXktY29tcG9zZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9zZXNzaW9ucmVwbGF5L2NvbXBvc2UvaW50ZXJuYWwvbWFwcGVycy9CdXR0b25Db21wb3NpdGlvbkdyb3VwTWFwcGVyLmt0) | `7.69% <0.00%> (ø)` | | | [...ose/internal/mappers/TextCompositionGroupMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2121?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay-compose%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Fcompose%2Finternal%2Fmappers%2FTextCompositionGroupMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXktY29tcG9zZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9zZXNzaW9ucmVwbGF5L2NvbXBvc2UvaW50ZXJuYWwvbWFwcGVycy9UZXh0Q29tcG9zaXRpb25Hcm91cE1hcHBlci5rdA==) | `47.37% <63.64%> (+43.29%)` | :arrow_up: | | [...compose/internal/mappers/ComposeWireframeMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2121?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay-compose%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Fcompose%2Finternal%2Fmappers%2FComposeWireframeMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXktY29tcG9zZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9zZXNzaW9ucmVwbGF5L2NvbXBvc2UvaW50ZXJuYWwvbWFwcGVycy9Db21wb3NlV2lyZWZyYW1lTWFwcGVyLmt0) | `13.04% <0.00%> (-2.21%)` | :arrow_down: | ... and [35 files with indirect coverage changes](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2121/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog)