From 81f84e3ff42afdfcb2ea0e24ae5f20c07405aeea Mon Sep 17 00:00:00 2001 From: Santhosh Vaiyapuri Date: Thu, 21 Nov 2024 07:18:01 +0100 Subject: [PATCH 1/9] feat: update dogfood to rn 76 --- sample-apps/react-native/dogfood/.env-example | 1 + sample-apps/react-native/dogfood/.gitignore | 12 +- sample-apps/react-native/dogfood/.nvmrc | 1 - sample-apps/react-native/dogfood/Gemfile | 9 +- sample-apps/react-native/dogfood/Gemfile.lock | 186 +- .../dogfood/android/app/build.gradle | 30 +- .../android/app/src/main/AndroidManifest.xml | 3 +- .../rnvideosample/MainApplication.kt | 7 +- .../res/drawable/rn_edit_text_material.xml | 11 +- .../react-native/dogfood/android/build.gradle | 12 +- .../dogfood/android/gradle.properties | 5 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../dogfood/android/settings.gradle | 8 +- sample-apps/react-native/dogfood/ios/Podfile | 19 +- .../react-native/dogfood/ios/Podfile.lock | 2052 ++++++++--- .../project.pbxproj | 20 +- .../AppDelegate.mm | 6 +- .../Info.plist | 2 +- .../PrivacyInfo.xcprivacy | 48 + sample-apps/react-native/dogfood/package.json | 51 +- yarn.lock | 3107 +++++++++++++---- 21 files changed, 4140 insertions(+), 1452 deletions(-) create mode 100644 sample-apps/react-native/dogfood/.env-example delete mode 100644 sample-apps/react-native/dogfood/.nvmrc create mode 100644 sample-apps/react-native/dogfood/ios/StreamReactNativeVideoSDKSample/PrivacyInfo.xcprivacy diff --git a/sample-apps/react-native/dogfood/.env-example b/sample-apps/react-native/dogfood/.env-example new file mode 100644 index 0000000000..49a7b018aa --- /dev/null +++ b/sample-apps/react-native/dogfood/.env-example @@ -0,0 +1 @@ +REACT_NATIVE_DOGFOOD_APP_ENVIRONMENT=pronto \ No newline at end of file diff --git a/sample-apps/react-native/dogfood/.gitignore b/sample-apps/react-native/dogfood/.gitignore index aabd399f66..59c9dc867b 100644 --- a/sample-apps/react-native/dogfood/.gitignore +++ b/sample-apps/react-native/dogfood/.gitignore @@ -20,7 +20,7 @@ DerivedData *.hmap *.ipa *.xcuserstate -ios/.xcode.env.local +**/.xcode.env.local # Android/IntelliJ # @@ -58,7 +58,7 @@ yarn-error.log *.jsbundle # Ruby / CocoaPods -/ios/Pods/ +**/Pods/ /vendor/bundle/ # Temporary files created by Metro to check the health of the file watcher @@ -72,3 +72,11 @@ yarn-error.log .env.production .env.development .env.test + +# Yarn +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions \ No newline at end of file diff --git a/sample-apps/react-native/dogfood/.nvmrc b/sample-apps/react-native/dogfood/.nvmrc deleted file mode 100644 index 3f430af82b..0000000000 --- a/sample-apps/react-native/dogfood/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v18 diff --git a/sample-apps/react-native/dogfood/Gemfile b/sample-apps/react-native/dogfood/Gemfile index e9432925fd..85b4928c00 100644 --- a/sample-apps/react-native/dogfood/Gemfile +++ b/sample-apps/react-native/dogfood/Gemfile @@ -3,11 +3,10 @@ source 'https://rubygems.org' # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version ruby '>= 2.6.10' -# Cocoapods 1.15 introduced a bug which break the build. We will remove the upper -# bound in the template on Cocoapods with next React Native release. -gem 'cocoapods', '>= 1.13', '< 1.15' -gem 'activesupport', '>= 6.1.7.5', '< 7.1.0' -gem 'fastlane' +# Exclude problematic versions of cocoapods and activesupport that causes build failures. +gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1' +gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0' +gem 'xcodeproj', '< 1.26.0' # Rubocop gems are needed to lint the Fastfile and other Ruby files gem 'rubocop', '1.60.2' diff --git a/sample-apps/react-native/dogfood/Gemfile.lock b/sample-apps/react-native/dogfood/Gemfile.lock index cc45e478f6..cbf16b43e6 100644 --- a/sample-apps/react-native/dogfood/Gemfile.lock +++ b/sample-apps/react-native/dogfood/Gemfile.lock @@ -15,26 +15,8 @@ GEM algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) - artifactory (3.0.17) ast (2.4.2) atomos (0.1.3) - aws-eventstream (1.3.0) - aws-partitions (1.962.0) - aws-sdk-core (3.201.3) - aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.8) - jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.88.0) - aws-sdk-core (~> 3, >= 3.201.0) - aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.157.0) - aws-sdk-core (~> 3, >= 3.201.0) - aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.5) - aws-sigv4 (1.9.1) - aws-eventstream (~> 1, >= 1.0.2) - babosa (1.0.4) base64 (0.2.0) claide (1.1.0) cocoapods (1.14.3) @@ -74,91 +56,11 @@ GEM nap (>= 0.8, < 2.0) netrc (~> 0.11) cocoapods-try (1.2.0) - colored (1.2) colored2 (3.1.2) - commander (4.6.0) - highline (~> 2.0.0) concurrent-ruby (1.2.3) - declarative (0.0.20) - digest-crc (0.6.5) - rake (>= 12.0.0, < 14.0.0) - domain_name (0.6.20240107) - dotenv (2.8.1) - emoji_regex (3.2.3) escape (0.0.4) ethon (0.16.0) ffi (>= 1.15.0) - excon (0.111.0) - faraday (1.10.3) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0) - faraday-multipart (~> 1.0) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - faraday-retry (~> 1.0) - ruby2_keywords (>= 0.0.4) - faraday-cookie_jar (0.0.7) - faraday (>= 0.8.0) - http-cookie (~> 1.0.0) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) - faraday-multipart (1.0.4) - multipart-post (~> 2) - faraday-net_http (1.0.2) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - faraday-retry (1.0.3) - faraday_middleware (1.2.0) - faraday (~> 1.0) - fastimage (2.3.1) - fastlane (2.222.0) - CFPropertyList (>= 2.3, < 4.0.0) - addressable (>= 2.8, < 3.0.0) - artifactory (~> 3.0) - aws-sdk-s3 (~> 1.0) - babosa (>= 1.0.3, < 2.0.0) - bundler (>= 1.12.0, < 3.0.0) - colored (~> 1.2) - commander (~> 4.6) - dotenv (>= 2.1.1, < 3.0.0) - emoji_regex (>= 0.1, < 4.0) - excon (>= 0.71.0, < 1.0.0) - faraday (~> 1.0) - faraday-cookie_jar (~> 0.0.6) - faraday_middleware (~> 1.0) - fastimage (>= 2.1.0, < 3.0.0) - gh_inspector (>= 1.1.2, < 2.0.0) - google-apis-androidpublisher_v3 (~> 0.3) - google-apis-playcustomapp_v1 (~> 0.1) - google-cloud-env (>= 1.6.0, < 2.0.0) - google-cloud-storage (~> 1.31) - highline (~> 2.0) - http-cookie (~> 1.0.5) - json (< 3.0.0) - jwt (>= 2.1.0, < 3) - mini_magick (>= 4.9.4, < 5.0.0) - multipart-post (>= 2.0.0, < 3.0.0) - naturally (~> 2.2) - optparse (>= 0.1.1, < 1.0.0) - plist (>= 3.1.0, < 4.0.0) - rubyzip (>= 2.0.0, < 3.0.0) - security (= 0.1.5) - simctl (~> 1.6.3) - terminal-notifier (>= 2.0.0, < 3.0.0) - terminal-table (~> 3) - tty-screen (>= 0.6.3, < 1.0.0) - tty-spinner (>= 0.8.0, < 1.0.0) - word_wrap (~> 1.0.0) - xcodeproj (>= 1.13.0, < 2.0.0) - xcpretty (~> 0.3.0) - xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) fastlane-plugin-increment_version_code (0.4.3) fastlane-plugin-increment_version_name (0.0.10) fastlane-plugin-load_json (0.0.1) @@ -168,84 +70,27 @@ GEM fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.54.0) - google-apis-core (>= 0.11.0, < 2.a) - google-apis-core (0.11.3) - addressable (~> 2.5, >= 2.5.1) - googleauth (>= 0.16.2, < 2.a) - httpclient (>= 2.8.1, < 3.a) - mini_mime (~> 1.0) - representable (~> 3.0) - retriable (>= 2.0, < 4.a) - rexml - google-apis-iamcredentials_v1 (0.17.0) - google-apis-core (>= 0.11.0, < 2.a) - google-apis-playcustomapp_v1 (0.13.0) - google-apis-core (>= 0.11.0, < 2.a) - google-apis-storage_v1 (0.31.0) - google-apis-core (>= 0.11.0, < 2.a) - google-cloud-core (1.7.1) - google-cloud-env (>= 1.0, < 3.a) - google-cloud-errors (~> 1.0) - google-cloud-env (1.6.0) - faraday (>= 0.17.3, < 3.0) - google-cloud-errors (1.4.0) - google-cloud-storage (1.47.0) - addressable (~> 2.8) - digest-crc (~> 0.4) - google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.31.0) - google-cloud-core (~> 1.6) - googleauth (>= 0.16.2, < 2.a) - mini_mime (~> 1.0) - googleauth (1.8.1) - faraday (>= 0.17.3, < 3.a) - jwt (>= 1.4, < 3.0) - multi_json (~> 1.11) - os (>= 0.9, < 2.0) - signet (>= 0.16, < 2.a) - highline (2.0.3) - http-cookie (1.0.6) - domain_name (~> 0.5) httpclient (2.8.3) i18n (1.14.1) concurrent-ruby (~> 1.0) - jmespath (1.6.2) json (2.7.2) - jwt (2.8.2) - base64 language_server-protocol (3.17.0.3) - mini_magick (4.13.2) - mini_mime (1.1.5) minitest (5.22.2) molinillo (0.8.0) - multi_json (1.15.0) - multipart-post (2.4.1) nanaimo (0.3.0) nap (1.1.0) - naturally (2.2.1) netrc (0.11.0) nkf (0.2.0) - optparse (0.5.0) - os (1.1.4) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) racc - plist (3.7.1) public_suffix (4.0.7) racc (1.7.3) rainbow (3.1.1) - rake (13.2.1) regexp_parser (2.9.0) - representable (3.2.0) - declarative (< 0.1.0) - trailblazer-option (>= 0.1.1, < 0.2.0) - uber (< 0.2.0) - retriable (3.1.2) rexml (3.3.4) strscan - rouge (2.0.7) rubocop (1.60.2) json (~> 2.3) language_server-protocol (>= 3.17.0) @@ -266,33 +111,12 @@ GEM rubocop (>= 0.49.1) ruby-macho (2.5.1) ruby-progressbar (1.13.0) - ruby2_keywords (0.0.5) - rubyzip (2.3.2) - security (0.1.5) - signet (0.19.0) - addressable (~> 2.8) - faraday (>= 0.17.5, < 3.a) - jwt (>= 1.5, < 3.0) - multi_json (~> 1.10) - simctl (1.6.10) - CFPropertyList - naturally strscan (3.1.0) - terminal-notifier (2.0.0) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) - trailblazer-option (0.1.2) - tty-cursor (0.7.1) - tty-screen (0.8.2) - tty-spinner (0.9.3) - tty-cursor (~> 0.7) typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - uber (0.1.0) unicode-display_width (2.5.0) - word_wrap (1.0.0) xcodeproj (1.25.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) @@ -300,19 +124,14 @@ GEM colored2 (~> 3.1) nanaimo (~> 0.3.0) rexml (>= 3.3.2, < 4.0) - xcpretty (0.3.0) - rouge (~> 2.0.7) - xcpretty-travis-formatter (1.0.1) - xcpretty (~> 0.2, >= 0.0.7) xctest_list (1.2.1) PLATFORMS ruby DEPENDENCIES - activesupport (>= 6.1.7.5, < 7.1.0) - cocoapods (>= 1.13, < 1.15) - fastlane + activesupport (>= 6.1.7.5, != 7.1.0) + cocoapods (>= 1.13, != 1.15.1, != 1.15.0) fastlane-plugin-increment_version_code fastlane-plugin-increment_version_name fastlane-plugin-load_json @@ -320,6 +139,7 @@ DEPENDENCIES rubocop (= 1.60.2) rubocop-performance rubocop-require_tools + xcodeproj (< 1.26.0) RUBY VERSION ruby 3.2.3p157 diff --git a/sample-apps/react-native/dogfood/android/app/build.gradle b/sample-apps/react-native/dogfood/android/app/build.gradle index c0bea9dcab..6a8f86f0ea 100644 --- a/sample-apps/react-native/dogfood/android/app/build.gradle +++ b/sample-apps/react-native/dogfood/android/app/build.gradle @@ -5,21 +5,27 @@ apply plugin: "com.google.gms.google-services" import com.android.build.OutputFile +/** + * This is the configuration block to customize your React Native Android app. + * By default you don't need to apply any configuration, just uncomment the lines you need. + */ react { /* Folders */ - // The root of your project, i.e. where "package.json" lives. Default is '..' - // root = file("../") - // The folder where the react-native NPM package is. Default is ../node_modules/react-native - // reactNativeDir = file("../node_modules/react-native") - // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen - // codegenDir = file("../node_modules/@react-native/codegen") - // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js - // cliFile = file("../node_modules/react-native/cli.js") + // The root of your project, i.e. where "package.json" lives. Default is '../..' + // root = file("../../") + // The folder where the react-native NPM package is. Default is ../../node_modules/react-native + // reactNativeDir = file("../../node_modules/react-native") + // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen + // codegenDir = file("../../node_modules/@react-native/codegen") + // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js + // cliFile = file("../../node_modules/react-native/cli.js") + /* Variants */ // The list of variants to that are debuggable. For those we're going to // skip the bundling of the JS bundle and the assets. By default is just 'debug'. // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. // debuggableVariants = ["liteDebug", "prodDebug"] + /* Bundling */ // A list containing the node command and its flags. Default is just 'node'. // nodeExecutableAndArgs = ["node"] @@ -39,12 +45,16 @@ react { // A list of extra flags to pass to the 'bundle' commands. // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle // extraPackagerArgs = [] + /* Hermes Commands */ // The hermes compiler command to run. By default it is 'hermesc' // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" // // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" // hermesFlags = ["-O", "-output-source-map"] + + /* Autolinking */ + autolinkLibrariesWithApp() } /** @@ -109,11 +119,9 @@ android { dependencies { implementation (project(':react-native-callkeep')) implementation (project(':react-native-incall-manager')) - implementation "com.android.support:support-v4:28.0.0" // needed for incall manager // The version of react-native is set by the React Native Gradle Plugin implementation("com.facebook.react:react-android") - implementation("com.facebook.react:flipper-integration") if (hermesEnabled.toBoolean()) { implementation("com.facebook.react:hermes-android") @@ -121,5 +129,3 @@ dependencies { implementation jscFlavor } } - -apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/sample-apps/react-native/dogfood/android/app/src/main/AndroidManifest.xml b/sample-apps/react-native/dogfood/android/app/src/main/AndroidManifest.xml index 3eae229656..cac33bb18d 100644 --- a/sample-apps/react-native/dogfood/android/app/src/main/AndroidManifest.xml +++ b/sample-apps/react-native/dogfood/android/app/src/main/AndroidManifest.xml @@ -45,7 +45,8 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" - android:theme="@style/AppTheme"> + android:theme="@style/AppTheme" + android:supportsRtl="true"> + android:insetLeft="@dimen/abc_edit_text_inset_horizontal_material" + android:insetRight="@dimen/abc_edit_text_inset_horizontal_material" + android:insetTop="@dimen/abc_edit_text_inset_top_material" + android:insetBottom="@dimen/abc_edit_text_inset_bottom_material" + >