diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index 3baff5a5f..2d12ca9ea 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -32,8 +32,6 @@ dev,react-native-webview,MIT,"Copyright (c) 2015-present, Facebook, Inc." dev,react-test-renderer,MIT,"Copyright (c) Facebook, Inc. and its affiliates." dev,typescript,Apache-2.0,"Copyright Microsoft Corporation" dev,genversion,MIT,"Copyright (c) 2021 Akseli Palén" -dev,@openfeature/core,Apache-2.0,"Copyright (c) The OpenFeature Authors" -prod,@openfeature/web-sdk,Apache-2.0,"Copyright (c) The OpenFeature Authors" prod,chokidar,MIT,"Copyright (c) 2012 Paul Miller (https://paulmillr.com), Elan Shanker" prod,fast-glob,MIT,"Copyright (c) Denis Malinochkin" prod,svgo,MIT,"Copyright (c) Kir Belevich" diff --git a/benchmarks/android/app/build.gradle b/benchmarks/android/app/build.gradle index c674c588d..6e111a267 100644 --- a/benchmarks/android/app/build.gradle +++ b/benchmarks/android/app/build.gradle @@ -129,5 +129,5 @@ dependencies { // Benchmark tools from dd-sdk-android are used for vitals recording // Remember to bump thid alongside the main dd-sdk-android dependencies - implementation("com.datadoghq:dd-sdk-android-benchmark-internal:3.5.0") + implementation("com.datadoghq:dd-sdk-android-benchmark-internal:3.4.0") } diff --git a/example-new-architecture/App.tsx b/example-new-architecture/App.tsx index 628c90c88..bb70655ee 100644 --- a/example-new-architecture/App.tsx +++ b/example-new-architecture/App.tsx @@ -9,18 +9,11 @@ import { DdLogs, DdTrace, TrackingConsent, - DdFlags, + LogsConfiguration, } from '@datadog/mobile-react-native'; -import {DatadogOpenFeatureProvider} from '@datadog/mobile-react-native-openfeature'; -import { - OpenFeature, - OpenFeatureProvider, - useObjectFlagDetails, -} from '@openfeature/react-sdk'; -import React, {Suspense} from 'react'; +import React from 'react'; import type {PropsWithChildren} from 'react'; import { - ActivityIndicator, SafeAreaView, ScrollView, StatusBar, @@ -64,62 +57,51 @@ import {APPLICATION_ID, CLIENT_TOKEN, ENVIRONMENT} from './ddCredentials'; config.uploadFrequency = UploadFrequency.FREQUENT; config.batchSize = BatchSize.SMALL; - // Initialize the Datadog SDK. + await DdSdkReactNative.initialize(config); - - // Enable Datadog Flags feature. - await DdFlags.enable(); - - // Set the provider with OpenFeature. - const provider = new DatadogOpenFeatureProvider(); - OpenFeature.setProvider(provider); - - // Datadog SDK usage examples. await DdRum.startView('main', 'Main'); setTimeout(async () => { await DdRum.addTiming('one_second'); }, 1000); await DdRum.addAction(RumActionType.CUSTOM, 'custom action'); - await DdLogs.info('info log'); - const spanId = await DdTrace.startSpan('test span'); await DdTrace.finishSpan(spanId); })(); -function AppWithProviders() { - React.useEffect(() => { - const user = { - id: 'user-123', - favoriteFruit: 'apple', - }; - - OpenFeature.setContext({ - targetingKey: user.id, - favoriteFruit: user.favoriteFruit, - }); - }, []); +type SectionProps = PropsWithChildren<{ + title: string; +}>; +function Section({children, title}: SectionProps): React.JSX.Element { + const isDarkMode = useColorScheme() === 'dark'; return ( - - - - }> - - - - + + + {title} + + + {children} + + ); } function App(): React.JSX.Element { - const greetingFlag = useObjectFlagDetails('rn-sdk-test-json-flag', { - greeting: 'Default greeting', - }); - const isDarkMode = useColorScheme() === 'dark'; + const backgroundStyle = { backgroundColor: isDarkMode ? Colors.darker : Colors.lighter, }; @@ -130,21 +112,14 @@ function App(): React.JSX.Element { barStyle={isDarkMode ? 'light-content' : 'dark-content'} backgroundColor={backgroundStyle.backgroundColor} /> - +
- - -
- The title of this section is based on the{' '} - {greetingFlag.flagKey} feature - flag.{'\n\n'} - If it's different from "Default greeting", then it is coming from - the feature flag evaluation.{'\n\n'} - Evaluation reason is {greetingFlag.reason}.{'\n\n'}Inspect greetingFlag in{' '} - App.tsx for more evaluation - details. -
- +
Edit App.tsx to change this screen and then come back to see your edits. @@ -165,36 +140,6 @@ function App(): React.JSX.Element { ); } -type SectionProps = PropsWithChildren<{ - title: string; -}>; - -function Section({children, title}: SectionProps): React.JSX.Element { - const isDarkMode = useColorScheme() === 'dark'; - return ( - - - {title} - - - {children} - - - ); -} - const styles = StyleSheet.create({ sectionContainer: { marginTop: 32, @@ -214,4 +159,4 @@ const styles = StyleSheet.create({ }, }); -export default AppWithProviders; +export default App; diff --git a/example-new-architecture/ios/Podfile b/example-new-architecture/ios/Podfile index 3c29ed272..f2f0fa09f 100644 --- a/example-new-architecture/ios/Podfile +++ b/example-new-architecture/ios/Podfile @@ -26,7 +26,7 @@ target 'DdSdkReactNativeExample' do # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) - + post_install do |installer| # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 react_native_post_install( diff --git a/example-new-architecture/ios/Podfile.lock b/example-new-architecture/ios/Podfile.lock index 6e816ba72..fb845c6e7 100644 --- a/example-new-architecture/ios/Podfile.lock +++ b/example-new-architecture/ios/Podfile.lock @@ -1,26 +1,22 @@ PODS: - boost (1.84.0) - - DatadogCore (3.5.0): - - DatadogInternal (= 3.5.0) - - DatadogCrashReporting (3.5.0): - - DatadogInternal (= 3.5.0) - - KSCrash/Filters (= 2.5.0) - - KSCrash/Recording (= 2.5.0) - - DatadogFlags (3.5.0): - - DatadogInternal (= 3.5.0) - - DatadogInternal (3.5.0) - - DatadogLogs (3.5.0): - - DatadogInternal (= 3.5.0) - - DatadogRUM (3.5.0): - - DatadogInternal (= 3.5.0) + - DatadogCore (3.4.0): + - DatadogInternal (= 3.4.0) + - DatadogCrashReporting (3.4.0): + - DatadogInternal (= 3.4.0) + - PLCrashReporter (~> 1.12.0) + - DatadogInternal (3.4.0) + - DatadogLogs (3.4.0): + - DatadogInternal (= 3.4.0) + - DatadogRUM (3.4.0): + - DatadogInternal (= 3.4.0) - DatadogSDKReactNative (3.0.2): - - DatadogCore (= 3.5.0) - - DatadogCrashReporting (= 3.5.0) - - DatadogFlags (= 3.5.0) - - DatadogLogs (= 3.5.0) - - DatadogRUM (= 3.5.0) - - DatadogTrace (= 3.5.0) - - DatadogWebViewTracking (= 3.5.0) + - DatadogCore (= 3.4.0) + - DatadogCrashReporting (= 3.4.0) + - DatadogLogs (= 3.4.0) + - DatadogRUM (= 3.4.0) + - DatadogTrace (= 3.4.0) + - DatadogWebViewTracking (= 3.4.0) - DoubleConversion - glog - hermes-engine @@ -42,13 +38,12 @@ PODS: - ReactCommon/turbomodule/core - Yoga - DatadogSDKReactNative/Tests (3.0.2): - - DatadogCore (= 3.5.0) - - DatadogCrashReporting (= 3.5.0) - - DatadogFlags (= 3.5.0) - - DatadogLogs (= 3.5.0) - - DatadogRUM (= 3.5.0) - - DatadogTrace (= 3.5.0) - - DatadogWebViewTracking (= 3.5.0) + - DatadogCore (= 3.4.0) + - DatadogCrashReporting (= 3.4.0) + - DatadogLogs (= 3.4.0) + - DatadogRUM (= 3.4.0) + - DatadogTrace (= 3.4.0) + - DatadogWebViewTracking (= 3.4.0) - DoubleConversion - glog - hermes-engine @@ -69,11 +64,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - DatadogTrace (3.5.0): - - DatadogInternal (= 3.5.0) - - OpenTelemetry-Swift-Api (~> 2.3.0) - - DatadogWebViewTracking (3.5.0): - - DatadogInternal (= 3.5.0) + - DatadogTrace (3.4.0): + - DatadogInternal (= 3.4.0) + - OpenTelemetrySwiftApi (= 1.13.1) + - DatadogWebViewTracking (3.4.0): + - DatadogInternal (= 3.4.0) - DoubleConversion (1.1.6) - fast_float (6.1.4) - FBLazyVector (0.76.9) @@ -82,18 +77,8 @@ PODS: - hermes-engine (0.76.9): - hermes-engine/Pre-built (= 0.76.9) - hermes-engine/Pre-built (0.76.9) - - KSCrash/Core (2.5.0) - - KSCrash/Filters (2.5.0): - - KSCrash/Recording - - KSCrash/RecordingCore - - KSCrash/ReportingCore - - KSCrash/Recording (2.5.0): - - KSCrash/RecordingCore - - KSCrash/RecordingCore (2.5.0): - - KSCrash/Core - - KSCrash/ReportingCore (2.5.0): - - KSCrash/Core - - OpenTelemetry-Swift-Api (2.3.0) + - OpenTelemetrySwiftApi (1.13.1) + - PLCrashReporter (1.12.0) - RCT-Folly (2024.10.14.00): - boost - DoubleConversion @@ -1721,14 +1706,13 @@ SPEC REPOS: https://github.com/CocoaPods/Specs.git: - DatadogCore - DatadogCrashReporting - - DatadogFlags - DatadogInternal - DatadogLogs - DatadogRUM - DatadogTrace - DatadogWebViewTracking - - KSCrash - - OpenTelemetry-Swift-Api + - OpenTelemetrySwiftApi + - PLCrashReporter - SocketRocket EXTERNAL SOURCES: @@ -1866,82 +1850,81 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: 1dca942403ed9342f98334bf4c3621f011aa7946 - DatadogCore: 4cbe2646591d2f96fb3188400863ec93ac411235 - DatadogCrashReporting: e48da3f880a59d2aa2d04e5034e56507177e9d64 - DatadogFlags: f8cf88371460d6c672abfd97fdc9af5be208f33b - DatadogInternal: 63308b529cd87fb2f99c5961d9ff13afb300a3aa - DatadogLogs: be538def1d5204e011f7952915ad0261014a0dd5 - DatadogRUM: cffc65659ce29546fcc2639a74003135259548fc - DatadogSDKReactNative: 200d41945d09592fa12c9bbc328dc4bb6a21fed3 - DatadogTrace: 085e35f9e4889f82f8a747922c58ea4b19728720 - DatadogWebViewTracking: 61b8344da898cbaccffc75bc1a17c86175e8573a + DatadogCore: 8c384b6338c49534e43fdf7f9a0508b62bf1d426 + DatadogCrashReporting: 103bfb4077db2ccee1846f71e53712972732d3b7 + DatadogInternal: b0372935ad8dde5ad06960fe8d88c39b2cc92bcc + DatadogLogs: 484bb1bfe0c9a7cb2a7d9733f61614e8ea7b2f3a + DatadogRUM: 00069b27918e0ce4a9223b87b4bfa7929d6a0a1f + DatadogSDKReactNative: 776f0c6036773e5bc71aa390ec008fba0a29de81 + DatadogTrace: 852cb80f9370eb1321eb30a73c82c8e3d9e4e980 + DatadogWebViewTracking: 32dfeaf7aad47a605a689ed12e0d21ee8eb56141 DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385 fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6 FBLazyVector: 7605ea4810e0e10ae4815292433c09bf4324ba45 fmt: 01b82d4ca6470831d1cc0852a1af644be019e8f6 glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a hermes-engine: 9e868dc7be781364296d6ee2f56d0c1a9ef0bb11 - KSCrash: 80e1e24eaefbe5134934ae11ca8d7746586bc2ed - OpenTelemetry-Swift-Api: 3d77582ab6837a63b65bf7d2eacc57d8f2595edd - RCT-Folly: 7b4f73a92ad9571b9dbdb05bb30fad927fa971e1 + OpenTelemetrySwiftApi: aaee576ed961e0c348af78df58b61300e95bd104 + PLCrashReporter: db59ef96fa3d25f3650040d02ec2798cffee75f2 + RCT-Folly: ea9d9256ba7f9322ef911169a9f696e5857b9e17 RCTDeprecation: ebe712bb05077934b16c6bf25228bdec34b64f83 RCTRequired: ca91e5dd26b64f577b528044c962baf171c6b716 RCTTypeSafety: e7678bd60850ca5a41df9b8dc7154638cb66871f React: 4641770499c39f45d4e7cde1eba30e081f9d8a3d React-callinvoker: 4bef67b5c7f3f68db5929ab6a4d44b8a002998ea - React-Core: 0a06707a0b34982efc4a556aff5dae4b22863455 - React-CoreModules: 907334e94314189c2e5eed4877f3efe7b26d85b0 - React-cxxreact: 3a1d5e8f4faa5e09be26614e9c8bbcae8d11b73d + React-Core: a68cea3e762814e60ecc3fa521c7f14c36c99245 + React-CoreModules: d81b1eaf8066add66299bab9d23c9f00c9484c7c + React-cxxreact: 984f8b1feeca37181d4e95301fcd6f5f6501c6ab React-debug: 817160c07dc8d24d020fbd1eac7b3558ffc08964 - React-defaultsnativemodule: 814830ccbc3fb08d67d0190e63b179ee4098c67b - React-domnativemodule: 270acf94bd0960b026bc3bfb327e703665d27fb4 - React-Fabric: 64586dc191fc1c170372a638b8e722e4f1d0a09b - React-FabricComponents: b0ebd032387468ea700574c581b139f57a7497fb - React-FabricImage: 81f0e0794caf25ad1224fa406d288fbc1986607f + React-defaultsnativemodule: 18a684542f82ce1897552a1c4b847be414c9566e + React-domnativemodule: 90bdd4ec3ab38c47cfc3461c1e9283a8507d613f + React-Fabric: f6dade7007533daeb785ba5925039d83f343be4b + React-FabricComponents: b0655cc3e1b5ae12a4a1119aa7d8308f0ad33520 + React-FabricImage: 9b157c4c01ac2bf433f834f0e1e5fe234113a576 React-featureflags: f2792b067a351d86fdc7bec23db3b9a2f2c8d26c - React-featureflagsnativemodule: 0d7091ae344d6160c0557048e127897654a5c00f - React-graphics: cbebe910e4a15b65b0bff94a4d3ed278894d6386 - React-hermes: ec18c10f5a69d49fb9b5e17ae95494e9ea13d4d3 - React-idlecallbacksnativemodule: 6b84add48971da9c40403bd1860d4896462590f2 - React-ImageManager: f2a4c01c2ccb2193e60a20c135da74c7ca4d36f2 - React-jserrorhandler: 61d205b5a7cbc57fed3371dd7eed48c97f49fc64 - React-jsi: 95f7676103137861b79b0f319467627bcfa629ee - React-jsiexecutor: 41e0fe87cda9ea3970ffb872ef10f1ff8dbd1932 - React-jsinspector: 15578208796723e5c6f39069b6e8bf36863ef6e2 - React-jsitracing: 3758cdb155ea7711f0e77952572ea62d90c69f0b - React-logger: dbca7bdfd4aa5ef69431362bde6b36d49403cb20 - React-Mapbuffer: 6efad4a606c1fae7e4a93385ee096681ef0300dc - React-microtasksnativemodule: a645237a841d733861c70b69908ab4a1707b52ad + React-featureflagsnativemodule: 742a8325b3c821d2a1ca13a6d2a0fc72d04555e0 + React-graphics: 68969e4e49d73f89da7abef4116c9b5f466aa121 + React-hermes: ac0bcba26a5d288ebc99b500e1097da2d0297ddf + React-idlecallbacksnativemodule: d61d9c9816131bf70d3d80cd04889fc625ee523f + React-ImageManager: e906eec93a9eb6102a06576b89d48d80a4683020 + React-jserrorhandler: ac5dde01104ff444e043cad8f574ca02756e20d6 + React-jsi: 496fa2b9d63b726aeb07d0ac800064617d71211d + React-jsiexecutor: dd22ab48371b80f37a0a30d0e8915b6d0f43a893 + React-jsinspector: 4629ac376f5765e684d19064f2093e55c97fd086 + React-jsitracing: 7a1c9cd484248870cf660733cd3b8114d54c035f + React-logger: c4052eb941cca9a097ef01b59543a656dc088559 + React-Mapbuffer: 33546a3ebefbccb8770c33a1f8a5554fa96a54de + React-microtasksnativemodule: d80ff86c8902872d397d9622f1a97aadcc12cead React-nativeconfig: 8efdb1ef1e9158c77098a93085438f7e7b463678 - React-NativeModulesApple: 958d4f6c5c2ace4c0f427cf7ef82e28ae6538a22 - React-perflogger: 9b4f13c0afe56bc7b4a0e93ec74b1150421ee22d - React-performancetimeline: 359db1cb889aa0282fafc5838331b0987c4915a9 + React-NativeModulesApple: cebca2e5320a3d66e123cade23bd90a167ffce5e + React-perflogger: 72e653eb3aba9122f9e57cf012d22d2486f33358 + React-performancetimeline: cd6a9374a72001165995d2ab632f672df04076dc React-RCTActionSheet: aacf2375084dea6e7c221f4a727e579f732ff342 - React-RCTAnimation: d8c82deebebe3aaf7a843affac1b57cb2dc073d4 - React-RCTAppDelegate: 1774aa421a29a41a704ecaf789811ef73c4634b6 - React-RCTBlob: 70a58c11a6a3500d1a12f2e51ca4f6c99babcff8 - React-RCTFabric: 731cda82aed592aacce2d32ead69d78cde5d9274 - React-RCTImage: 5e9d655ba6a790c31e3176016f9b47fd0978fbf0 - React-RCTLinking: 2a48338252805091f7521eaf92687206401bdf2a - React-RCTNetwork: 0c1282b377257f6b1c81934f72d8a1d0c010e4c3 - React-RCTSettings: f757b679a74e5962be64ea08d7865a7debd67b40 - React-RCTText: e7d20c490b407d3b4a2daa48db4bcd8ec1032af2 - React-RCTVibration: 8228e37144ca3122a91f1de16ba8e0707159cfec + React-RCTAnimation: 395ab53fd064dff81507c15efb781c8684d9a585 + React-RCTAppDelegate: 345a6f1b82abc578437df0ce7e9c48740eca827c + React-RCTBlob: 13311e554c1a367de063c10ee7c5e6573b2dd1d6 + React-RCTFabric: 007b1a98201cc49b5bc6e1417d7fe3f6fc6e2b78 + React-RCTImage: 1b1f914bcc12187c49ba5d949dac38c2eb9f5cc8 + React-RCTLinking: 4ac7c42beb65e36fba0376f3498f3cd8dd0be7fa + React-RCTNetwork: 938902773add4381e84426a7aa17a2414f5f94f7 + React-RCTSettings: e848f1ba17a7a18479cf5a31d28145f567da8223 + React-RCTText: 7e98fafdde7d29e888b80f0b35544e0cb07913cf + React-RCTVibration: cd7d80affd97dc7afa62f9acd491419558b64b78 React-rendererconsistency: b4917053ecbaa91469c67a4319701c9dc0d40be6 - React-rendererdebug: 81becbc8852b38d9b1b68672aa504556481330d5 + React-rendererdebug: aa181c36dd6cf5b35511d1ed875d6638fd38f0ec React-rncore: 120d21715c9b4ba8f798bffe986cb769b988dd74 - React-RuntimeApple: 52ed0e9e84a7c2607a901149fb13599a3c057655 - React-RuntimeCore: ca6189d2e53d86db826e2673fe8af6571b8be157 + React-RuntimeApple: d033becbbd1eba6f9f6e3af6f1893030ce203edd + React-RuntimeCore: 38af280bb678e66ba000a3c3d42920b2a138eebb React-runtimeexecutor: 877596f82f5632d073e121cba2d2084b76a76899 - React-RuntimeHermes: 3b752dc5d8a1661c9d1687391d6d96acfa385549 - React-runtimescheduler: 8321bb09175ace2a4f0b3e3834637eb85bf42ebe + React-RuntimeHermes: 37aad735ff21ca6de2d8450a96de1afe9f86c385 + React-runtimescheduler: 8ec34cc885281a34696ea16c4fd86892d631f38d React-timing: 331cbf9f2668c67faddfd2e46bb7f41cbd9320b9 - React-utils: 54df9ada708578c8ad40d92895d6fed03e0e8a9e - ReactCodegen: 21a52ccddc6479448fc91903a437dd23ddc7366c - ReactCommon: bfd3600989d79bc3acbe7704161b171a1480b9fd + React-utils: ed818f19ab445000d6b5c4efa9d462449326cc9f + ReactCodegen: f853a20cc9125c5521c8766b4b49375fec20648b + ReactCommon: 300d8d9c5cb1a6cd79a67cf5d8f91e4d477195f9 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 Yoga: feb4910aba9742cfedc059e2b2902e22ffe9954a -PODFILE CHECKSUM: 2046fc46dd3311048c09b49573c69b7aba2aab81 +PODFILE CHECKSUM: d9d720c99b6fffec4dd489d565a544a358a52b83 COCOAPODS: 1.16.2 diff --git a/example-new-architecture/package.json b/example-new-architecture/package.json index 83a990a29..b72ce69e4 100644 --- a/example-new-architecture/package.json +++ b/example-new-architecture/package.json @@ -9,8 +9,6 @@ }, "dependencies": { "@datadog/mobile-react-native": "workspace:packages/core", - "@datadog/mobile-react-native-openfeature": "workspace:packages/react-native-openfeature", - "@openfeature/react-sdk": "^1.1.0", "react": "18.3.1", "react-native": "0.76.9" }, diff --git a/example/ios/Podfile b/example/ios/Podfile index 7484e6aa7..1736870c9 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -28,7 +28,7 @@ target 'ddSdkReactnativeExample' do # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) - + # pod 'DatadogSDKReactNative', :path => '../../packages/core/DatadogSDKReactNative.podspec', :testspecs => ['Tests'] post_install do |installer| diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 85a56445e..579b855dd 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,39 +1,34 @@ PODS: - boost (1.84.0) - - DatadogCore (3.5.0): - - DatadogInternal (= 3.5.0) - - DatadogCrashReporting (3.5.0): - - DatadogInternal (= 3.5.0) - - KSCrash/Filters (= 2.5.0) - - KSCrash/Recording (= 2.5.0) - - DatadogFlags (3.5.0): - - DatadogInternal (= 3.5.0) - - DatadogInternal (3.5.0) - - DatadogLogs (3.5.0): - - DatadogInternal (= 3.5.0) - - DatadogRUM (3.5.0): - - DatadogInternal (= 3.5.0) + - DatadogCore (3.4.0): + - DatadogInternal (= 3.4.0) + - DatadogCrashReporting (3.4.0): + - DatadogInternal (= 3.4.0) + - PLCrashReporter (~> 1.12.0) + - DatadogInternal (3.4.0) + - DatadogLogs (3.4.0): + - DatadogInternal (= 3.4.0) + - DatadogRUM (3.4.0): + - DatadogInternal (= 3.4.0) - DatadogSDKReactNative (3.0.2): - - DatadogCore (= 3.5.0) - - DatadogCrashReporting (= 3.5.0) - - DatadogFlags (= 3.5.0) - - DatadogLogs (= 3.5.0) - - DatadogRUM (= 3.5.0) - - DatadogTrace (= 3.5.0) - - DatadogWebViewTracking (= 3.5.0) + - DatadogCore (= 3.4.0) + - DatadogCrashReporting (= 3.4.0) + - DatadogLogs (= 3.4.0) + - DatadogRUM (= 3.4.0) + - DatadogTrace (= 3.4.0) + - DatadogWebViewTracking (= 3.4.0) - React-Core - DatadogSDKReactNative/Tests (3.0.2): - - DatadogCore (= 3.5.0) - - DatadogCrashReporting (= 3.5.0) - - DatadogFlags (= 3.5.0) - - DatadogLogs (= 3.5.0) - - DatadogRUM (= 3.5.0) - - DatadogTrace (= 3.5.0) - - DatadogWebViewTracking (= 3.5.0) + - DatadogCore (= 3.4.0) + - DatadogCrashReporting (= 3.4.0) + - DatadogLogs (= 3.4.0) + - DatadogRUM (= 3.4.0) + - DatadogTrace (= 3.4.0) + - DatadogWebViewTracking (= 3.4.0) - React-Core - DatadogSDKReactNativeSessionReplay (3.0.2): - DatadogSDKReactNative - - DatadogSessionReplay (= 3.5.0) + - DatadogSessionReplay (= 3.4.0) - DoubleConversion - glog - hermes-engine @@ -56,7 +51,7 @@ PODS: - Yoga - DatadogSDKReactNativeSessionReplay/Tests (3.0.2): - DatadogSDKReactNative - - DatadogSessionReplay (= 3.5.0) + - DatadogSessionReplay (= 3.4.0) - DoubleConversion - glog - hermes-engine @@ -79,24 +74,24 @@ PODS: - ReactCommon/turbomodule/core - Yoga - DatadogSDKReactNativeWebView (3.0.2): - - DatadogInternal (= 3.5.0) + - DatadogInternal (= 3.4.0) - DatadogSDKReactNative - - DatadogWebViewTracking (= 3.5.0) + - DatadogWebViewTracking (= 3.4.0) - React-Core - DatadogSDKReactNativeWebView/Tests (3.0.2): - - DatadogInternal (= 3.5.0) + - DatadogInternal (= 3.4.0) - DatadogSDKReactNative - - DatadogWebViewTracking (= 3.5.0) + - DatadogWebViewTracking (= 3.4.0) - React-Core - react-native-webview - React-RCTText - - DatadogSessionReplay (3.5.0): - - DatadogInternal (= 3.5.0) - - DatadogTrace (3.5.0): - - DatadogInternal (= 3.5.0) - - OpenTelemetry-Swift-Api (~> 2.3.0) - - DatadogWebViewTracking (3.5.0): - - DatadogInternal (= 3.5.0) + - DatadogSessionReplay (3.4.0): + - DatadogInternal (= 3.4.0) + - DatadogTrace (3.4.0): + - DatadogInternal (= 3.4.0) + - OpenTelemetrySwiftApi (= 1.13.1) + - DatadogWebViewTracking (3.4.0): + - DatadogInternal (= 3.4.0) - DoubleConversion (1.1.6) - fast_float (6.1.4) - FBLazyVector (0.76.9) @@ -106,18 +101,8 @@ PODS: - hermes-engine/Pre-built (= 0.76.9) - hermes-engine/Pre-built (0.76.9) - HMSegmentedControl (1.5.6) - - KSCrash/Core (2.5.0) - - KSCrash/Filters (2.5.0): - - KSCrash/Recording - - KSCrash/RecordingCore - - KSCrash/ReportingCore - - KSCrash/Recording (2.5.0): - - KSCrash/RecordingCore - - KSCrash/RecordingCore (2.5.0): - - KSCrash/Core - - KSCrash/ReportingCore (2.5.0): - - KSCrash/Core - - OpenTelemetry-Swift-Api (2.3.0) + - OpenTelemetrySwiftApi (1.13.1) + - PLCrashReporter (1.12.0) - RCT-Folly (2024.10.14.00): - boost - DoubleConversion @@ -1839,7 +1824,6 @@ SPEC REPOS: https://github.com/CocoaPods/Specs.git: - DatadogCore - DatadogCrashReporting - - DatadogFlags - DatadogInternal - DatadogLogs - DatadogRUM @@ -1847,8 +1831,8 @@ SPEC REPOS: - DatadogTrace - DatadogWebViewTracking - HMSegmentedControl - - KSCrash - - OpenTelemetry-Swift-Api + - OpenTelemetrySwiftApi + - PLCrashReporter - SocketRocket EXTERNAL SOURCES: @@ -2004,18 +1988,17 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: 1dca942403ed9342f98334bf4c3621f011aa7946 - DatadogCore: 4cbe2646591d2f96fb3188400863ec93ac411235 - DatadogCrashReporting: e48da3f880a59d2aa2d04e5034e56507177e9d64 - DatadogFlags: f8cf88371460d6c672abfd97fdc9af5be208f33b - DatadogInternal: 63308b529cd87fb2f99c5961d9ff13afb300a3aa - DatadogLogs: be538def1d5204e011f7952915ad0261014a0dd5 - DatadogRUM: cffc65659ce29546fcc2639a74003135259548fc - DatadogSDKReactNative: a1c25ae554b3b348830c3fb49385aafe91d59213 - DatadogSDKReactNativeSessionReplay: 8ec388042eaeea68c7b2e90a74dbd3e87831ef72 - DatadogSDKReactNativeWebView: 63e71249ff8a840225ba3a55f1118707c42c242a - DatadogSessionReplay: eea291df0135ec792177be1ffc4951750a66a011 - DatadogTrace: 085e35f9e4889f82f8a747922c58ea4b19728720 - DatadogWebViewTracking: 61b8344da898cbaccffc75bc1a17c86175e8573a + DatadogCore: 8c384b6338c49534e43fdf7f9a0508b62bf1d426 + DatadogCrashReporting: 103bfb4077db2ccee1846f71e53712972732d3b7 + DatadogInternal: b0372935ad8dde5ad06960fe8d88c39b2cc92bcc + DatadogLogs: 484bb1bfe0c9a7cb2a7d9733f61614e8ea7b2f3a + DatadogRUM: 00069b27918e0ce4a9223b87b4bfa7929d6a0a1f + DatadogSDKReactNative: 3d41e67755145c97d16724c10277d0fe808814c5 + DatadogSDKReactNativeSessionReplay: f450e2d8f26573fad082ddfd286db5369e54e109 + DatadogSDKReactNativeWebView: 5e4860f4a7e2bdb66695714343889479ea655932 + DatadogSessionReplay: 462a3a2e39e9e2193528cf572c8d1acfd6cdace1 + DatadogTrace: 852cb80f9370eb1321eb30a73c82c8e3d9e4e980 + DatadogWebViewTracking: 32dfeaf7aad47a605a689ed12e0d21ee8eb56141 DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385 fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6 FBLazyVector: 7605ea4810e0e10ae4815292433c09bf4324ba45 @@ -2023,74 +2006,74 @@ SPEC CHECKSUMS: glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a hermes-engine: 9e868dc7be781364296d6ee2f56d0c1a9ef0bb11 HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352 - KSCrash: 80e1e24eaefbe5134934ae11ca8d7746586bc2ed - OpenTelemetry-Swift-Api: 3d77582ab6837a63b65bf7d2eacc57d8f2595edd - RCT-Folly: 7b4f73a92ad9571b9dbdb05bb30fad927fa971e1 + OpenTelemetrySwiftApi: aaee576ed961e0c348af78df58b61300e95bd104 + PLCrashReporter: db59ef96fa3d25f3650040d02ec2798cffee75f2 + RCT-Folly: ea9d9256ba7f9322ef911169a9f696e5857b9e17 RCTDeprecation: ebe712bb05077934b16c6bf25228bdec34b64f83 RCTRequired: ca91e5dd26b64f577b528044c962baf171c6b716 RCTTypeSafety: e7678bd60850ca5a41df9b8dc7154638cb66871f React: 4641770499c39f45d4e7cde1eba30e081f9d8a3d React-callinvoker: 4bef67b5c7f3f68db5929ab6a4d44b8a002998ea - React-Core: 0a06707a0b34982efc4a556aff5dae4b22863455 - React-CoreModules: 907334e94314189c2e5eed4877f3efe7b26d85b0 - React-cxxreact: 3a1d5e8f4faa5e09be26614e9c8bbcae8d11b73d + React-Core: a68cea3e762814e60ecc3fa521c7f14c36c99245 + React-CoreModules: d81b1eaf8066add66299bab9d23c9f00c9484c7c + React-cxxreact: 984f8b1feeca37181d4e95301fcd6f5f6501c6ab React-debug: 817160c07dc8d24d020fbd1eac7b3558ffc08964 - React-defaultsnativemodule: a965cb39fb0a79276ab611793d39f52e59a9a851 - React-domnativemodule: d647f94e503c62c44f54291334b1aa22a30fa08b - React-Fabric: 64586dc191fc1c170372a638b8e722e4f1d0a09b - React-FabricComponents: b0ebd032387468ea700574c581b139f57a7497fb - React-FabricImage: 81f0e0794caf25ad1224fa406d288fbc1986607f + React-defaultsnativemodule: 21f216e8db975897eb32b5f13247f5bbfaa97f41 + React-domnativemodule: 19270ad4b8d33312838d257f24731a0026809d49 + React-Fabric: f6dade7007533daeb785ba5925039d83f343be4b + React-FabricComponents: b0655cc3e1b5ae12a4a1119aa7d8308f0ad33520 + React-FabricImage: 9b157c4c01ac2bf433f834f0e1e5fe234113a576 React-featureflags: f2792b067a351d86fdc7bec23db3b9a2f2c8d26c - React-featureflagsnativemodule: 95a02d895475de8ace78fedd76143866838bb720 - React-graphics: cbebe910e4a15b65b0bff94a4d3ed278894d6386 - React-hermes: ec18c10f5a69d49fb9b5e17ae95494e9ea13d4d3 - React-idlecallbacksnativemodule: 0c1ae840cc5587197cd926a3cb76828ad059d116 - React-ImageManager: f2a4c01c2ccb2193e60a20c135da74c7ca4d36f2 - React-jserrorhandler: 61d205b5a7cbc57fed3371dd7eed48c97f49fc64 - React-jsi: 95f7676103137861b79b0f319467627bcfa629ee - React-jsiexecutor: 41e0fe87cda9ea3970ffb872ef10f1ff8dbd1932 - React-jsinspector: 15578208796723e5c6f39069b6e8bf36863ef6e2 - React-jsitracing: 3758cdb155ea7711f0e77952572ea62d90c69f0b - React-logger: dbca7bdfd4aa5ef69431362bde6b36d49403cb20 - React-Mapbuffer: 6efad4a606c1fae7e4a93385ee096681ef0300dc - React-microtasksnativemodule: 8732b71aa66045da4bb341ddee1bb539f71e5f38 - react-native-crash-tester: 3ffaa64141427ca362079cb53559fe9a532487ae - react-native-safe-area-context: 04803a01f39f31cc6605a5531280b477b48f8a88 - react-native-webview: 1e12de2fad74c17b4f8b1b53ebd1e3baa0148d71 + React-featureflagsnativemodule: 3a8731d8fd9f755be57e00d9fa8a7f92aa77e87d + React-graphics: 68969e4e49d73f89da7abef4116c9b5f466aa121 + React-hermes: ac0bcba26a5d288ebc99b500e1097da2d0297ddf + React-idlecallbacksnativemodule: 9a2c5b5c174c0c476f039bedc1b9497a8272133e + React-ImageManager: e906eec93a9eb6102a06576b89d48d80a4683020 + React-jserrorhandler: ac5dde01104ff444e043cad8f574ca02756e20d6 + React-jsi: 496fa2b9d63b726aeb07d0ac800064617d71211d + React-jsiexecutor: dd22ab48371b80f37a0a30d0e8915b6d0f43a893 + React-jsinspector: 4629ac376f5765e684d19064f2093e55c97fd086 + React-jsitracing: 7a1c9cd484248870cf660733cd3b8114d54c035f + React-logger: c4052eb941cca9a097ef01b59543a656dc088559 + React-Mapbuffer: 33546a3ebefbccb8770c33a1f8a5554fa96a54de + React-microtasksnativemodule: 5c3d795318c22ab8df55100e50b151384a4a60b3 + react-native-crash-tester: 48bde9d6f5256c61ef2e0c52dfc74256b26e55eb + react-native-safe-area-context: e134b241010ebe2aacdcea013565963d13826faa + react-native-webview: 2ea635bc43fd8a4b89de61133e8cc0607084e9f8 React-nativeconfig: 8efdb1ef1e9158c77098a93085438f7e7b463678 - React-NativeModulesApple: 958d4f6c5c2ace4c0f427cf7ef82e28ae6538a22 - React-perflogger: 9b4f13c0afe56bc7b4a0e93ec74b1150421ee22d - React-performancetimeline: 359db1cb889aa0282fafc5838331b0987c4915a9 + React-NativeModulesApple: cebca2e5320a3d66e123cade23bd90a167ffce5e + React-perflogger: 72e653eb3aba9122f9e57cf012d22d2486f33358 + React-performancetimeline: cd6a9374a72001165995d2ab632f672df04076dc React-RCTActionSheet: aacf2375084dea6e7c221f4a727e579f732ff342 - React-RCTAnimation: d8c82deebebe3aaf7a843affac1b57cb2dc073d4 - React-RCTAppDelegate: 6c0377d9c4058773ea7073bb34bb9ebd6ddf5a84 - React-RCTBlob: 70a58c11a6a3500d1a12f2e51ca4f6c99babcff8 - React-RCTFabric: 7eb6dd2c8fda98cb860a572e3f4e4eb60d62c89e - React-RCTImage: 5e9d655ba6a790c31e3176016f9b47fd0978fbf0 - React-RCTLinking: 2a48338252805091f7521eaf92687206401bdf2a - React-RCTNetwork: 0c1282b377257f6b1c81934f72d8a1d0c010e4c3 - React-RCTSettings: f757b679a74e5962be64ea08d7865a7debd67b40 - React-RCTText: e7d20c490b407d3b4a2daa48db4bcd8ec1032af2 - React-RCTVibration: 8228e37144ca3122a91f1de16ba8e0707159cfec + React-RCTAnimation: 395ab53fd064dff81507c15efb781c8684d9a585 + React-RCTAppDelegate: 1e5b43833e3e36e9fa34eec20be98174bc0e14a2 + React-RCTBlob: 13311e554c1a367de063c10ee7c5e6573b2dd1d6 + React-RCTFabric: bd906861a4e971e21d8df496c2d8f3ca6956f840 + React-RCTImage: 1b1f914bcc12187c49ba5d949dac38c2eb9f5cc8 + React-RCTLinking: 4ac7c42beb65e36fba0376f3498f3cd8dd0be7fa + React-RCTNetwork: 938902773add4381e84426a7aa17a2414f5f94f7 + React-RCTSettings: e848f1ba17a7a18479cf5a31d28145f567da8223 + React-RCTText: 7e98fafdde7d29e888b80f0b35544e0cb07913cf + React-RCTVibration: cd7d80affd97dc7afa62f9acd491419558b64b78 React-rendererconsistency: b4917053ecbaa91469c67a4319701c9dc0d40be6 - React-rendererdebug: 81becbc8852b38d9b1b68672aa504556481330d5 + React-rendererdebug: aa181c36dd6cf5b35511d1ed875d6638fd38f0ec React-rncore: 120d21715c9b4ba8f798bffe986cb769b988dd74 - React-RuntimeApple: 52ed0e9e84a7c2607a901149fb13599a3c057655 - React-RuntimeCore: ca6189d2e53d86db826e2673fe8af6571b8be157 + React-RuntimeApple: d033becbbd1eba6f9f6e3af6f1893030ce203edd + React-RuntimeCore: 38af280bb678e66ba000a3c3d42920b2a138eebb React-runtimeexecutor: 877596f82f5632d073e121cba2d2084b76a76899 - React-RuntimeHermes: 3b752dc5d8a1661c9d1687391d6d96acfa385549 - React-runtimescheduler: 8321bb09175ace2a4f0b3e3834637eb85bf42ebe + React-RuntimeHermes: 37aad735ff21ca6de2d8450a96de1afe9f86c385 + React-runtimescheduler: 8ec34cc885281a34696ea16c4fd86892d631f38d React-timing: 331cbf9f2668c67faddfd2e46bb7f41cbd9320b9 - React-utils: 54df9ada708578c8ad40d92895d6fed03e0e8a9e - ReactCodegen: 21a52ccddc6479448fc91903a437dd23ddc7366c - ReactCommon: bfd3600989d79bc3acbe7704161b171a1480b9fd - ReactNativeNavigation: 50c1eef68b821e7265eff3a391d27ed18fdce459 - RNCAsyncStorage: 23e56519cc41d3bade3c8d4479f7760cb1c11996 - RNGestureHandler: 950dfa674dbf481460ca389c65b9036ac4ab8ada - RNScreens: 606ab1cf68162f7ba0d049a31f2a84089a6fffb4 + React-utils: ed818f19ab445000d6b5c4efa9d462449326cc9f + ReactCodegen: f853a20cc9125c5521c8766b4b49375fec20648b + ReactCommon: 300d8d9c5cb1a6cd79a67cf5d8f91e4d477195f9 + ReactNativeNavigation: 445f86273eb245d15b14023ee4ef9d6e4f891ad6 + RNCAsyncStorage: b44e8a4e798c3e1f56bffccd0f591f674fb9198f + RNGestureHandler: cb711d56ee3b03a5adea1d38324d4459ab55653f + RNScreens: f75b26fd4777848c216e27b0a09e1bf9c9f4760a SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 Yoga: feb4910aba9742cfedc059e2b2902e22ffe9954a -PODFILE CHECKSUM: 9a1faac3ae43394b0b86e6fcabf63eced6c66dc2 +PODFILE CHECKSUM: 2be76f6ff2a88869ff51bdbf48edb79d7d863c79 COCOAPODS: 1.16.2 diff --git a/example/package.json b/example/package.json index f065aab69..db38f20b6 100644 --- a/example/package.json +++ b/example/package.json @@ -12,11 +12,9 @@ "dependencies": { "@datadog/mobile-react-native": "workspace:packages/core", "@datadog/mobile-react-native-navigation": "workspace:packages/react-native-navigation", - "@datadog/mobile-react-native-openfeature": "workspace:packages/react-native-openfeature", "@datadog/mobile-react-native-session-replay": "workspace:packages/react-native-session-replay", "@datadog/mobile-react-native-webview": "workspace:packages/react-native-webview", "@datadog/mobile-react-navigation": "workspace:packages/react-navigation", - "@openfeature/react-sdk": "^1.2.0", "@react-native-async-storage/async-storage": "^2.1.2", "@react-native-community/cli": "15.0.1", "@react-native-community/cli-platform-android": "15.0.1", diff --git a/example/src/App.tsx b/example/src/App.tsx index 897a1a3a8..1427dc5ba 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -7,12 +7,11 @@ import AboutScreen from './screens/AboutScreen'; import style from './screens/styles'; import { navigationRef } from './NavigationRoot'; import { DdRumReactNavigationTracking, NavigationTrackingOptions, ParamsTrackingPredicate, ViewNamePredicate, ViewTrackingPredicate } from '@datadog/mobile-react-navigation'; -import { DatadogProvider, TrackingConsent, DdFlags } from '@datadog/mobile-react-native' -import { DatadogOpenFeatureProvider } from '@datadog/mobile-react-native-openfeature'; -import { OpenFeature, OpenFeatureProvider } from '@openfeature/react-sdk'; +import {DatadogProvider } from '@datadog/mobile-react-native' import { Route } from "@react-navigation/native"; import { NestedNavigator } from './screens/NestedNavigator/NestedNavigator'; import { getDatadogConfig, onDatadogInitialization } from './ddUtils'; +import { TrackingConsent } from '@datadog/mobile-react-native'; const Tab = createBottomTabNavigator(); @@ -21,7 +20,7 @@ const viewNamePredicate: ViewNamePredicate = function customViewNamePredicate(ro return "Custom RN " + trackedName; } -const viewTrackingPredicate: ViewTrackingPredicate = function customViewTrackingPredicate(route: Route) { +const viewTrackingPredicate: ViewTrackingPredicate = function customViewTrackingPredicate(route: Route) { if (route.name === "AlertModal") { return false; } @@ -29,7 +28,7 @@ const viewTrackingPredicate: ViewTrackingPredicate = function customViewTracking return true; } -const paramsTrackingPredicate: ParamsTrackingPredicate = function customParamsTrackingPredicate(route: Route) { +const paramsTrackingPredicate: ParamsTrackingPredicate = function customParamsTrackingPredicate(route: Route) { const filteredParams: any = {}; if (route.params?.creditCardNumber) { filteredParams["creditCardNumber"] = "XXXX XXXX XXXX XXXX"; @@ -57,9 +56,9 @@ const configuration = getDatadogConfig(TrackingConsent.GRANTED) // 3.- File based configuration from .json and custom mapper setup // const configuration = new FileBasedConfiguration( { -// configuration: require("../datadog-configuration.json").configuration, -// errorEventMapper: (event) => event, -// resourceEventMapper: (event) => event, +// configuration: require("../datadog-configuration.json").configuration, +// errorEventMapper: (event) => event, +// resourceEventMapper: (event) => event, // actionEventMapper: (event) => event}); // 4.- File based configuration from the native side (using initFromNative) @@ -67,38 +66,26 @@ const configuration = getDatadogConfig(TrackingConsent.GRANTED) // const configuration = new DatadogProviderConfiguration("fake_value", "fake_value"); -const handleDatadogInitialization = async () => { - onDatadogInitialization(); - - // Enable Datadog Flags feature. - await DdFlags.enable(); - - // Set the provider with OpenFeature. - const provider = new DatadogOpenFeatureProvider(); - OpenFeature.setProvider(provider); -} - export default function App() { + return ( - - - { - DdRumReactNavigationTracking.startTrackingViews( - navigationRef.current, - navigationTrackingOptions) + + { + DdRumReactNavigationTracking.startTrackingViews( + navigationRef.current, + navigationTrackingOptions) + }}> + null }}> - null - }}> - - - - - - - + + + + + + ) } diff --git a/example/src/WixApp.tsx b/example/src/WixApp.tsx index af685b934..809912843 100644 --- a/example/src/WixApp.tsx +++ b/example/src/WixApp.tsx @@ -1,5 +1,5 @@ -import React from 'react'; -import { View, Text, Button, ActivityIndicator } from 'react-native'; +import React, { useState } from 'react'; +import { View, Text, Button } from 'react-native'; import MainScreen from './screens/MainScreen'; import ErrorScreen from './screens/ErrorScreen'; import AboutScreen from './screens/AboutScreen'; @@ -11,17 +11,15 @@ import { } from '@datadog/mobile-react-native-navigation'; import styles from './screens/styles'; -import { DdFlags } from '@datadog/mobile-react-native'; import TraceScreen from './screens/TraceScreen'; import { NavigationTrackingOptions, ParamsTrackingPredicate, ViewTrackingPredicate } from '@datadog/mobile-react-native-navigation/src/rum/instrumentation/DdRumReactNativeNavigationTracking'; -import { OpenFeatureProvider, useFlag } from '@openfeature/react-sdk'; // === Navigation Tracking custom predicates const viewNamePredicate: ViewNamePredicate = function customViewNamePredicate(_event: ComponentDidAppearEvent, trackedName: string) { return "Custom RN " + trackedName; } -const viewTrackingPredicate: ViewTrackingPredicate = function customViewTrackingPredicate(event: ComponentDidAppearEvent) { +const viewTrackingPredicate: ViewTrackingPredicate = function customViewTrackingPredicate(event: ComponentDidAppearEvent) { if (event.name === "AlertModal") { return false; } @@ -29,7 +27,7 @@ const viewTrackingPredicate: ViewTrackingPredicate = function customViewTracking return true; } -const paramsTrackingPredicate: ParamsTrackingPredicate = function customParamsTrackingPredicate(event: ComponentDidAppearEvent) { +const paramsTrackingPredicate: ParamsTrackingPredicate = function customParamsTrackingPredicate(event: ComponentDidAppearEvent) { const filteredParams: any = {}; if (event.passProps?.creditCardNumber) { filteredParams["creditCardNumber"] = "XXXX XXXX XXXX XXXX"; @@ -63,25 +61,14 @@ function startReactNativeNavigation() { } function registerScreens() { - Navigation.registerComponent('Home', () => HomeScreenWithProviders); + Navigation.registerComponent('Home', () => HomeScreen); Navigation.registerComponent('Main', () => MainScreen); Navigation.registerComponent('Error', () => ErrorScreen); Navigation.registerComponent('Trace', () => TraceScreen); Navigation.registerComponent('About', () => AboutScreen); } -const HomeScreenWithProviders = () => { - return ( - - - - ) -} - const HomeScreen = props => { - const testFlagKey = 'rn-sdk-test-json-flag'; - const flag = useFlag(testFlagKey, {greeting: "Default greeting"}); - return ( @@ -122,12 +109,11 @@ const HomeScreen = props => { passProps: { username: "test", creditCardNumber: "4242 4242 4242 4242" - } + } } }); }} /> - {testFlagKey}: {JSON.stringify(flag.value)} ); }; diff --git a/example/src/ddUtils.tsx b/example/src/ddUtils.tsx index 8e2fa8a94..b49caadfd 100644 --- a/example/src/ddUtils.tsx +++ b/example/src/ddUtils.tsx @@ -7,10 +7,7 @@ import { TrackingConsent, BatchSize, UploadFrequency, - DdFlags, } from '@datadog/mobile-react-native'; -import { DatadogOpenFeatureProvider } from '@datadog/mobile-react-native-openfeature'; -import { OpenFeature } from '@openfeature/react-sdk'; import {APPLICATION_ID, CLIENT_TOKEN, ENVIRONMENT} from './ddCredentials'; import { BatchProcessingLevel } from '@datadog/mobile-react-native/src/config/types'; @@ -85,11 +82,4 @@ export function initializeDatadog(trackingConsent: TrackingConsent) { DdSdkReactNative.setUserInfo({id: "1337", name: "Xavier", email: "xg@example.com", extraInfo: { type: "premium" } }) DdSdkReactNative.addAttributes({campaign: "ad-network"}) }); - - // Enable the Flags feature. - DdFlags.enable().then(() => { - // Set the provider with OpenFeature. - const provider = new DatadogOpenFeatureProvider(); - OpenFeature.setProvider(provider); - }) } diff --git a/example/src/screens/MainScreen.tsx b/example/src/screens/MainScreen.tsx index 1616e953d..53b94a180 100644 --- a/example/src/screens/MainScreen.tsx +++ b/example/src/screens/MainScreen.tsx @@ -7,12 +7,11 @@ import React, { Component, RefObject } from 'react'; import { View, Text, Button, TouchableOpacity, - TouchableWithoutFeedback, TouchableNativeFeedback, ActivityIndicator + TouchableWithoutFeedback, TouchableNativeFeedback } from 'react-native'; -import { DdLogs, DdSdkReactNative, TrackingConsent, DdFlags } from '@datadog/mobile-react-native'; -import { FeatureFlag } from '@openfeature/react-sdk'; import styles from './styles'; import { APPLICATION_KEY, API_KEY } from '../../src/ddCredentials'; +import { DdLogs, DdSdkReactNative, TrackingConsent } from '@datadog/mobile-react-native'; import { getTrackingConsent, saveTrackingConsent } from '../utils'; import { ConsentModal } from '../components/consent'; @@ -114,12 +113,7 @@ export default class MainScreen extends Component { render() { return - Welcome!}> - Greetings from the Feature Flags! - - - The above greeting is being controlled by the{'\n'}`rn-sdk-test-boolean-flag` feature flag. - + {this.state.welcomeMessage}