Repository navigation
fix(observability-android): honor ObservabilityOptions.enabled - #778
Merged
Merged
Conversation
ObservabilityOptions.enabled was declared but never read, so enabled = false still exported every log, span and metric. The service is still built so Session Replay keeps working, but with enabled = false no exporters, processors or metric reader are registered, the batch worker never starts, and crash reporting, launch-time instrumentation and the sampling-config fetch are skipped. This matches iOS, which leaves the service unstarted when isEnabled is false. Co-authored-by: Cursor <cursoragent@cursor.com>
The evaluate-policy action resolves opa-version 'latest' through an unauthenticated GitHub API call. When that is rate-limited the tag is null, curl saves the HTML 404 page as /usr/local/bin/opa, and the result is cached under opa-null, so the policy step fails with a shell syntax error. Pin OPA to v1.9.0 (the policy uses 1.x syntax) and pin the actions to a commit SHA. Co-authored-by: Cursor <cursoragent@cursor.com>
mayberryzane
approved these changes
Sep 24, 2026
Merged
abelonogov-ld
pushed a commit
that referenced
this pull request
Sep 24, 2026
🤖 I have created a release *beep* *boop* --- <details><summary>launchdarkly-observability-android: 0.68.1</summary> ## [0.68.1](launchdarkly-observability-android-0.68.0...launchdarkly-observability-android-0.68.1) (2026-09-24) ### Bug Fixes * **observability-android:** honor ObservabilityOptions.enabled ([#778](#778)) ([23f5ebc](23f5ebc)) </details> <details><summary>observability-next: 0.2.9</summary> ## [0.2.9](observability-next-0.2.8...observability-next-0.2.9) (2026-09-24) ### Bug Fixes * **observability-next:** require next >=16.3.3 to resolve GHSA-p293-qw3h-jr36 ([#762](#762)) ([42dc7ed](42dc7ed)) </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] > **Overview** > Release Please patch release for **@launchdarkly/observability-android** **0.68.1** and **@launchdarkly/observability-next** **0.2.9**, updating `.release-please-manifest.json`, package/Gradle versions, and changelogs. > > **Android 0.68.1** documents a bug fix so initialization respects **`ObservabilityOptions.enabled`**, so observability stays off when that flag is false. > > **observability-next 0.2.9** documents tightening the Next.js requirement to **>=16.3.3** to address security advisory **GHSA-p293-qw3h-jr36** (commit #762); this PR’s visible diff is mainly the version bump to **0.2.9**. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 440aeb1. 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.
ObservabilityOptions.enabled was declared but never read, so enabled = false still exported every log, span and metric. The service is still built so Session Replay keeps working, but with enabled = false no exporters, processors or metric reader are registered, the batch worker never starts, and crash reporting, launch-time instrumentation and the sampling-config fetch are skipped. This matches iOS, which leaves the service unstarted when isEnabled is false.
Summary
How did you test this change?
Are there any deployment considerations?
Note
Overview
Android observability now respects
ObservabilityOptions.enabled = false: the RUM stack still initializes so Session Replay (sessions, screens, taps, launch breadcrumbs) continues, but OTLP exporters, log/span processors, metric readers, the batch worker, crash reporting, launch-time instrumentation, and sampling-config fetch are skipped—matching iOS when disabled.KDoc on
enabledis expanded to describe that behavior. A new Compose E2E test asserts that withenabled = false, no logs/spans/metrics are exported and no OTLP HTTP traffic hits the mock server.CI: the dependency-scan workflow pins
launchdarkly/gh-actionsSBOM steps to commit8e082b23…instead of@main, and setsopa-version: v1.9.0so policy evaluation does not pull a brokenlatestOPA binary when GitHub API rate limits return HTML.Reviewed by Cursor Bugbot for commit 1813342. Bugbot is set up for automated code reviews on this repo. Configure here.