Skip to content

Generate canonical Flags identity across React Native bridges - #1461

Draft
leoromanovsky wants to merge 1 commit into
developfrom
automatic-flags-sdk-source
Draft

leoromanovsky wants to merge 1 commit into
developfrom
automatic-flags-sdk-source

Conversation

@leoromanovsky

@leoromanovsky leoromanovsky commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

Precompute requests must identify the Flags reader before the edge selects a compatible response format. React Native consumes assignments in JavaScript after native SDK delivery. A native version alone does not identify that reader.

Changes and Decisions

  • Generate JavaScript, Swift, and Kotlin versions from the core package manifest during normal preparation and release.
  • Reject stale or missing generated files in CI and packaging.
  • Pass the loaded JavaScript version through both bridges. Native SDKs report their own artifact version separately.
  • Preserve the compiled bridge version when JavaScript changes independently. Older bundles report an unknown reader version.

This draft requires the companion native interfaces before merge: Android #3943 and iOS #3258. Native dependency pins remain unchanged until those interfaces have released versions. Current published dependencies cannot compile the new calls.

No application setting, obfuscation behavior, or production rollout is added.

Validation

Changed only the core package version to 4.0.0 and 4.1.0-rc.2. Normal builds updated all reporting values. Restored 3.9.0 afterward and inspected the npm archive.

Compiled the actual Swift bridge with the companion native SDK through SwiftPM. A local HTTP receiver verified matching and different JavaScript/bridge versions. This ran on macOS, not an iOS simulator. Android bridge tests exercised the companion native AAR's real serializer.

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Pipelines  Tests

✨ Unblock PR with BitsAI

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 4 Pipeline jobs failed

DataDog/dd-sdk-reactnative | test:native-android — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/dd-sdk-reactnative | test:native-ios — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/dd-sdk-reactnative | test:native-ios-newarch — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

View all 4 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: edd1845 | Docs | View more details | Give us feedback!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant