[RUM-14555] DdSdk Core Configuration#6
Conversation
|
@codex review |
|
✨ Fix all issues with BitsAI or with Cursor
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c09b055770
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
sbarrio
left a comment
There was a problem hiding this comment.
Looks good, left several comments that need to be addressed though.
358619e to
a7f44ac
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a7f44ac997
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
a7f44ac to
9969f32
Compare
9969f32 to
d73f348
Compare
Implement DdSdkConfiguration class with full SDK initialization parameters, pass them through the native bridge to iOS and Android SDKs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
d73f348 to
75bd3e4
Compare
Summary
Ref: https://datadoghq.atlassian.net/browse/RUM-14555
Implements the full core SDK configuration layer, wiring
DdSdkConfigurationthrough all three layers of the stack (C# → native bindings → iOS/Android SDKs), and adds comprehensive unit tests at every layer.Configuration object
New
DdSdkConfigurationclass underDatadogSdk.Maui.Configuration:ClientTokenstringEnvironmentstringTrackingConsentGrantedGranted,NotGranted,PendingSiteUs1Ap2,Us1FedServicestring?nullVerbositynullDEBUG,INFO,WARN,ERRORBatchSizenullSmall,Medium,LargeBatchProcessingLevelnullLow,Medium,HighUploadFrequencynullFrequent,Average,RareVersionstring?null_dd.versionin additionalConfigurationVersionSuffixstring?null_dd.version_suffixAdditionalConfigurationDictionary<string, object>?nullBuildAdditionalConfigurationhelperExtracted as a testable internal static method. Merges
Version/VersionSuffixinto the additional config dict without mutating the source, then passes all keys (including internal ones like_dd.needsClearTextHttp) through to the native layer unchanged._dd.needsClearTextHttpsupport (mirrors dd-sdk-reactnative#1195)When
AdditionalConfiguration["_dd.needsClearTextHttp"] = trueis set, the Android native wrapper calls_InternalProxy.allowClearTextHttp(builder), configuring OkHttp for plain HTTP transport. Intended for integration testing against local mock intake servers — not for production use.The example app includes
network_security_config.xmlwithcleartextTrafficPermitted="true"(referenced fromAndroidManifest.xml) to satisfy the Android OS-level cleartext restriction when testing with this flag.Native wrappers
Both iOS (
DatadogWrapper.swift) and Android (DatadogWrapper.kt)initialize()methods extended from 5–6 parameters to 10, accepting the full configuration surface:trackingConsent,batchSize,uploadFrequency,batchProcessingLevel, andadditionalConfiguration. iOS applies optional values directly to theDatadog.Configurationstruct. Android uses theConfiguration.Builderfluent API.Unit tests
BuildAdditionalConfiguration(version-only, suffix-only, both, merge-with-existing, immutability, internal key pass-through)mockkConstructor(Configuration.Builder::class)withanswers { self }to keep builder chain intact — verifies exact enum values (DatadogSite.EU1,BatchSize.LARGE,TrackingConsent.PENDING, etc.),_InternalProxy.allowClearTextHttpcallDocumentation
Updated
README.md,SPEC.md, andAGENTS.mdto reflect Phase 2 completion, new API signatures, test infrastructure, and theAdditionalConfigurationinternal key pattern.Test plan
./check.sh./build.shservice:datadog-maui-test env:dev🤖 Generated with Claude Code