Skip to content

Conversation

@tanderson-ld
Copy link
Contributor

@tanderson-ld tanderson-ld commented Nov 12, 2025

Note

Adds touch interaction (down/move/up) capture and RRWeb event generation, refactors capture/export pipeline to batch per session and handle full vs incremental snapshots.

  • Replay capture:
    • Introduce InteractionEvent, Position, and InteractionSource to intercept window touch events and emit interaction logs (ACTION_DOWN/UP/MOVE) with buffering.
    • Add InteractionMoveGrouper to filter/group MOVE positions by distance/time and periodically emit grouped events.
    • Rename Capture to CaptureEvent; CaptureSource now tracks the most recent activity safely and uses DispatcherProviderHolder.
  • Exporter (RRwebGraphQLReplayLogExporter):
    • Process logs sorted by time, group events by session.id, and initialize sessions once before pushing payloads.
    • Replace send methods with generators: generateCaptureFullEvents, generateCaptureIncrementalEvents, and new generateInteractionEvents (RRWeb-compatible).
    • Track last-seen state (session/size) to choose full vs incremental snapshots.
  • Instrumentation (ReplayInstrumentation):
    • Wire InteractionSource into logging; emit event.domain=interaction with serialized coords; use dispatcher provider for coroutines.
  • Tests:
    • Add comprehensive InteractionMoveGrouperTest and update RRwebGraphQLReplayLogExporterTest for event generation and batching behavior.

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

@tanderson-ld tanderson-ld marked this pull request as ready for review November 12, 2025 22:07
@tanderson-ld tanderson-ld requested a review from a team as a code owner November 12, 2025 22:07
@tanderson-ld tanderson-ld requested review from agrognetti and removed request for agrognetti November 14, 2025 14:02
@tanderson-ld tanderson-ld merged commit 4531005 into main Nov 17, 2025
22 checks passed
@tanderson-ld tanderson-ld deleted the ta/O11Y-629/session-clicks branch November 17, 2025 21:16
tanderson-ld pushed a commit that referenced this pull request Nov 17, 2025
🤖 I have created a release *beep* *boop*
---


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

##
[0.14.0](launchdarkly-observability-android-0.13.2...launchdarkly-observability-android-0.14.0)
(2025-11-17)


### Features

* adds click and swipe interactions to session replay
([#292](#292))
([4531005](4531005))
</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]
> Bumps `sdk/@launchdarkly/observability-android` to 0.14.0 adding
click/swipe interactions to session replay, updating manifest and Gradle
version.
> 
> - **Android SDK (`sdk/@launchdarkly/observability-android`)**:
> - **Release `0.14.0`**: Adds session replay click and swipe
interactions (`CHANGELOG.md`).
>   - Update `gradle.properties` version to `0.14.0`.
> - **Release Manifest**:
> - Update `.release-please-manifest.json` entry for
`sdk/@launchdarkly/observability-android` to `0.14.0`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
d930ce0. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=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.

3 participants