feat: O11Y-969 - Add runtime control for Session Replay capture #355
Merged
abelonogov-ld merged 11 commits intomainfrom Jan 27, 2026
Merged
feat: O11Y-969 - Add runtime control for Session Replay capture #355abelonogov-ld merged 11 commits intomainfrom
abelonogov-ld merged 11 commits intomainfrom
Conversation
- Add maskWebViews support in PrivacyProfile; cover native Android WebView and third-party WebView variants - Update MaskCollector traversal to reach AndroidView WebViews - Add XML/Compose test activities and custom views - Update README/tests
- add LDReplay singleton and enabled option - block capture/export and cache identify while disabled - update sample app and docs for delayed start toggle
- Add unit tests in SessionReplayExporterTest to verify identify payload caching and sending. - Create LDReplayTest to ensure LDReplay delegates start and stop calls to the underlying ReplayControl.
Flush pending identify payloads when replay is enabled. Add LDReplay flush API
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
abelonogov-ld
approved these changes
Jan 27, 2026
Merged
Vadman97
added a commit
that referenced
this pull request
Jan 28, 2026
🤖 I have created a release *beep* *boop* --- <details><summary>go: 1.0.0</summary> ## [1.0.0](go/v0.4.0...go/v1.0.0) (2026-01-28) ### Features * Add configuration to allow adjusting the batch and queue sizes for logs and spans. ([abecbb6](abecbb6)) * Add export samplers. ([#143](#143)) ([76fd41e](76fd41e)) * Add query for sampling config. ([#140](#140)) ([6800fb1](6800fb1)) * Add trace based sampling for go plugin. ([#170](#170)) ([dacbe76](dacbe76)) * Adjust the default export and queue batch sizes for logs and spans to match the otel defaults. ([abecbb6](abecbb6)) * Basic go plugin implementation. ([#139](#139)) ([48badda](48badda)) * Client-side event sampling custom sampler. ([#142](#142)) ([82df812](82df812)) * Sample out children of spans that have been sampled out. ([#155](#155)) ([a2d1d6e](a2d1d6e)) * Support Go observability initialization independent of plugins. ([#230](#230)) ([ddd6d4b](ddd6d4b)) ### Bug Fixes * Fix an issue where logging configuration could over-match for log records without a message or severity. ([#261](#261)) ([500a6bf](500a6bf)) * Fix prealloc lint warning by preallocating slice capacity for error attributes. * **go:** configure default logger provider ([#192](#192)) ([b97854d](b97854d)) </details> <details><summary>launchdarkly-observability-dotnet: 1.0.0</summary> ## [1.0.0](launchdarkly-observability-dotnet-0.3.0...launchdarkly-observability-dotnet-1.0.0) (2026-01-28) ### Features * Add basic config for dotnet plugin. ([#167](#167)) ([3203e82](3203e82)) * Add custom sampler for dotnet. ([#175](#175)) ([de74b20](de74b20)) * Add export/processor samplers. ([#178](#178)) ([2431886](2431886)) * Add graphql query to get sampling config. ([#181](#181)) ([ee51f80](ee51f80)) * Add initial plugin for dotnet. ([#173](#173)) ([564536d](564536d)) * Add singleton for dotnet. ([#185](#185)) ([c32cf1c](c32cf1c)) * Add support for environment variable configuration. ([#205](#205)) ([5e3b1e1](5e3b1e1)) * Add support for non-core ASP.Net. ([#199](#199)) ([b215109](b215109)) * Allow custom configuration of otel. ([#187](#187)) ([54e7214](54e7214)) * Extend logging configuration. Format logs by default. ([#242](#242)) ([2003517](2003517)) ### Bug Fixes * Make attributes optional for RecordLog. ([#202](#202)) ([806ce08](806ce08)) </details> <details><summary>launchdarkly-observability-python: 1.0.0</summary> ## [1.0.0](launchdarkly-observability-python-0.1.1...launchdarkly-observability-python-1.0.0) (2026-01-28) ### Features * Add observability plugin support. ([#109](#109)) ([7bc32bb](7bc32bb)) * Add sampling exporters. ([#99](#99)) ([86a4612](86a4612)) ### Bug Fixes * Create span when no active span for error. ([#191](#191)) ([0341b0f](0341b0f)) </details> <details><summary>observability-node: 1.0.0</summary> ## [1.0.0](observability-node-0.3.1...observability-node-1.0.0) (2026-01-28) ### Features * Update instrumentation configuration for ease of use. ([#112](#112)) ([011032f](011032f)) ### Bug Fixes * Fix an issue where logging configuration could over-match for log records without a message or severity. ([#261](#261)) ([500a6bf](500a6bf)) </details> <details><summary>observability: 1.0.0</summary> ## [1.0.0](observability-0.5.2...observability-1.0.0) (2026-01-28) ### Features * publish umd for browser environments ([#334](#334)) ([3e90673](3e90673)) * Version Packages ([#136](#136)) ([c271dc8](c271dc8)) </details> <details><summary>session-replay: 1.0.0</summary> ## [1.0.0](session-replay-0.5.2...session-replay-1.0.0) (2026-01-28) ### Features * publish umd for browser environments ([#334](#334)) ([3e90673](3e90673)) * Version Packages ([#136](#136)) ([c271dc8](c271dc8)) </details> <details><summary>launchdarkly-observability-android: 0.25.0</summary> ## [0.25.0](launchdarkly-observability-android-0.24.0...launchdarkly-observability-android-0.25.0) (2026-01-28) ### Features * O11Y-969 - Add runtime control for Session Replay capture ([#355](#355)) ([1d4398e](1d4398e)) </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** > Mostly version/changelog updates generated by release tooling; the only code change is a minor Go allocation tweak in error recording with minimal behavioral risk. > > **Overview** > Publishes new release versions across the monorepo, marking the Go, .NET, Node, Python, Browser Observability, and `session-replay` SDKs as **1.0.0 stable**, and bumping Android to **0.25.0** (Release Please changelog + manifest/version file updates). > > Includes one small Go runtime change: `recordSpanError` now preallocates the attribute slice capacity before appending exception fields and tags (lint/perf-only, no behavior change intended). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit f343da8. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Vadim Korolik <vkorolik@gmail.com>
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
How did you test this change?
Unit tests
Note
Introduces runtime on/off control for Session Replay and supports delayed start.
LDReplaysingleton (start/stop/flush) and wires it viaSessionReplay.provideInstrumentations()ReplayOptionswithenabledflag and gates collectors/capture inReplayInstrumentationusingisEnabledidentifywhile disabled and flushes latest on start;SessionReplayExporternow hassendIdentifyAndCacheandcacheIdentifyLDReplay, refactors main screen; enables replay inBaseApplicationLDReplayand exporter identify cachingWritten by Cursor Bugbot for commit 1dbdc92. This will update automatically on new commits. Configure here.