Conversation
* main: feat: Optional Jet Compose (#402) feat: Android Incremental Image Diff compression (#390) chore: add CLAUDE.md (#398) chore: release main (#400) fix: correct react native session replay build step (#399) chore: release main (#396) fix: Android span e2e tests (#397) fix: improve network response capture (#379) # Conflicts: # sdk/@launchdarkly/mobile-dotnet/.vscode/tasks.json
* main: chore: release main (#401)
(cherry picked from commit 9901600)
* andrey/hooks: comment identify stuff fat working working can launch
* main: fix: ldclient dependencies (#407)
* main: chore: release main (#419) feat: Use C and NEON for hashing (Optimization) 100x on Pixel 8 (#415) chore: release main (#418) feat: Android SR use Jpeg 0.3 quality (#417) chore: release main (#411) feat: CPU utilization optimization in image diff calculations (#414) fix: reset nodeIds during fullsnapshot (#412) chore: Android benchmark screen of SR data pipelines on iOS Raw Frames (#410) feat: Android Observability hook proxy for MAUI (#409) feat: ruby observability plugin (#360) # Conflicts: # sdk/@launchdarkly/mobile-dotnet/android/native/LDObserve/src/main/java/com/example/LDObserve/ObservabilityBridge.kt # sdk/@launchdarkly/mobile-dotnet/macios/native/LDObserve/Sources/ObservabilityBridge.swift # sdk/@launchdarkly/mobile-dotnet/observability/LDAPI/LDObserve.cs # sdk/@launchdarkly/mobile-dotnet/observability/LDObservability.Fat.csproj # sdk/@launchdarkly/mobile-dotnet/observability/LDObservability.csproj # sdk/@launchdarkly/mobile-dotnet/observability/bridge/LDObserve.cs # sdk/@launchdarkly/mobile-dotnet/observability/bridge/NativeHookProxy.cs # sdk/@launchdarkly/mobile-dotnet/observability/observe/api/LDObserve.cs # sdk/@launchdarkly/mobile-dotnet/observability/observe/plugin/ObservabilityHook.cs # sdk/@launchdarkly/mobile-dotnet/observability/observe/plugin/ObservabilityPlugin.cs # sdk/@launchdarkly/mobile-dotnet/observability/replay/plugin/SessionReplayHook.cs # sdk/@launchdarkly/mobile-dotnet/observability/replay/plugin/SessionReplayPlugin.cs # sdk/@launchdarkly/mobile-dotnet/sample/MauiProgram.cs
* main: feat: mobile-dotnet support init attributes (#420) # Conflicts: # sdk/@launchdarkly/mobile-dotnet/observability/LDObservability.Fat.csproj # sdk/@launchdarkly/mobile-dotnet/observability/LDObservability.csproj # sdk/@launchdarkly/mobile-dotnet/observability/bridge/DictionaryTypeConverters.cs
sdk/@launchdarkly/mobile-dotnet/observability/bridge/DictionaryTypeConverters.cs
Show resolved
Hide resolved
sdk/@launchdarkly/mobile-dotnet/observability/observe/plugin/ObservabilityHook.cs
Show resolved
Hide resolved
This reverts commit 65d1f0d.
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, have a team admin enable autofix in the Cursor dashboard.
| <PropertyGroup> | ||
| <Version>0.4.0</Version> | ||
| <PackageId>LaunchDarkly.DemoObservability</PackageId> | ||
| <Version>0.52.0</Version> |
There was a problem hiding this comment.
Test/demo PackageId and version in shared build props
High Severity
The PackageId is set to LaunchDarkly.DemoObservability and the Version jumped from 0.4.0 to 0.52.0 in Directory.Build.props. Since PackageId was moved here from the individual .csproj files (where it was LaunchDarkly.SessionReplay), both LDObservability.csproj and LDObservability.Fat.csproj now inherit this demo package identity. If merged, this changes the NuGet package name seen by all consumers and the buildTransitive\$(PackageId).targets auto-import path.


Summary
How did you test this change?
Are there any deployment considerations?
Note
Medium Risk
Changes affect NuGet packaging metadata/auto-import behavior and the hook delegation path to native iOS/Android proxies, which could break consumers if IDs/targets or interop types mismatch.
Overview
Updates the .NET MAUI Observability NuGet packaging to use a shared
PackageId/VersionfromDirectory.Build.props(bumping to0.52.0) and fixes build-transitive target auto-import by emittingbuildTransitive/$(PackageId).targets.Refactors native hook wiring to a single lazily-resolved
NativeHookExporter(renaming fromNativeHookProxy) instead of returning a list of hooks, and updates Android attribute conversion to return a plainIDictionary<string, Java.Lang.Object>rather than aJava.Util.HashMapwhen mapping options to native.Written by Cursor Bugbot for commit 26522e7. This will update automatically on new commits. Configure here.