feat: [SDK-2121] implement session replay for react native android#456
Merged
feat: [SDK-2121] implement session replay for react native android#456
Conversation
abelonogov-ld
approved these changes
Apr 13, 2026
Contributor
abelonogov-ld
left a comment
There was a problem hiding this comment.
Android launching looks good!
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 294a5d5. Configure here.
Pagemarie2383
approved these changes
Apr 15, 2026
Merged
beekld
pushed a commit
that referenced
this pull request
Apr 17, 2026
🤖 I have created a release *beep* *boop* --- <details><summary>launchdarkly-observability-android: 0.39.0</summary> ## [0.39.0](launchdarkly-observability-android-0.38.0...launchdarkly-observability-android-0.39.0) (2026-04-17) ### Features * [SDK-2197] Add `LDReplay. registerActivity()` method for React Native. ([#472](#472)) ([f99b566](f99b566)) </details> <details><summary>session-replay-react-native: 0.4.0</summary> ## [0.4.0](session-replay-react-native-0.3.0...session-replay-react-native-0.4.0) (2026-04-17) ### Features * [SDK-2121] implement session replay for react native android ([#456](#456)) ([a5af1d8](a5af1d8)) * [SDK-2190] add dialogs to the RN session replay example app ([#471](#471)) ([c677962](c677962)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). [SDK-2197]: https://launchdarkly.atlassian.net/browse/SDK-2197?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [SDK-2121]: https://launchdarkly.atlassian.net/browse/SDK-2121?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [SDK-2190]: https://launchdarkly.atlassian.net/browse/SDK-2190?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Release-only version/changelog updates with no functional code changes in this PR; risk is limited to publishing/packaging correctness. > > **Overview** > Updates release metadata to publish new versions of **Android observability** and **React Native session replay** packages. > > Bumps `sdk/@launchdarkly/observability-android` from `0.38.0` to `0.39.0` (manifest + Gradle version) and records the new changelog entry noting `LDReplay.registerActivity()` support for React Native. > > Bumps `@launchdarkly/session-replay-react-native` from `0.3.0` to `0.4.0` (manifest + `package.json`) and updates its changelog to include React Native Android session replay implementation and example app dialog coverage. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 0dad023. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
This is a fairly straightforward adaptation of the iOS version of the plugin.
How did you test this change?
There are some unit tests, but the primary test was by creating a react native test app, configuring it with my own LD key, and verifying that Android session replay worked the same as iOS session replay.
Are there any deployment considerations?
No.
Note
Medium Risk
Introduces new Android-native initialization and lifecycle control for session replay using LaunchDarkly Observability/SessionReplay plugins, which could affect app startup and data capture behavior if misconfigured.
Overview
Adds Android session replay support to
@launchdarkly/react-native-ld-session-replay, replacing the previous “not supported” rejections with realconfigure/startSessionReplay/stopSessionReplayimplementations.Introduces
SessionReplayClientAdapterto initialize an offlineLDClientwith theObservabilityandSessionReplayplugins, apply enable/disable viaLDReplay.start()/stop(), and map JS options intoReplayOptionsprivacy masking settings on the main thread.Updates Android Gradle dependencies and unit test setup (JUnit5 + MockK), and adds both Kotlin and JS unit tests to cover option mapping and basic configure/start behavior.
Reviewed by Cursor Bugbot for commit d9a9964. Bugbot is set up for automated code reviews on this repo. Configure here.
Related Jira issue: SDK-2121: Implement Session Replay for React Native Android.