Skip to content

Conversation

@abelonogov-ld
Copy link
Contributor

@abelonogov-ld abelonogov-ld commented Dec 1, 2025

Summary

Use tiled signature hashes to compare screens between each other.

How did you test this change?

Are there any deployment considerations?


Note

Adds tiled bitmap signature hashing to skip emitting duplicate screen captures, with unit tests and bitmap test utilities.

  • Replay capture:
    • Update CaptureSource to compute a 64px-tile TiledSignature for the base bitmap and skip emission when unchanged; recycles duplicate bitmaps.
  • New utilities:
    • Add TiledSignatureManager and TiledSignature to compute per-tile bitmap hashes.
  • Tests:
    • Add TiledSignatureManagerTest covering validity, equality, tile counts, and localized changes.
    • Add test helpers in testutil/BitmapMocks.kt for mock bitmaps and overlay rectangles.

Written by Cursor Bugbot for commit 9797c02. This will update automatically on new commits. Configure here.

@abelonogov-ld abelonogov-ld requested a review from a team as a code owner December 1, 2025 17:26
@abelonogov-ld abelonogov-ld enabled auto-merge (squash) December 1, 2025 22:38
@abelonogov-ld abelonogov-ld merged commit f3369bc into main Dec 2, 2025
22 checks passed
@abelonogov-ld abelonogov-ld deleted the andrey/do-not-send-duplicate-windows branch December 2, 2025 17:21
abelonogov-ld added a commit that referenced this pull request Dec 2, 2025
* andrey/nonstandard-views:
  address feadback
  Attached dialog sample
  space
  use Canvas for certain types of windows
  consolidate in one view
  sample of adding floating views
  add floating button
  feat: Android SR Do not send duplicate screens (#304)

# Conflicts:
#	e2e/android/app/src/main/java/com/example/androidobservability/masking/XMLMaskingActivity.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/capture/CaptureSource.kt
#	sdk/@launchdarkly/observability-android/lib/src/main/kotlin/com/launchdarkly/observability/replay/capture/WindowEntry.kt
#	sdk/@launchdarkly/observability-android/lib/src/test/kotlin/com/launchdarkly/observability/replay/capture/TiledSignatureManagerTest.kt
abelonogov-ld added a commit that referenced this pull request Dec 4, 2025
* main: (85 commits)
  doc: Add using ldMask in readme. (#311)
  chore: release main (#312)
  feat: take transformed coordinates, which are more precise in animation  (#309)
  chore: release main (#307)
  fix(SEC-7530): update react-server-dom-webpack to 19.0.1 (#310)
  feat: recursive mask collection (#308)
  feat: support non-standard windows added by WindowManager (#306)
  feat: Android SR Do not send duplicate screens (#304)
  test: Add UI and logic to evaluate boolean flags (#305)
  chore: release main (#303)
  feat: Android Dialog Capture (#302)
  chore: Update Android Test main screen (#301)
  chore: release main (#300)
  feat: XML Views Automasking options (#299)
  fix: missed imports (#298)
  chore: release main (#297)
  feat: Support ldMask() for Native and Compose views. (#295)
  chore: release main (#296)
  fix: tweaks Android InteractionDetector to delegate additional defaul… (#294)
  chore: release main (#293)
  ...

# Conflicts:
#	e2e/react-router/src/ldclientLazy.tsx
#	e2e/react-router/src/routes/root.tsx
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.

3 participants