diff --git a/.github/actions/setup-composite/action.yml b/.github/actions/setup-composite/action.yml index bcf2e107204..3fc22d90904 100644 --- a/.github/actions/setup-composite/action.yml +++ b/.github/actions/setup-composite/action.yml @@ -3,22 +3,24 @@ description: 'This action collects the steps to setup any job' runs: using: "composite" steps: + - id: enable-corepack + shell: bash + run: corepack enable - id: setup-node - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 + uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2 with: node-version-file: '.node-version' - - id: yarn-cache-dir-path - run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT - shell: bash - id: yarn-cache uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 - env: - cache-name: cache-node-modules with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} - - id: install-packages + path: | + **/node_modules + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/package.json') }} + restore-keys: | + ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + ${{ runner.os }}-yarn- + - name: Install dependencies + if: steps.yarn-cache.outputs.cache-hit != 'true' run: yarn install --frozen-lockfile shell: bash - id: generate-api-client diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml deleted file mode 100644 index 156f0e55ff3..00000000000 --- a/.github/workflows/danger.yml +++ /dev/null @@ -1,39 +0,0 @@ -on: - pull_request -jobs: - run-danger: - runs-on: ubuntu-latest - environment: dev - concurrency: - group: ${{ github.workflow }}-pr-staticcheck-danger-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - steps: - - id: checkout - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - - id: setup-node - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 - with: - node-version-file: '.node-version' - - id: yarn-cache-dir-path - run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT - shell: bash - - id: yarn-cache - uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 - env: - cache-name: cache-node-modules - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - id: install-packages - run: yarn install --frozen-lockfile - shell: bash - - run: '[ -z "$DANGER_GITHUB_API_TOKEN" ] || yarn danger ci' - env: - DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }} - JIRA_USERNAME: ${{ secrets.JIRA_USERNAME }} - JIRA_PASSWORD: ${{ secrets.JIRA_PASSWORD }} \ No newline at end of file diff --git a/.github/workflows/pr-title-linter-and-linker.yml b/.github/workflows/pr-title-linter-and-linker.yml new file mode 100644 index 00000000000..4fa466a45f0 --- /dev/null +++ b/.github/workflows/pr-title-linter-and-linker.yml @@ -0,0 +1,82 @@ +name: "Lint and Link PR title" + +on: + pull_request: + types: + - opened + - edited + - reopened + - synchronize + +jobs: + lint: + name: Validate PR title And link Jira Issue + runs-on: ubuntu-22.04 + env: + JIRA_COMMENT_REGEX: "^.*Jira.*" + steps: + - uses: Slashgear/action-check-pr-title@860e8dc639f8e60335a6f5e8936ba67ed2536890 #v4.3.0 + id: lint + with: + regexp: "\\[(#?[A-Z]*-[0-9]*( |, )?){1,}\\]" # Regex the title should match. + continue-on-error: true + + - name: Find Jira Comment + uses: peter-evans/find-comment@81e2da3af01c92f83cb927cf3ace0e085617c556 #v2 + id: fc + with: + issue-number: ${{ github.event.pull_request.number }} + comment-author: "github-actions[bot]" + body-regex: "${{ env.JIRA_COMMENT_REGEX }}" + + - name: Extract Jira Issue to Link + id: extract_jira_issue + if: steps.lint.outcome == 'success' + run: | + PR_TITLE=$(echo "${{ github.event.pull_request.title }}") + ISSUES_STR=$(awk -F'\\[|\\]' '{print $2}' <<< "$PR_TITLE" | sed "s/#//g" | sed "s/,//g") + ISSUES=($ISSUES_STR) + JIRA_ISSUE=$(echo ${ISSUES_STR##* }) + MARKDOWN_CARRIAGE_RETURN="
" + MARKDOWN_PREFIX="- Link to" + JIRA_COMMENT_MARKDOWN="This Pull Request refers to Jira issues:
" + if [[ ${#ISSUES[@]} -eq 1 ]] + then + JIRA_COMMENT_MARKDOWN="This Pull Request refers to the following Jira issue" + MARKDOWN_PREFIX="" + fi + + for ISSUE in "${ISSUES[@]}" + do + JIRA_COMMENT_MARKDOWN+="$MARKDOWN_PREFIX [$ISSUE](https://pagopa.atlassian.net/browse/$ISSUE) $MARKDOWN_CARRIAGE_RETURN" + done + + echo "JIRA_ISSUE=$JIRA_ISSUE" >> $GITHUB_ENV + echo "JIRA_COMMENT_MARKDOWN=$JIRA_COMMENT_MARKDOWN" >> $GITHUB_ENV + + - name: Create Jira Link comment + if: steps.lint.outcome == 'success' + uses: peter-evans/create-or-update-comment@5adcb0bb0f9fb3f95ef05400558bdb3f329ee808 #v2 + with: + comment-id: ${{ steps.fc.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + body: | + ## Jira Pull Request Link ## + ${{ env.JIRA_COMMENT_MARKDOWN }} + edit-mode: replace + - name: Create Empty Jira Link comment + if: steps.lint.outcome != 'success' + uses: peter-evans/create-or-update-comment@5adcb0bb0f9fb3f95ef05400558bdb3f329ee808 #v2 + with: + comment-id: ${{ steps.fc.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + body: | + ## Jira Pull request Link ## + It seems this Pull Request has no issues that refers to Jira!!! + Please check it out. + edit-mode: replace + - name: Failure message + if: steps.lint.outcome != 'success' + run: | + echo "Pull request title (${{ github.event.pull_request.title }}) is not properly formatted or it is not related to any Jira issue" + exit 1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 724a77418fc..69c2a9be164 100644 --- a/.gitignore +++ b/.gitignore @@ -21,10 +21,10 @@ DerivedData *.hmap *.ipa *.xcuserstate -project.xcworkspace +**/.xcode.env.local # Ruby / CocoaPods -/ios/Pods/ +**/Pods/ /vendor/bundle/ # Android/IntelliJ @@ -112,5 +112,10 @@ sentry.properties # Temporary files created by Metro to check the health of the file watcher .metro-health-check* -# yarn cache dir -.yarn/cache +# Yarn +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 00000000000..a42f303e5c8 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,2 @@ +nodeLinker: node-modules +enableScripts: true diff --git a/Gemfile b/Gemfile index d38225ed66a..11a4ae7a528 100644 --- a/Gemfile +++ b/Gemfile @@ -4,8 +4,7 @@ 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' +# 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 "fastlane", "~> 2.223.1" -gem 'activesupport', '>= 6.1.7.3', '< 7.1.0' diff --git a/Gemfile.lock b/Gemfile.lock index 338b12351e7..b43fbb95213 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -276,8 +276,8 @@ PLATFORMS ruby DEPENDENCIES - activesupport (>= 6.1.7.3, < 7.1.0) - cocoapods (>= 1.13, < 1.15) + activesupport (>= 6.1.7.5, != 7.1.0) + cocoapods (>= 1.13, != 1.15.1, != 1.15.0) fastlane (~> 2.223.1) RUBY VERSION diff --git a/android/app/build.gradle b/android/app/build.gradle index 169f76280c2..2fb8476bad5 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -4,6 +4,7 @@ project.ext.envConfigFiles = [ ] apply plugin: "com.android.application" +apply plugin: "org.jetbrains.kotlin.android" apply plugin: "com.facebook.react" apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle" @@ -23,14 +24,14 @@ if (project.hasProperty(bundleInDebugPropertyName)) { 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 @@ -64,6 +65,9 @@ if (project.hasProperty(bundleInDebugPropertyName)) { // // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" // hermesFlags = ["-O", "-output-source-map"] + + /* Autolinking */ + autolinkLibrariesWithApp() } /** @@ -87,6 +91,7 @@ def jscFlavor = 'org.webkit:android-jsc:+' apply from: new File(["node", "--print", "require.resolve('@sentry/react-native/package.json')"].execute().text.trim(), "../sentry.gradle") android { ndkVersion rootProject.ext.ndkVersion + buildToolsVersion rootProject.ext.buildToolsVersion compileSdkVersion rootProject.ext.compileSdkVersion namespace "it.pagopa.io.app" @@ -172,13 +177,6 @@ dependencies { // The version of react-native is set by the React Native Gradle Plugin implementation("com.facebook.react:react-android") - debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") - debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { - exclude group:'com.squareup.okhttp3', module:'okhttp' - } - - debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") - implementation project(':react-native-cie') implementation ("com.squareup.okhttp3:okhttp:4.9.2") @@ -191,7 +189,6 @@ dependencies { } implementation project(':react-native-fingerprint-scanner') - implementation project(':react-native-art') implementation "org.jetbrains.kotlin:kotlin-reflect:1.3.41" implementation('com.google.firebase:firebase-iid:21.1.0') { because "Firebase messaging 22.0.0 removes Firebase Instance ID API but out current version of the mixpanel sdk requires it https://github.com/mixpanel/mixpanel-android/issues/744 https://firebase.google.com/support/release-notes/android#messaging_v22-0-0" @@ -203,4 +200,3 @@ dependencies { // Add the following line to the bottom of the file: apply plugin: 'com.google.gms.google-services' // Google Play services Gradle plugin -apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index e51dfce18b5..6ef2c56845b 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -4,7 +4,8 @@ - - - + diff --git a/android/app/src/debug/java/it/pagopa/io/app/ReactNativeFlipper.java b/android/app/src/debug/java/it/pagopa/io/app/ReactNativeFlipper.java deleted file mode 100644 index 4aa790ac460..00000000000 --- a/android/app/src/debug/java/it/pagopa/io/app/ReactNativeFlipper.java +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - *

This source code is licensed under the MIT license found in the LICENSE file in the root - * directory of this source tree. - */ -package it.pagopa.io.app; -import android.content.Context; -import com.facebook.flipper.android.AndroidFlipperClient; -import com.facebook.flipper.android.utils.FlipperUtils; -import com.facebook.flipper.core.FlipperClient; -import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin; -import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin; -import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin; -import com.facebook.flipper.plugins.inspector.DescriptorMapping; -import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; -import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; -import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; -import com.facebook.flipper.plugins.react.ReactFlipperPlugin; -import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; -import com.facebook.react.ReactInstanceEventListener; -import com.facebook.react.ReactInstanceManager; -import com.facebook.react.bridge.ReactContext; -import com.facebook.react.modules.network.NetworkingModule; -import okhttp3.OkHttpClient; - -/** - * Class responsible of loading Flipper inside your React Native application. This is the debug - * flavor of it. Here you can add your own plugins and customize the Flipper setup. - */ -public class ReactNativeFlipper { - public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { - if (FlipperUtils.shouldEnableFlipper(context)) { - final FlipperClient client = AndroidFlipperClient.getInstance(context); - client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults())); - client.addPlugin(new DatabasesFlipperPlugin(context)); - client.addPlugin(new SharedPreferencesFlipperPlugin(context)); - client.addPlugin(CrashReporterPlugin.getInstance()); - NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); - NetworkingModule.setCustomClientBuilder( - new NetworkingModule.CustomClientBuilder() { - @Override - public void apply(OkHttpClient.Builder builder) { - builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); - } - }); - client.addPlugin(networkFlipperPlugin); - client.start(); - // Fresco Plugin needs to ensure that ImagePipelineFactory is initialized - // Hence we run if after all native modules have been initialized - ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); - if (reactContext == null) { - reactInstanceManager.addReactInstanceEventListener( - new ReactInstanceEventListener() { - @Override - public void onReactContextInitialized(ReactContext reactContext) { - reactInstanceManager.removeReactInstanceEventListener(this); - reactContext.runOnNativeModulesQueueThread( - new Runnable() { - @Override - public void run() { - client.addPlugin(new FrescoFlipperPlugin()); - } - }); - } - }); - } else { - client.addPlugin(new FrescoFlipperPlugin()); - } - } - } -} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index ae9f3428b25..654b29d580c 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -47,7 +47,7 @@ - + diff --git a/android/app/src/main/java/it/pagopa/io/app/MainActivity.java b/android/app/src/main/java/it/pagopa/io/app/MainActivity.java deleted file mode 100644 index 066cde9e3ed..00000000000 --- a/android/app/src/main/java/it/pagopa/io/app/MainActivity.java +++ /dev/null @@ -1,54 +0,0 @@ -package it.pagopa.io.app; - -import android.content.pm.ActivityInfo; -import android.os.Build; -import android.os.Bundle; - -import androidx.appcompat.app.AlertDialog; - -import com.facebook.react.ReactActivity; -import com.facebook.react.ReactActivityDelegate; -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; -import com.facebook.react.defaults.DefaultReactActivityDelegate; -import org.devio.rn.splashscreen.SplashScreen; - -public class MainActivity extends ReactActivity { - - /** - * Returns the name of the main component registered from JavaScript. This is - * used to schedule rendering of the component. - */ - @Override - protected String getMainComponentName() { - return "IO"; - } - - // see - // https://github.com/crazycodeboy/react-native-splash-screen#third-stepplugin-configuration - @Override - protected void onCreate(Bundle savedInstanceState) { - SplashScreen.show(this, R.style.SplashScreenTheme); - // This is needed for react-native-screens to solve the issue described here: - // https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-424704633 - super.onCreate(null); - // Fix the problem described here: - // https://stackoverflow.com/questions/48072438/java-lang-illegalstateexception-only-fullscreen-opaque-activities-can-request-o - if (android.os.Build.VERSION.SDK_INT != Build.VERSION_CODES.O) { - setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - } - } - - /** - * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link - * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React - * (aka React 18) with two boolean flags. - */ - @Override - protected ReactActivityDelegate createReactActivityDelegate() { - return new DefaultReactActivityDelegate( - this, - getMainComponentName(), - // If you opted-in for the New Architecture, we enable the Fabric Renderer. - DefaultNewArchitectureEntryPoint.getFabricEnabled()); - } -} diff --git a/android/app/src/main/java/it/pagopa/io/app/MainActivity.kt b/android/app/src/main/java/it/pagopa/io/app/MainActivity.kt new file mode 100644 index 00000000000..664c16641c4 --- /dev/null +++ b/android/app/src/main/java/it/pagopa/io/app/MainActivity.kt @@ -0,0 +1,38 @@ +package it.pagopa.io.app; + +import android.content.pm.ActivityInfo; +import android.os.Build; +import android.os.Bundle; + +import androidx.appcompat.app.AlertDialog; + +import com.facebook.react.ReactActivity +import com.facebook.react.ReactActivityDelegate +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled +import com.facebook.react.defaults.DefaultReactActivityDelegate + +import org.devio.rn.splashscreen.SplashScreen; + +class MainActivity : ReactActivity() { + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + override fun getMainComponentName(): String = "IO" + + /** + * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] + * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] + */ + override fun createReactActivityDelegate(): ReactActivityDelegate = + DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) + + // https://github.com/crazycodeboy/react-native-splash-screen#third-stepplugin-configuration + override fun onCreate(savedInstanceState: Bundle?) { + SplashScreen.show(this, R.style.SplashScreenTheme); + // This is needed for react-native-screens to solve the issue described here: + // https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-424704633 + super.onCreate(null); + } +} diff --git a/android/app/src/main/java/it/pagopa/io/app/MainApplication.java b/android/app/src/main/java/it/pagopa/io/app/MainApplication.java deleted file mode 100644 index fde21027b12..00000000000 --- a/android/app/src/main/java/it/pagopa/io/app/MainApplication.java +++ /dev/null @@ -1,71 +0,0 @@ -package it.pagopa.io.app; - -import com.facebook.react.ReactApplication; -import com.facebook.react.ReactNativeHost; -import com.facebook.react.ReactPackage; -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; -import com.facebook.react.defaults.DefaultReactNativeHost; -import com.facebook.soloader.SoLoader; -import it.ipzs.cieidsdk.native_bridge.CiePackage; -import com.reactnativecommunity.art.ARTPackage; -import com.facebook.react.bridge.JSIModulePackage; - -import com.facebook.react.PackageList; - -import android.app.Application; -import android.content.Context; -import com.facebook.react.ReactInstanceManager; - -import java.util.List; - -public class MainApplication extends Application implements ReactApplication { - - - private final ReactNativeHost mReactNativeHost = - new DefaultReactNativeHost(this) { - @Override - public boolean getUseDeveloperSupport() { - return BuildConfig.DEBUG; - } - - @Override - protected String getJSMainModuleName() { - return "index"; - } - - @Override - protected List getPackages() { - List packages = new PackageList(this).getPackages(); - packages.add(new CiePackage()); - packages.add(new ARTPackage()); - return packages; - } - - @Override - protected boolean isNewArchEnabled() { - return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; - } - - @Override - protected Boolean isHermesEnabled() { - return BuildConfig.IS_HERMES_ENABLED; - } - }; - - @Override - public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; - } - - @Override - public void onCreate() { - super.onCreate(); - SoLoader.init(this, /* native exopackage */ false); - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - // If you opted-in for the New Architecture, we load the native entry point for this app. - DefaultNewArchitectureEntryPoint.load(); - } - ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); - } - -} diff --git a/android/app/src/main/java/it/pagopa/io/app/MainApplication.kt b/android/app/src/main/java/it/pagopa/io/app/MainApplication.kt new file mode 100644 index 00000000000..6a24709060f --- /dev/null +++ b/android/app/src/main/java/it/pagopa/io/app/MainApplication.kt @@ -0,0 +1,46 @@ +package it.pagopa.io.app + +import android.app.Application +import com.facebook.react.PackageList +import com.facebook.react.ReactApplication +import com.facebook.react.ReactHost +import com.facebook.react.ReactNativeHost +import com.facebook.react.ReactPackage +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load +import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost +import com.facebook.react.defaults.DefaultReactNativeHost +import com.facebook.soloader.SoLoader +import it.ipzs.cieidsdk.native_bridge.CiePackage + +class MainApplication : Application(), ReactApplication { + + override val reactNativeHost: ReactNativeHost = + object : DefaultReactNativeHost(this) { + override fun getPackages(): List = + PackageList(this).packages.apply { + // Packages that cannot be autolinked yet can be added manually here, for example: + // add(MyReactNativePackage()) + add(CiePackage()) + } + + override fun getJSMainModuleName(): String = "index" + + override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG + + override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED + override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED + } + + override val reactHost: ReactHost + get() = getDefaultReactHost(applicationContext, reactNativeHost) + + override fun onCreate() { + super.onCreate() + SoLoader.init(this, false) + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // If you opted-in for the New Architecture, we load the native entry point for this app. + load() + } + } +} + diff --git a/android/app/src/main/res/drawable/rn_edit_text_material.xml b/android/app/src/main/res/drawable/rn_edit_text_material.xml index dd9d1521cac..81a57ff0dc2 100644 --- a/android/app/src/main/res/drawable/rn_edit_text_material.xml +++ b/android/app/src/main/res/drawable/rn_edit_text_material.xml @@ -1,9 +1,12 @@ - - - - + android:insetBottom="@dimen/abc_edit_text_inset_bottom_material" + > + + + + + + + + \ No newline at end of file diff --git a/android/app/src/release/java/it/pagopa/io/app/ReactNativeFlipper.java b/android/app/src/release/java/it/pagopa/io/app/ReactNativeFlipper.java deleted file mode 100644 index 8219f1aa95a..00000000000 --- a/android/app/src/release/java/it/pagopa/io/app/ReactNativeFlipper.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - *

This source code is licensed under the MIT license found in the LICENSE file in the root - * directory of this source tree. - */ -package it.pagopa.io.app; - -import android.content.Context; -import com.facebook.react.ReactInstanceManager; - -/** - * Class responsible of loading Flipper inside your React Native application. This is the release - * flavor of it so it's empty as we don't want to load Flipper. - */ -public class ReactNativeFlipper { - public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { - // Do nothing as we don't want to initialize Flipper on Release. - } -} \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle index 9223a401d2f..3f0d88676a4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,15 +2,13 @@ buildscript { ext { - firebaseMessagingVersion = "23.2.1" buildToolsVersion = "34.0.0" - kotlinVersion = "1.7.0" minSdkVersion = 25 compileSdkVersion = 34 targetSdkVersion = 34 - supportLibVersion = "28.0.0" - // We use NDK 24 which has both M1 support and is the side-by-side NDK version from AGP. - ndkVersion = "24.0.8215888" + ndkVersion = "26.1.10909125" + kotlinVersion = "1.9.24" + firebaseMessagingVersion = "23.2.1" } repositories { google() @@ -21,7 +19,7 @@ buildscript { classpath 'com.facebook.react:react-native-gradle-plugin' classpath 'com.google.gms:google-services:4.3.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" - + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin" } } @@ -32,3 +30,5 @@ allprojects { maven { url 'https://zendesk.jfrog.io/zendesk/repo' } } } + +apply plugin: "com.facebook.react.rootproject" \ No newline at end of file diff --git a/android/gradle.properties b/android/gradle.properties index cdc306862d0..dcb8613c4be 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -21,13 +21,8 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m # Android operating system, and which are packaged with your app's APK # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true - -# Automatically convert third-party libraries to use AndroidX android.enableJetifier=true -# Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.182.0 - # Use this property to specify which architecture you want to build. # You can also override it from the CLI using # ./gradlew -PreactNativeArchitectures=x86_64 diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index 943f0cbfa75..e6441136f3d 100644 Binary files a/android/gradle/wrapper/gradle-wrapper.jar and b/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 6ec1567a0f8..6f7a6eb33e8 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-all.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/gradlew b/android/gradlew index 510d795ac83..731b6eca404 100755 --- a/android/gradlew +++ b/android/gradlew @@ -17,6 +17,7 @@ # ############################################################################## +# # Gradle start up script for POSIX generated by Gradle. # # Important for running: @@ -54,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -62,8 +63,10 @@ ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link app_path=$0 + # Need this for daisy-chained symlinks. while APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path @@ -80,9 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -112,6 +114,7 @@ esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -128,19 +131,21 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. - if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -148,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -163,11 +168,12 @@ fi # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java - if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh for arg do if @@ -192,16 +198,22 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ org.gradle.wrapper.GradleWrapperMain \ "$@" + # Stop when "xargs" is not available. if ! command -v xargs >/dev/null 2>&1 then @@ -234,9 +246,4 @@ eval "set -- $( tr '\n' ' ' )" '"$@"' -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "$@" +exec "$JAVACMD" "$@" \ No newline at end of file diff --git a/android/gradlew.bat b/android/gradlew.bat index 4b4ef2d7626..0faad1aea57 100644 --- a/android/gradlew.bat +++ b/android/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -70,6 +70,7 @@ goto fail set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* @@ -88,4 +89,4 @@ exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal -:omega +:omega \ No newline at end of file diff --git a/android/settings.gradle b/android/settings.gradle index 2f63f80bcde..d5693a26b26 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,3 +1,6 @@ +pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") } +plugins { id("com.facebook.react.settings") } +extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() } rootProject.name = 'ItaliaApp' include ':react-native-reanimated' project(':react-native-reanimated').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-reanimated/android') @@ -11,7 +14,6 @@ include ':react-native-linear-gradient' project(':react-native-linear-gradient').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linear-gradient/android') include ':react-native-share' project(':react-native-share').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share/android') -apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':react-native-lewin-qrcode' project(':react-native-lewin-qrcode').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-lewin-qrcode/android') include ':react-native-image-picker' @@ -53,6 +55,4 @@ project(':react-native-community-netinfo').projectDir = new File(rootProject.pro include ':react-native-screen-brightness' project(':react-native-screen-brightness').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-screen-brightness/android') include ':app' -includeBuild('../node_modules/@react-native/gradle-plugin') -include ':react-native-art' -project(':react-native-art').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/art/android') +includeBuild('../node_modules/@react-native/gradle-plugin') \ No newline at end of file diff --git a/babel.config.js b/babel.config.js index 6df709f3d4c..f4215f40295 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,4 +1,5 @@ module.exports = { + presets: ["module:@react-native/babel-preset"], plugins: [ "macros", [ @@ -7,6 +8,5 @@ module.exports = { globals: ["__scanCodes"] } ] - ], - presets: ["module:metro-react-native-babel-preset"] + ] }; diff --git a/ios/ItaliaApp.xcodeproj/project.pbxproj b/ios/ItaliaApp.xcodeproj/project.pbxproj index 1d8a857d4a1..32da3c4e2ca 100644 --- a/ios/ItaliaApp.xcodeproj/project.pbxproj +++ b/ios/ItaliaApp.xcodeproj/project.pbxproj @@ -452,9 +452,6 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-ItaliaApp/Pods-ItaliaApp-frameworks.sh", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ZendeskAnswerBotProvidersSDK/AnswerBotProvidersSDK.framework/AnswerBotProvidersSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ZendeskAnswerBotSDK/AnswerBotSDK.framework/AnswerBotSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ZendeskChatProvidersSDK/ChatProvidersSDK.framework/ChatProvidersSDK", @@ -470,9 +467,6 @@ ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AnswerBotProvidersSDK.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AnswerBotSDK.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ChatProvidersSDK.framework", @@ -499,20 +493,30 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-ItaliaApp-ItaliaAppTests/Pods-ItaliaApp-ItaliaAppTests-resources.sh", "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage/RNCAsyncStorage_resources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/LottiePrivacyInfo.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/lottie-react-native/Lottie_React_Native_Privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll/RNCameraRollPrivacyInfo.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Alamofire.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNCAsyncStorage_resources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LottiePrivacyInfo.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Lottie_React_Native_Privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNCameraRollPrivacyInfo.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -573,20 +577,30 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-ItaliaApp/Pods-ItaliaApp-resources.sh", "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage/RNCAsyncStorage_resources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/LottiePrivacyInfo.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/lottie-react-native/Lottie_React_Native_Privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/react-native-cameraroll/RNCameraRollPrivacyInfo.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Alamofire.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNCAsyncStorage_resources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LottiePrivacyInfo.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Lottie_React_Native_Privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNCameraRollPrivacyInfo.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -622,9 +636,6 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-ItaliaApp-ItaliaAppTests/Pods-ItaliaApp-ItaliaAppTests-frameworks.sh", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ZendeskAnswerBotProvidersSDK/AnswerBotProvidersSDK.framework/AnswerBotProvidersSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ZendeskAnswerBotSDK/AnswerBotSDK.framework/AnswerBotSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ZendeskChatProvidersSDK/ChatProvidersSDK.framework/ChatProvidersSDK", @@ -640,9 +651,6 @@ ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AnswerBotProvidersSDK.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AnswerBotSDK.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ChatProvidersSDK.framework", @@ -840,8 +848,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CC = ""; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -865,6 +874,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; + CXX = ""; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; @@ -885,6 +895,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD = ""; + LDPLUSPLUS = ""; LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; LIBRARY_SEARCH_PATHS = ( "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", @@ -898,6 +910,8 @@ OTHER_LDFLAGS = "$(inherited)"; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; + USE_HERMES = true; }; name = Debug; }; @@ -905,8 +919,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CC = ""; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -931,6 +946,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; + CXX = ""; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; @@ -947,6 +963,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD = ""; + LDPLUSPLUS = ""; LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; LIBRARY_SEARCH_PATHS = ( "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", @@ -959,6 +977,7 @@ OTHER_LDFLAGS = "$(inherited)"; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + USE_HERMES = true; VALIDATE_PRODUCT = YES; }; name = Release; diff --git a/ios/ItaliaApp/AppDelegate.mm b/ios/ItaliaApp/AppDelegate.mm index 00a641313b0..f953b62fda2 100644 --- a/ios/ItaliaApp/AppDelegate.mm +++ b/ios/ItaliaApp/AppDelegate.mm @@ -48,6 +48,11 @@ -(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNoti } - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ + return [self bundleURL]; +} + +- (NSURL *)bundleURL { #if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; diff --git a/ios/ItaliaApp/Info.plist b/ios/ItaliaApp/Info.plist index adc34b400f2..02778155951 100644 --- a/ios/ItaliaApp/Info.plist +++ b/ios/ItaliaApp/Info.plist @@ -53,6 +53,11 @@ NFC tag to read EIC cards NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSAllowsLocalNetworking + NSExceptionDomains localhost @@ -124,8 +129,8 @@ UILaunchStoryboardName LaunchScreen UIRequiredDeviceCapabilities - - armv7 + + arm64 UISupportedInterfaceOrientations diff --git a/ios/ItaliaApp/PrivacyInfo.xcprivacy b/ios/ItaliaApp/PrivacyInfo.xcprivacy index b3a7f957954..41534c7bf66 100644 --- a/ios/ItaliaApp/PrivacyInfo.xcprivacy +++ b/ios/ItaliaApp/PrivacyInfo.xcprivacy @@ -2,10 +2,43 @@ - NSPrivacyTracking - - NSPrivacyTrackingDomains - + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + 3B52.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + 1C8F.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryDiskSpace + NSPrivacyAccessedAPITypeReasons + + 7D9E.1 + + + NSPrivacyCollectedDataTypes @@ -13,227 +46,196 @@ NSPrivacyCollectedDataTypeOtherDataTypes NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeProductPersonalization NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeCoarseLocation NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeName NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeEmailAddress NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeHealth NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypePaymentInfo NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeCustomerSupport NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeUserID NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAnalytics NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeProductPersonalization + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeDeviceID NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypePurchaseHistory NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeProductInteraction NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeOtherUsageData NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeCrashData NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypePerformanceData NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeOtherDiagnosticData NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAppFunctionality NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + - NSPrivacyAccessedAPITypes - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryFileTimestamp - NSPrivacyAccessedAPITypeReasons - - C617.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryDiskSpace - NSPrivacyAccessedAPITypeReasons - - 7D9E.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults - NSPrivacyAccessedAPITypeReasons - - 1C8F.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategorySystemBootTime - NSPrivacyAccessedAPITypeReasons - - 35F9.1 - - - + NSPrivacyTracking + + NSPrivacyTrackingDomains + diff --git a/ios/Podfile b/ios/Podfile index efbb07c9d56..f223a4ab13c 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -36,35 +36,12 @@ production = ENV["PRODUCTION"] == "1" # we are in a CI environment or not. IS_CI = ENV['CI'] -# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. -# because `react-native-flipper` depends on (FlipperKit,...) that will be excluded -# -# To fix this you can also exclude `react-native-flipper` using a `react-native.config.js` -# ```js -# module.exports = { -# dependencies: { -# ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), -# ``` -flipper_config = IS_CI ? FlipperConfiguration.disabled : FlipperConfiguration.enabled - - -# Flags change depending on the env values. -flags = get_default_flags() - target 'ItaliaApp' do config = use_native_modules! pod 'RNCPushNotificationIOS', :path => '../node_modules/@react-native-community/push-notification-ios' - pod 'ReactNativeART', :podspec => '../node_modules/@react-native-community/art/ReactNativeART.podspec' use_react_native!( :path => config[:reactNativePath], - :hermes_enabled => flags[:hermes_enabled], - :fabric_enabled => flags[:fabric_enabled], - # Enables Flipper. - # - # Note that if you have use_frameworks! enabled, Flipper will not work and - # you should disable these next few lines. - :flipper_configuration => flipper_config, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) @@ -79,22 +56,8 @@ target 'ItaliaApp' do react_native_post_install( installer, config[:reactNativePath], + :mac_catalyst_enabled => false, + # :ccache_enabled => true ) - - __apply_Xcode_12_5_M1_post_install_workaround(installer) - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - if target.name == 'Flipper' - file_path = 'Pods/Flipper/xplat/Flipper/FlipperTransportTypes.h' - contents = File.read(file_path) - unless contents.include?('#include ') - File.open(file_path, 'w') do |file| - file.puts('#include ') - file.puts(contents) - end - end - end - end - end end -end +end \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 2363a0dda83..1a3db72f2ff 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,431 +1,1439 @@ PODS: - Alamofire (5.9.1) - - boost (1.76.0) + - boost (1.84.0) - BVLinearGradient (2.5.6): - React - - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.72.14) - - FBReactNativeSpec (0.72.14): - - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 0.72.14) - - RCTTypeSafety (= 0.72.14) - - React-Core (= 0.72.14) - - React-jsi (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - Flipper (0.182.0): - - Flipper-Folly (~> 2.6) - - Flipper-Boost-iOSX (1.76.0.1.11) - - Flipper-DoubleConversion (3.2.0.1) - - Flipper-Fmt (7.1.7) - - Flipper-Folly (2.6.10): - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt (= 7.1.7) - - Flipper-Glog - - libevent (~> 2.1.12) - - OpenSSL-Universal (= 1.1.1100) - - Flipper-Glog (0.5.0.5) - - Flipper-PeerTalk (0.0.4) - - FlipperKit (0.182.0): - - FlipperKit/Core (= 0.182.0) - - FlipperKit/Core (0.182.0): - - Flipper (~> 0.182.0) - - FlipperKit/CppBridge - - FlipperKit/FBCxxFollyDynamicConvert - - FlipperKit/FBDefines - - FlipperKit/FKPortForwarding - - SocketRocket (~> 0.6.0) - - FlipperKit/CppBridge (0.182.0): - - Flipper (~> 0.182.0) - - FlipperKit/FBCxxFollyDynamicConvert (0.182.0): - - Flipper-Folly (~> 2.6) - - FlipperKit/FBDefines (0.182.0) - - FlipperKit/FKPortForwarding (0.182.0): - - CocoaAsyncSocket (~> 7.6) - - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.182.0) - - FlipperKit/FlipperKitLayoutHelpers (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutIOSDescriptors (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - FlipperKit/FlipperKitLayoutIOSDescriptors - - FlipperKit/FlipperKitLayoutTextSearchable - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.182.0) - - FlipperKit/FlipperKitNetworkPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitNetworkPlugin - - fmt (6.2.1) + - FBLazyVector (0.75.4) + - fmt (9.1.0) - glog (0.3.5) - - hermes-engine (0.72.14): - - hermes-engine/Pre-built (= 0.72.14) - - hermes-engine/Pre-built (0.72.14) + - hermes-engine (0.75.4): + - hermes-engine/Pre-built (= 0.75.4) + - hermes-engine/Pre-built (0.75.4) - io-react-native-secure-storage (0.1.1): - - RCT-Folly (= 2021.07.22.00) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - jail-monkey (2.8.0): - React-Core - JOSESwift (2.4.0) - - libevent (2.1.12) - lottie-ios (4.4.1) - lottie-react-native (6.7.2): + - DoubleConversion + - glog + - hermes-engine - lottie-ios (= 4.4.1) + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - Mixpanel-swift (4.2.0): - Mixpanel-swift/Complete (= 4.2.0) - Mixpanel-swift/Complete (4.2.0) - MixpanelReactNative (2.4.1): - Mixpanel-swift (= 4.2.0) - React-Core - - OpenSSL-Universal (1.1.1100) - pagopa-io-react-native-cieid (0.3.5): - - RCT-Folly (= 2021.07.22.00) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - pagopa-io-react-native-crypto (0.3.0): - React-Core - pagopa-io-react-native-http-client (1.0.5): - Alamofire (~> 5.9.1) - - RCT-Folly (= 2021.07.22.00) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - pagopa-io-react-native-integrity (0.3.0): - - RCT-Folly (= 2021.07.22.00) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core - SwiftCBOR + - Yoga - pagopa-io-react-native-jwt (1.2.0): + - DoubleConversion + - glog + - hermes-engine - JOSESwift (~> 2.3) - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - pagopa-io-react-native-login-utils (1.0.6): - React-Core - pagopa-react-native-zendesk (0.3.29): - - RCT-Folly (= 2021.07.22.00) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - ZendeskAnswerBotSDK - ZendeskChatSDK - ZendeskMessagingAPISDK - ZendeskSupportSDK - - RCT-Folly (2021.07.22.00): + - RCT-Folly (2024.01.01.00): - boost - DoubleConversion - - fmt (~> 6.2.1) + - fmt (= 9.1.0) - glog - - RCT-Folly/Default (= 2021.07.22.00) - - RCT-Folly/Default (2021.07.22.00): + - RCT-Folly/Default (= 2024.01.01.00) + - RCT-Folly/Default (2024.01.01.00): - boost - DoubleConversion - - fmt (~> 6.2.1) + - fmt (= 9.1.0) - glog - - RCT-Folly/Futures (2021.07.22.00): + - RCT-Folly/Fabric (2024.01.01.00): - boost - DoubleConversion - - fmt (~> 6.2.1) - - glog - - libevent - - RCTRequired (0.72.14) - - RCTTypeSafety (0.72.14): - - FBLazyVector (= 0.72.14) - - RCTRequired (= 0.72.14) - - React-Core (= 0.72.14) - - React (0.72.14): - - React-Core (= 0.72.14) - - React-Core/DevSupport (= 0.72.14) - - React-Core/RCTWebSocket (= 0.72.14) - - React-RCTActionSheet (= 0.72.14) - - React-RCTAnimation (= 0.72.14) - - React-RCTBlob (= 0.72.14) - - React-RCTImage (= 0.72.14) - - React-RCTLinking (= 0.72.14) - - React-RCTNetwork (= 0.72.14) - - React-RCTSettings (= 0.72.14) - - React-RCTText (= 0.72.14) - - React-RCTVibration (= 0.72.14) - - React-callinvoker (0.72.14) - - React-Codegen (0.72.14): - - DoubleConversion - - FBReactNativeSpec + - fmt (= 9.1.0) - glog - - hermes-engine - - RCT-Folly - - RCTRequired - - RCTTypeSafety - - React-Core - - React-jsi - - React-jsiexecutor - - React-NativeModulesApple - - React-rncore - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - React-Core (0.72.14): + - RCTDeprecation (0.75.4) + - RCTRequired (0.75.4) + - RCTTypeSafety (0.75.4): + - FBLazyVector (= 0.75.4) + - RCTRequired (= 0.75.4) + - React-Core (= 0.75.4) + - React (0.75.4): + - React-Core (= 0.75.4) + - React-Core/DevSupport (= 0.75.4) + - React-Core/RCTWebSocket (= 0.75.4) + - React-RCTActionSheet (= 0.75.4) + - React-RCTAnimation (= 0.75.4) + - React-RCTBlob (= 0.75.4) + - React-RCTImage (= 0.75.4) + - React-RCTLinking (= 0.75.4) + - React-RCTNetwork (= 0.75.4) + - React-RCTSettings (= 0.75.4) + - React-RCTText (= 0.75.4) + - React-RCTVibration (= 0.75.4) + - React-callinvoker (0.75.4) + - React-Core (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.14) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.75.4) - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/CoreModulesHeaders (0.72.14): + - React-Core/CoreModulesHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/Default (0.72.14): + - React-Core/Default (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/DevSupport (0.72.14): + - React-Core/DevSupport (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.14) - - React-Core/RCTWebSocket (= 0.72.14) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.75.4) + - React-Core/RCTWebSocket (= 0.75.4) - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor - - React-jsinspector (= 0.72.14) + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTActionSheetHeaders (0.72.14): + - React-Core/RCTActionSheetHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTAnimationHeaders (0.72.14): + - React-Core/RCTAnimationHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTBlobHeaders (0.72.14): + - React-Core/RCTBlobHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTImageHeaders (0.72.14): + - React-Core/RCTImageHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTLinkingHeaders (0.72.14): + - React-Core/RCTLinkingHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTNetworkHeaders (0.72.14): + - React-Core/RCTNetworkHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTSettingsHeaders (0.72.14): + - React-Core/RCTSettingsHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTTextHeaders (0.72.14): + - React-Core/RCTTextHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTVibrationHeaders (0.72.14): + - React-Core/RCTVibrationHeaders (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation - React-Core/Default - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTWebSocket (0.72.14): + - React-Core/RCTWebSocket (0.75.4): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.14) + - RCT-Folly (= 2024.01.01.00) + - RCTDeprecation + - React-Core/Default (= 0.75.4) - React-cxxreact + - React-featureflags - React-hermes - React-jsi - React-jsiexecutor + - React-jsinspector - React-perflogger - - React-runtimeexecutor + - React-runtimescheduler - React-utils - - SocketRocket (= 0.6.1) + - SocketRocket (= 0.7.0) - Yoga - - React-CoreModules (0.72.14): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.14) - - React-Codegen (= 0.72.14) - - React-Core/CoreModulesHeaders (= 0.72.14) - - React-jsi (= 0.72.14) + - React-CoreModules (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety (= 0.75.4) + - React-Core/CoreModulesHeaders (= 0.75.4) + - React-jsi (= 0.75.4) + - React-jsinspector + - React-NativeModulesApple - React-RCTBlob - - React-RCTImage (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - SocketRocket (= 0.6.1) - - React-cxxreact (0.72.14): - - boost (= 1.76.0) + - React-RCTImage (= 0.75.4) + - ReactCodegen + - ReactCommon + - SocketRocket (= 0.7.0) + - React-cxxreact (0.75.4): + - boost + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.75.4) + - React-debug (= 0.75.4) + - React-jsi (= 0.75.4) + - React-jsinspector + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - React-runtimeexecutor (= 0.75.4) + - React-debug (0.75.4) + - React-defaultsnativemodule (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-domnativemodule + - React-Fabric + - React-featureflags + - React-featureflagsnativemodule + - React-graphics + - React-idlecallbacksnativemodule + - React-ImageManager + - React-microtasksnativemodule + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-domnativemodule (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricComponents + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-Fabric (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/animations (= 0.75.4) + - React-Fabric/attributedstring (= 0.75.4) + - React-Fabric/componentregistry (= 0.75.4) + - React-Fabric/componentregistrynative (= 0.75.4) + - React-Fabric/components (= 0.75.4) + - React-Fabric/core (= 0.75.4) + - React-Fabric/dom (= 0.75.4) + - React-Fabric/imagemanager (= 0.75.4) + - React-Fabric/leakchecker (= 0.75.4) + - React-Fabric/mounting (= 0.75.4) + - React-Fabric/observers (= 0.75.4) + - React-Fabric/scheduler (= 0.75.4) + - React-Fabric/telemetry (= 0.75.4) + - React-Fabric/templateprocessor (= 0.75.4) + - React-Fabric/uimanager (= 0.75.4) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/animations (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/attributedstring (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistry (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistrynative (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/components/legacyviewmanagerinterop (= 0.75.4) + - React-Fabric/components/root (= 0.75.4) + - React-Fabric/components/view (= 0.75.4) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/legacyviewmanagerinterop (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/root (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/view (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-Fabric/core (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/dom (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/imagemanager (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/leakchecker (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/mounting (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/observers (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/observers/events (= 0.75.4) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/observers/events (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/scheduler (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/observers/events + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-performancetimeline + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/telemetry (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/templateprocessor (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/uimanager (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/uimanager/consistency (= 0.75.4) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/uimanager/consistency (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-FabricComponents (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components (= 0.75.4) + - React-FabricComponents/textlayoutmanager (= 0.75.4) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components/inputaccessory (= 0.75.4) + - React-FabricComponents/components/iostextinput (= 0.75.4) + - React-FabricComponents/components/modal (= 0.75.4) + - React-FabricComponents/components/rncore (= 0.75.4) + - React-FabricComponents/components/safeareaview (= 0.75.4) + - React-FabricComponents/components/scrollview (= 0.75.4) + - React-FabricComponents/components/text (= 0.75.4) + - React-FabricComponents/components/textinput (= 0.75.4) + - React-FabricComponents/components/unimplementedview (= 0.75.4) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/inputaccessory (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/iostextinput (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/modal (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/rncore (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/safeareaview (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/scrollview (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/text (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/textinput (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/unimplementedview (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/textlayoutmanager (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/core + - Yoga + - React-FabricImage (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired (= 0.75.4) + - RCTTypeSafety (= 0.75.4) + - React-Fabric + - React-graphics + - React-ImageManager + - React-jsi + - React-jsiexecutor (= 0.75.4) + - React-logger + - React-rendererdebug + - React-utils + - ReactCommon + - Yoga + - React-featureflags (0.75.4) + - React-featureflagsnativemodule (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-graphics (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-jsi + - React-jsiexecutor + - React-utils + - React-hermes (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-cxxreact (= 0.75.4) + - React-jsi + - React-jsiexecutor (= 0.75.4) + - React-jsinspector + - React-perflogger (= 0.75.4) + - React-runtimeexecutor + - React-idlecallbacksnativemodule (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-ImageManager (0.75.4): + - glog + - RCT-Folly/Fabric + - React-Core/Default + - React-debug + - React-Fabric + - React-graphics + - React-rendererdebug + - React-utils + - React-jserrorhandler (0.75.4): + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-debug + - React-jsi + - React-jsi (0.75.4): + - boost - DoubleConversion + - fmt (= 9.1.0) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.14) - - React-debug (= 0.72.14) - - React-jsi (= 0.72.14) - - React-jsinspector (= 0.72.14) - - React-logger (= 0.72.14) - - React-perflogger (= 0.72.14) - - React-runtimeexecutor (= 0.72.14) - - React-debug (0.72.14) - - React-hermes (0.72.14): + - RCT-Folly (= 2024.01.01.00) + - React-jsiexecutor (0.75.4): - DoubleConversion + - fmt (= 9.1.0) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - RCT-Folly/Futures (= 2021.07.22.00) - - React-cxxreact (= 0.72.14) - - React-jsi - - React-jsiexecutor (= 0.72.14) - - React-jsinspector (= 0.72.14) - - React-perflogger (= 0.72.14) - - React-jsi (0.72.14): - - boost (= 1.76.0) + - RCT-Folly (= 2024.01.01.00) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) + - React-jsinspector + - React-perflogger (= 0.75.4) + - React-jsinspector (0.75.4): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-jsiexecutor (0.72.14): + - RCT-Folly (= 2024.01.01.00) + - React-featureflags + - React-jsi + - React-runtimeexecutor (= 0.75.4) + - React-jsitracing (0.75.4): + - React-jsi + - React-logger (0.75.4): + - glog + - React-Mapbuffer (0.75.4): + - glog + - React-debug + - React-microtasksnativemodule (0.75.4): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.72.14) - - React-jsi (= 0.72.14) - - React-perflogger (= 0.72.14) - - React-jsinspector (0.72.14) - - React-logger (0.72.14): - - glog + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - react-native-background-timer (2.1.1): - React - react-native-blob-util (0.15.0): - React-Core - - react-native-cameraroll (5.6.1): + - react-native-cameraroll (7.8.3): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - react-native-config (1.4.5): - react-native-config/App (= 1.4.5) - react-native-config/App (1.4.5): @@ -436,175 +1444,411 @@ PODS: - React-Core - react-native-fingerprint-scanner (6.0.0): - React - - react-native-flipper (0.154.0): - - React-Core - react-native-get-random-values (1.11.0): - React-Core - react-native-image-picker (4.10.3): - React-Core - - react-native-netinfo (6.0.6): + - react-native-netinfo (11.4.1): - React-Core - react-native-notifications-utils (0.3.0): - React-Core - - react-native-pager-view (6.2.3): - - RCT-Folly (= 2021.07.22.00) + - react-native-pager-view (6.4.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - react-native-pdf (6.7.4): - React-Core - react-native-pdf-thumbnail (1.2.1): - React-Core - react-native-render-html (6.3.1): - React-Core - - react-native-safe-area-context (4.10.4): + - react-native-safe-area-context (4.11.1): - React-Core - react-native-screen-brightness (2.0.0-alpha): - React - react-native-skia (1.3.13): - - RCT-Folly (= 2021.07.22.00) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React - React-callinvoker - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - react-native-slider (3.0.3): - React - react-native-splash-screen (3.2.0): - React - react-native-view-shot (3.1.2): - React - - react-native-webview (13.10.3): - - RCT-Folly (= 2021.07.22.00) + - react-native-webview (13.12.3): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core - - React-NativeModulesApple (0.72.14): + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-nativeconfig (0.75.4) + - React-NativeModulesApple (0.75.4): + - glog - hermes-engine - React-callinvoker - React-Core - React-cxxreact - React-jsi + - React-jsinspector - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.72.14) - - React-RCTActionSheet (0.72.14): - - React-Core/RCTActionSheetHeaders (= 0.72.14) - - React-RCTAnimation (0.72.14): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.14) - - React-Codegen (= 0.72.14) - - React-Core/RCTAnimationHeaders (= 0.72.14) - - React-jsi (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - React-RCTAppDelegate (0.72.14): - - RCT-Folly + - React-perflogger (0.75.4) + - React-performancetimeline (0.75.4): + - RCT-Folly (= 2024.01.01.00) + - React-cxxreact + - React-RCTActionSheet (0.75.4): + - React-Core/RCTActionSheetHeaders (= 0.75.4) + - React-RCTAnimation (0.75.4): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Core/RCTAnimationHeaders + - React-jsi + - React-NativeModulesApple + - ReactCodegen + - ReactCommon + - React-RCTAppDelegate (0.75.4): + - RCT-Folly (= 2024.01.01.00) - RCTRequired - RCTTypeSafety - React-Core - React-CoreModules + - React-debug + - React-defaultsnativemodule + - React-Fabric + - React-featureflags + - React-graphics - React-hermes + - React-nativeconfig - React-NativeModulesApple + - React-RCTFabric - React-RCTImage - React-RCTNetwork + - React-rendererdebug + - React-RuntimeApple + - React-RuntimeCore + - React-RuntimeHermes - React-runtimescheduler - - ReactCommon/turbomodule/core - - React-RCTBlob (0.72.14): - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.14) - - React-Core/RCTBlobHeaders (= 0.72.14) - - React-Core/RCTWebSocket (= 0.72.14) - - React-jsi (= 0.72.14) - - React-RCTNetwork (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - React-RCTImage (0.72.14): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.14) - - React-Codegen (= 0.72.14) - - React-Core/RCTImageHeaders (= 0.72.14) - - React-jsi (= 0.72.14) - - React-RCTNetwork (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - React-RCTLinking (0.72.14): - - React-Codegen (= 0.72.14) - - React-Core/RCTLinkingHeaders (= 0.72.14) - - React-jsi (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - React-RCTNetwork (0.72.14): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.14) - - React-Codegen (= 0.72.14) - - React-Core/RCTNetworkHeaders (= 0.72.14) - - React-jsi (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - React-RCTSettings (0.72.14): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.14) - - React-Codegen (= 0.72.14) - - React-Core/RCTSettingsHeaders (= 0.72.14) - - React-jsi (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - React-RCTText (0.72.14): - - React-Core/RCTTextHeaders (= 0.72.14) - - React-RCTVibration (0.72.14): - - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.14) - - React-Core/RCTVibrationHeaders (= 0.72.14) - - React-jsi (= 0.72.14) - - ReactCommon/turbomodule/core (= 0.72.14) - - React-rncore (0.72.14) - - React-runtimeexecutor (0.72.14): - - React-jsi (= 0.72.14) - - React-runtimescheduler (0.72.14): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - React-utils + - ReactCodegen + - ReactCommon + - React-RCTBlob (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-Core/RCTBlobHeaders + - React-Core/RCTWebSocket + - React-jsi + - React-jsinspector + - React-NativeModulesApple + - React-RCTNetwork + - ReactCodegen + - ReactCommon + - React-RCTFabric (0.75.4): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-Core + - React-debug + - React-Fabric + - React-FabricComponents + - React-FabricImage + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsi + - React-jsinspector + - React-nativeconfig + - React-performancetimeline + - React-RCTImage + - React-RCTText + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - Yoga + - React-RCTImage (0.75.4): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Core/RCTImageHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTNetwork + - ReactCodegen + - ReactCommon + - React-RCTLinking (0.75.4): + - React-Core/RCTLinkingHeaders (= 0.75.4) + - React-jsi (= 0.75.4) + - React-NativeModulesApple + - ReactCodegen + - ReactCommon + - ReactCommon/turbomodule/core (= 0.75.4) + - React-RCTNetwork (0.75.4): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Core/RCTNetworkHeaders + - React-jsi + - React-NativeModulesApple + - ReactCodegen + - ReactCommon + - React-RCTSettings (0.75.4): + - RCT-Folly (= 2024.01.01.00) + - RCTTypeSafety + - React-Core/RCTSettingsHeaders + - React-jsi + - React-NativeModulesApple + - ReactCodegen + - ReactCommon + - React-RCTText (0.75.4): + - React-Core/RCTTextHeaders (= 0.75.4) + - Yoga + - React-RCTVibration (0.75.4): + - RCT-Folly (= 2024.01.01.00) + - React-Core/RCTVibrationHeaders + - React-jsi + - React-NativeModulesApple + - ReactCodegen + - ReactCommon + - React-rendererconsistency (0.75.4) + - React-rendererdebug (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - RCT-Folly (= 2024.01.01.00) + - React-debug + - React-rncore (0.75.4) + - React-RuntimeApple (0.75.4): + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-callinvoker + - React-Core/Default + - React-CoreModules + - React-cxxreact + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-Mapbuffer + - React-NativeModulesApple + - React-RCTFabric + - React-RuntimeCore + - React-runtimeexecutor + - React-RuntimeHermes + - React-runtimescheduler + - React-utils + - React-RuntimeCore (0.75.4): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-cxxreact + - React-featureflags + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-runtimeexecutor + - React-runtimescheduler + - React-utils + - React-runtimeexecutor (0.75.4): + - React-jsi (= 0.75.4) + - React-RuntimeHermes (0.75.4): + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-jsitracing + - React-nativeconfig + - React-RuntimeCore + - React-utils + - React-runtimescheduler (0.75.4): + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) - React-callinvoker + - React-cxxreact - React-debug + - React-featureflags - React-jsi + - React-rendererconsistency + - React-rendererdebug - React-runtimeexecutor - - React-utils (0.72.14): + - React-utils + - React-utils (0.75.4): - glog - - RCT-Folly (= 2021.07.22.00) + - hermes-engine + - RCT-Folly (= 2024.01.01.00) - React-debug - - ReactCommon/turbomodule/bridging (0.72.14): + - React-jsi (= 0.75.4) + - ReactCodegen (0.75.4): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.14) - - React-cxxreact (= 0.72.14) - - React-jsi (= 0.72.14) - - React-logger (= 0.72.14) - - React-perflogger (= 0.72.14) - - ReactCommon/turbomodule/core (0.72.14): + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - ReactCommon (0.75.4): + - ReactCommon/turbomodule (= 0.75.4) + - ReactCommon/turbomodule (0.75.4): - DoubleConversion + - fmt (= 9.1.0) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.14) - - React-cxxreact (= 0.72.14) - - React-jsi (= 0.72.14) - - React-logger (= 0.72.14) - - React-perflogger (= 0.72.14) - - ReactNativeART (1.2.0): - - React + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - ReactCommon/turbomodule/bridging (= 0.75.4) + - ReactCommon/turbomodule/core (= 0.75.4) + - ReactCommon/turbomodule/bridging (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - ReactCommon/turbomodule/core (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-debug (= 0.75.4) + - React-featureflags (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - React-utils (= 0.75.4) - ReactNativeExceptionHandler (2.10.8): - React - RNCalendarEvents (2.2.0): - React - - RNCAsyncStorage (1.23.1): + - RNCAsyncStorage (2.0.0): - React-Core - - RNCClipboard (1.10.0): + - RNCClipboard (1.14.2): - React-Core - RNCPushNotificationIOS (1.8.0): - React-Core - RNDeviceInfo (10.8.0): - React-Core - RNFlashList (1.7.0): - - RCT-Folly (= 2021.07.22.00) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - RNFS (2.18.0): - React - - RNGestureHandler (2.15.0): - - RCT-Folly (= 2021.07.22.00) + - RNGestureHandler (2.20.2): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - RNI18n (2.0.15): - React - RNKeychain (4.0.5): @@ -614,98 +1858,211 @@ PODS: - RNQrGenerator (1.4.0): - React - ZXingObjC - - RNReactNativeHapticFeedback (2.0.2): + - RNReactNativeHapticFeedback (2.3.3): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNReanimated (3.16.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/reanimated (= 3.16.1) + - RNReanimated/worklets (= 3.16.1) + - Yoga + - RNReanimated/reanimated (3.16.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNReanimated/reanimated/apple (= 3.16.1) + - Yoga + - RNReanimated/reanimated/apple (3.16.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core - - RNReanimated (3.12.0): - - RCT-Folly (= 2021.07.22.00) + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNReanimated/worklets (3.16.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNScreens (3.31.1): - - RCT-Folly (= 2021.07.22.00) + - Yoga + - RNScreens (3.34.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric - React-RCTImage + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - RNSentry (5.32.0): + - DoubleConversion + - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics - React-hermes + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core - Sentry/HybridSDK (= 8.36.0) + - Yoga - RNShare (10.2.1): - React-Core - - RNSVG (15.1.0): + - RNSVG (15.8.0): - React-Core - Sentry/HybridSDK (8.36.0) - - SocketRocket (0.6.1) + - SocketRocket (0.7.0) - SwiftCBOR (0.4.7) - - VisionCamera (4.3.1): - - VisionCamera/Core (= 4.3.1) - - VisionCamera/React (= 4.3.1) - - VisionCamera/Core (4.3.1) - - VisionCamera/React (4.3.1): - - React-Core - - Yoga (1.14.0) - - YogaKit (1.18.1): - - Yoga (~> 1.14) - - ZendeskAnswerBotProvidersSDK (5.0.0): - - ZendeskSupportProvidersSDK (~> 8.0.0) - - ZendeskAnswerBotSDK (5.0.0): - - ZendeskAnswerBotProvidersSDK (~> 5.0.0) - - ZendeskMessagingSDK (~> 6.0.0) - - ZendeskChatProvidersSDK (5.0.0) - - ZendeskChatSDK (5.0.0): - - ZendeskChatProvidersSDK (~> 5.0.0) - - ZendeskMessagingSDK (~> 6.0.0) - - ZendeskCommonUISDK (9.0.0) - - ZendeskCoreSDK (5.0.0) - - ZendeskMessagingAPISDK (6.0.0): - - ZendeskSDKConfigurationsSDK (~> 4.0.0) - - ZendeskMessagingSDK (6.0.0): - - ZendeskCommonUISDK (~> 9.0.0) - - ZendeskMessagingAPISDK (~> 6.0.0) - - ZendeskSDKConfigurationsSDK (4.0.0) - - ZendeskSupportProvidersSDK (8.0.0): - - ZendeskCoreSDK (~> 5.0.0) - - ZendeskSupportSDK (8.0.0): - - ZendeskMessagingSDK (~> 6.0.0) - - ZendeskSupportProvidersSDK (~> 8.0.0) - - ZXingObjC (3.6.5): - - ZXingObjC/All (= 3.6.5) - - ZXingObjC/All (3.6.5) + - VisionCamera (4.5.3): + - VisionCamera/Core (= 4.5.3) + - VisionCamera/React (= 4.5.3) + - VisionCamera/Core (4.5.3) + - VisionCamera/React (4.5.3): + - React-Core + - Yoga (0.0.0) + - ZendeskAnswerBotProvidersSDK (6.0.0): + - ZendeskSupportProvidersSDK (~> 9.0.0) + - ZendeskAnswerBotSDK (6.0.0): + - ZendeskAnswerBotProvidersSDK (~> 6.0.0) + - ZendeskMessagingSDK (~> 6.0.3) + - ZendeskChatProvidersSDK (5.0.5) + - ZendeskChatSDK (5.0.5): + - ZendeskChatProvidersSDK (~> 5.0.5) + - ZendeskMessagingSDK (~> 6.0.3) + - ZendeskCommonUISDK (9.0.3) + - ZendeskCoreSDK (5.0.5) + - ZendeskMessagingAPISDK (6.0.2): + - ZendeskSDKConfigurationsSDK (~> 4.0.1) + - ZendeskMessagingSDK (6.0.3): + - ZendeskCommonUISDK (~> 9.0.3) + - ZendeskMessagingAPISDK (~> 6.0.2) + - ZendeskSDKConfigurationsSDK (4.0.1) + - ZendeskSupportProvidersSDK (9.0.0): + - ZendeskCoreSDK (~> 5.0.5) + - ZendeskSupportSDK (9.0.0): + - ZendeskMessagingSDK (~> 6.0.3) + - ZendeskSupportProvidersSDK (~> 9.0.0) + - ZXingObjC (3.6.9): + - ZXingObjC/All (= 3.6.9) + - ZXingObjC/All (3.6.9) DEPENDENCIES: - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - - Flipper (= 0.182.0) - - Flipper-Boost-iOSX (= 1.76.0.1.11) - - Flipper-DoubleConversion (= 3.2.0.1) - - Flipper-Fmt (= 7.1.7) - - Flipper-Folly (= 2.6.10) - - Flipper-Glog (= 0.5.0.5) - - Flipper-PeerTalk (= 0.0.4) - - FlipperKit (= 0.182.0) - - FlipperKit/Core (= 0.182.0) - - FlipperKit/CppBridge (= 0.182.0) - - FlipperKit/FBCxxFollyDynamicConvert (= 0.182.0) - - FlipperKit/FBDefines (= 0.182.0) - - FlipperKit/FKPortForwarding (= 0.182.0) - - FlipperKit/FlipperKitHighlightOverlay (= 0.182.0) - - FlipperKit/FlipperKitLayoutPlugin (= 0.182.0) - - FlipperKit/FlipperKitLayoutTextSearchable (= 0.182.0) - - FlipperKit/FlipperKitNetworkPlugin (= 0.182.0) - - FlipperKit/FlipperKitReactPlugin (= 0.182.0) - - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.182.0) - - FlipperKit/SKIOSNetworkPlugin (= 0.182.0) + - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - io-react-native-secure-storage (from `../node_modules/io-react-native-secure-storage`) - jail-monkey (from `../node_modules/jail-monkey`) - - libevent (~> 2.1.12) - lottie-react-native (from `../node_modules/lottie-react-native`) - MixpanelReactNative (from `../node_modules/mixpanel-react-native`) - - OpenSSL-Universal (= 1.1.1100) - "pagopa-io-react-native-cieid (from `../node_modules/@pagopa/io-react-native-cieid`)" - "pagopa-io-react-native-crypto (from `../node_modules/@pagopa/io-react-native-crypto`)" - "pagopa-io-react-native-http-client (from `../node_modules/@pagopa/io-react-native-http-client`)" @@ -714,22 +2071,36 @@ DEPENDENCIES: - "pagopa-io-react-native-login-utils (from `../node_modules/@pagopa/io-react-native-login-utils`)" - "pagopa-react-native-zendesk (from `../node_modules/@pagopa/io-react-native-zendesk`)" - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../node_modules/react-native/Libraries/Required`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - - React-Codegen (from `build/generated/ios`) - React-Core (from `../node_modules/react-native/`) - - React-Core/DevSupport (from `../node_modules/react-native/`) - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) + - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`) + - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-FabricComponents (from `../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) + - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) + - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) + - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) + - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) - react-native-background-timer (from `../node_modules/react-native-background-timer`) - react-native-blob-util (from `../node_modules/react-native-blob-util`) - "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)" @@ -737,7 +2108,6 @@ DEPENDENCIES: - "react-native-cookies (from `../node_modules/@react-native-cookies/cookies`)" - react-native-document-picker (from `../node_modules/react-native-document-picker`) - react-native-fingerprint-scanner (from `../node_modules/react-native-fingerprint-scanner`) - - react-native-flipper (from `../node_modules/react-native-flipper`) - react-native-get-random-values (from `../node_modules/react-native-get-random-values`) - react-native-image-picker (from `../node_modules/react-native-image-picker`) - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" @@ -753,24 +2123,32 @@ DEPENDENCIES: - react-native-splash-screen (from `../node_modules/react-native-splash-screen`) - react-native-view-shot (from `../node_modules/react-native-view-shot`) - react-native-webview (from `../node_modules/react-native-webview`) + - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) + - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) - React-rncore (from `../node_modules/react-native/ReactCommon`) + - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - - "ReactNativeART (from `../node_modules/@react-native-community/art/ReactNativeART.podspec`)" - ReactNativeExceptionHandler (from `../node_modules/react-native-exception-handler`) - RNCalendarEvents (from `../node_modules/react-native-calendar-events`) - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" @@ -796,25 +2174,12 @@ DEPENDENCIES: SPEC REPOS: trunk: - Alamofire - - CocoaAsyncSocket - - Flipper - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt - - Flipper-Folly - - Flipper-Glog - - Flipper-PeerTalk - - FlipperKit - - fmt - JOSESwift - - libevent - lottie-ios - Mixpanel-swift - - OpenSSL-Universal - Sentry - SocketRocket - SwiftCBOR - - YogaKit - ZendeskAnswerBotProvidersSDK - ZendeskAnswerBotSDK - ZendeskChatProvidersSDK @@ -837,12 +2202,13 @@ EXTERNAL SOURCES: :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" - FBReactNativeSpec: - :path: "../node_modules/react-native/React/FBReactNativeSpec" + fmt: + :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :tag: hermes-2024-08-15-RNv0.75.1-4b3bf912cc0f705b51b71ce1a5b8bd79b93a451b io-react-native-secure-storage: :path: "../node_modules/io-react-native-secure-storage" jail-monkey: @@ -867,16 +2233,16 @@ EXTERNAL SOURCES: :path: "../node_modules/@pagopa/io-react-native-zendesk" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTDeprecation: + :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTRequired: - :path: "../node_modules/react-native/Libraries/RCTRequired" + :path: "../node_modules/react-native/Libraries/Required" RCTTypeSafety: :path: "../node_modules/react-native/Libraries/TypeSafety" React: :path: "../node_modules/react-native/" React-callinvoker: :path: "../node_modules/react-native/ReactCommon/callinvoker" - React-Codegen: - :path: build/generated/ios React-Core: :path: "../node_modules/react-native/" React-CoreModules: @@ -885,16 +2251,44 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/cxxreact" React-debug: :path: "../node_modules/react-native/ReactCommon/react/debug" + React-defaultsnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults" + React-domnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom" + React-Fabric: + :path: "../node_modules/react-native/ReactCommon" + React-FabricComponents: + :path: "../node_modules/react-native/ReactCommon" + React-FabricImage: + :path: "../node_modules/react-native/ReactCommon" + React-featureflags: + :path: "../node_modules/react-native/ReactCommon/react/featureflags" + React-featureflagsnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" + React-graphics: + :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" React-hermes: :path: "../node_modules/react-native/ReactCommon/hermes" + React-idlecallbacksnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" + React-ImageManager: + :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + React-jserrorhandler: + :path: "../node_modules/react-native/ReactCommon/jserrorhandler" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../node_modules/react-native/ReactCommon/jsinspector" + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" + React-jsitracing: + :path: "../node_modules/react-native/ReactCommon/hermes/executor/" React-logger: :path: "../node_modules/react-native/ReactCommon/logger" + React-Mapbuffer: + :path: "../node_modules/react-native/ReactCommon" + React-microtasksnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" react-native-background-timer: :path: "../node_modules/react-native-background-timer" react-native-blob-util: @@ -909,8 +2303,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-document-picker" react-native-fingerprint-scanner: :path: "../node_modules/react-native-fingerprint-scanner" - react-native-flipper: - :path: "../node_modules/react-native-flipper" react-native-get-random-values: :path: "../node_modules/react-native-get-random-values" react-native-image-picker: @@ -941,10 +2333,14 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-view-shot" react-native-webview: :path: "../node_modules/react-native-webview" + React-nativeconfig: + :path: "../node_modules/react-native/ReactCommon" React-NativeModulesApple: :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-performancetimeline: + :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" React-RCTActionSheet: :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: @@ -953,6 +2349,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/AppDelegate" React-RCTBlob: :path: "../node_modules/react-native/Libraries/Blob" + React-RCTFabric: + :path: "../node_modules/react-native/React" React-RCTImage: :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: @@ -965,18 +2363,28 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" + React-rendererconsistency: + :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" + React-rendererdebug: + :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" React-rncore: :path: "../node_modules/react-native/ReactCommon" + React-RuntimeApple: + :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + React-RuntimeCore: + :path: "../node_modules/react-native/ReactCommon/react/runtime" React-runtimeexecutor: :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + React-RuntimeHermes: + :path: "../node_modules/react-native/ReactCommon/react/runtime" React-runtimescheduler: :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" React-utils: :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactCodegen: + :path: build/generated/ios ReactCommon: :path: "../node_modules/react-native/ReactCommon" - ReactNativeART: - :podspec: "../node_modules/@react-native-community/art/ReactNativeART.podspec" ReactNativeExceptionHandler: :path: "../node_modules/react-native-exception-handler" RNCalendarEvents: @@ -1022,133 +2430,141 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Alamofire: f36a35757af4587d8e4f4bfa223ad10be2422b8c - boost: 7dcd2de282d72e344012f7d6564d024930a6a440 + boost: 4cb898d0bf20404aab1850c656dcea009429d6c1 BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 - CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 - FBLazyVector: d98eefb42c5a64cb28ef966bd9096c76770d8f24 - FBReactNativeSpec: 53d4eb00e8e1b6e987a3dd5906d2afe131cc54c8 - Flipper: 6edb735e6c3e332975d1b17956bcc584eccf5818 - Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 - Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b - Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 - Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 - Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6 - fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b - hermes-engine: b213bace5f31766ad1434d2d9b2cbf04cf92a2b6 - io-react-native-secure-storage: 5e6f84d27ead13de84f2014ecc767bffdc3e97e9 + DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 + FBLazyVector: 430e10366de01d1e3d57374500b1b150fe482e6d + fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 + glog: 69ef571f3de08433d766d614c73a9838a06bf7eb + hermes-engine: ea92f60f37dba025e293cbe4b4a548fd26b610a0 + io-react-native-secure-storage: 2a73ef53ebf038a6be886a8021218392c120cf5a jail-monkey: a71b35d482a70ecba844a90f002994012cf12a5d JOSESwift: 7ff178bb9173ff42c6e990929a9f2fa702a34f69 - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 lottie-ios: e047b1d2e6239b787cc5e9755b988869cf190494 - lottie-react-native: 17547b2f3c7034e2ae8672833fdb63262164d18a + lottie-react-native: 31197e5c65aa7cb59e6affcefaf901588bb708c4 Mixpanel-swift: e5dd85295923e6a875acf17ccbab8d2ecb10ea65 MixpanelReactNative: 0101b8828c2f335c128850e71ab7d3b7adde089a - OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c - pagopa-io-react-native-cieid: d58f2bf3581fe20e10de735b376652a9221f0493 + pagopa-io-react-native-cieid: 1b63abc3e851ee3285234d45719a2d928d8e8a98 pagopa-io-react-native-crypto: 6aa9f33e4bf64ef420ad97c720c1ad0f876cd470 - pagopa-io-react-native-http-client: cbdfb83c92432efb0de22b7c3c85cffa391870f8 - pagopa-io-react-native-integrity: ca77804cefb1cd75d04053652472bcb938ce4b18 - pagopa-io-react-native-jwt: 662d4e722715996758b079774abea1996b057467 + pagopa-io-react-native-http-client: 3ee0c20ccfcc9f6dbe7433d3aa66c31d66fe8ecd + pagopa-io-react-native-integrity: 99a8772bd2d058442f08233fbfac93c367b758f6 + pagopa-io-react-native-jwt: 7011e1526da2b9f81caf7d2f9716256dfce582ce pagopa-io-react-native-login-utils: a445c97d7d7dc86b089079029a1340f4c682128c - pagopa-react-native-zendesk: 60a26f8a8072234789c34bb7c8a769c156eb57dc - RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 - RCTRequired: 264adaca1d8b1a9c078761891898d4142df05313 - RCTTypeSafety: 279a89da7058a69899778a127be73fab38b84499 - React: 725b4e11f6ffb43d6f9b14e82879073623db4071 - React-callinvoker: c2ba5e7e1187d0f37705b9dcaaf9bbf24d3fe9dc - React-Codegen: 590303f222cffc109dc0d122854fa8281fa536b7 - React-Core: 89fe417d4957766ef20b4bec921a0721e914d988 - React-CoreModules: 57ea4ca8627be90b1a29916e0640d879e5684305 - React-cxxreact: 8bcd7336084fbaaad0304935896f2cb62659894d - React-debug: d360c17c84e514b9143e78217072183d4fcfb9c0 - React-hermes: d2e7945d1b480a2e732d64303564d9870edf22e9 - React-jsi: 53bff70353449aa006546c00024736de3ed66219 - React-jsiexecutor: e9a70be9304ef2e66eeebac35710f958b076dc14 - React-jsinspector: 275d9f80210f15f0af9a4b7fd5683fab9738e28e - React-logger: 8da4802de77a0eb62512396ad6bb1769904c2f0e + pagopa-react-native-zendesk: 6d2339df555ff3083faddeb8be96a7a03092d73c + RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 + RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1 + RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b + RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205 + React: c2830fa483b0334bda284e46a8579ebbe0c5447e + React-callinvoker: 4aecde929540c26b841a4493f70ebf6016691eb8 + React-Core: 9c059899f00d46b5cec3ed79251f77d9c469553d + React-CoreModules: 9fac2d31803c0ed03e4ddaa17f1481714f8633a5 + React-cxxreact: a979810a3ca4045ceb09407a17563046a7f71494 + React-debug: 3d21f69d8def0656f8b8ec25c0f05954f4d862c5 + React-defaultsnativemodule: 2fa2bdb7bd03ff9764facc04aa8520ebf14febae + React-domnativemodule: 986e6fe7569e1383dce452a7b013b6c843a752df + React-Fabric: 3bc7be9e3a6b7581fc828dc2aa041e107fc8ffb8 + React-FabricComponents: 668e0cb02344c2942e4c8921a643648faa6dc364 + React-FabricImage: 3f44dd25a2b020ed5215d4438a1bb1f3461cd4f1 + React-featureflags: ee1abd6f71555604a36cda6476e3c502ca9a48e5 + React-featureflagsnativemodule: 7ccc0cd666c2a6257401dceb7920818ac2b42803 + React-graphics: d7dd9c8d75cad5af19e19911fa370f78f2febd96 + React-hermes: 2069b08e965e48b7f8aa2c0ca0a2f383349ed55d + React-idlecallbacksnativemodule: e211b2099b6dced97959cb58257bab2b2de4d7ef + React-ImageManager: ab7a7d17dd0ff1ef1d4e1e88197d1119da9957ce + React-jserrorhandler: d9e867bb83b868472f3f7601883f0403b3e3942d + React-jsi: d68f1d516e5120a510afe356647a6a1e1f98f2db + React-jsiexecutor: 6366a08a0fc01c9b65736f8deacd47c4a397912a + React-jsinspector: 0ac947411f0c73b34908800cc7a6a31d8f93e1a8 + React-jsitracing: 0e8c0aadb1fcec6b1e4f2a66ee3b0da80f0f8615 + React-logger: d79b704bf215af194f5213a6b7deec50ba8e6a9b + React-Mapbuffer: b982d5bba94a8bc073bda48f0d27c9b28417fae3 + React-microtasksnativemodule: 2b73e68f0462f3175f98782db08896f8501afd20 react-native-background-timer: 1b6e6b4e10f1b74c367a1fdc3c72b67c619b222b react-native-blob-util: a5d3561045ed98cfb2fb80cbbff600fae0e8edee - react-native-cameraroll: 2f08db1ecc9b73dbc01f89335d6d5179fac2894c + react-native-cameraroll: b3395629565d1663b4f340c7314e7c04e88c9b3c react-native-config: 6502b1879f97ed5ac570a029961fc35ea606cd14 react-native-cookies: f54fcded06bb0cda05c11d86788020b43528a26c react-native-document-picker: 3599b238843369026201d2ef466df53f77ae0452 react-native-fingerprint-scanner: ac6656f18c8e45a7459302b84da41a44ad96dbbe - react-native-flipper: 97d537d855e0e7f6ac26a065e01bf1aecc8ba41c react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06 react-native-image-picker: 60f4246eb5bb7187fc15638a8c1f13abd3820695 - react-native-netinfo: 40b91995cd49c33ae57996486db76f0af067b630 + react-native-netinfo: f0a9899081c185db1de5bb2fdc1c88c202a059ac react-native-notifications-utils: f083307d1261f34444a89ca2f9b69f920c9b81e7 - react-native-pager-view: 948dc00b6545d82b53e5f99cafef4a8521c60dd4 + react-native-pager-view: c476f76d54f946df5147645e902d3d7173688187 react-native-pdf: 79aa75e39a80c1d45ffe58aa500f3cf08f267a2e react-native-pdf-thumbnail: a042fffdab7a49f0f9df0e11da0a90beebfd4241 react-native-render-html: 96c979fe7452a0a41559685d2f83b12b93edac8c - react-native-safe-area-context: 399a5859f6acbdf67f671c69b53113f535f3b5b0 + react-native-safe-area-context: 5141f11858b033636f1788b14f32eaba92cee810 react-native-screen-brightness: 9eefe6db96a5d757e63cdfce8e48d7c9039f2af2 - react-native-skia: c0d99aa1fb10f6d97627c1dc018c0ab269439a76 + react-native-skia: 00e92fdc3e2e9e7d6df254296d2f3e8c548224af react-native-slider: e99fc201cefe81270fc9d81714a7a0f5e566b168 react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865 react-native-view-shot: 4475fde003fe8a210053d1f98fb9e06c1d834e1c - react-native-webview: 9946090a1cd4add775cf91327f93bc910bf89286 - React-NativeModulesApple: 3107f777453f953906d9ba9dc5f8cbd91a6ef913 - React-perflogger: daabc494c6328efc1784a4b49b8b74fca305d11c - React-RCTActionSheet: 0e0e64a7cf6c07f1de73d1f0a92d26a70262b256 - React-RCTAnimation: faef65b19e73029c4828167985b0a7c01c62756d - React-RCTAppDelegate: b24e761d235760656226364bb259e3f1508559c2 - React-RCTBlob: 9e9784a84b824b6d7e2cce05a8087c8c3a47a559 - React-RCTImage: 15e211cbb629210ab9c1fa37e07e7100362b12ed - React-RCTLinking: 50d5faf19b02541cefb78ee5d505029283c8ef95 - React-RCTNetwork: dfa9fb4ad2ae459b9193a14204b1d9da907d15a7 - React-RCTSettings: 37611fa97d44a9c5a7ea844cfb953d3513f7ace0 - React-RCTText: 39ed334f64484d07b85a8159cf117814ff069ff6 - React-RCTVibration: 62462803b5fe0842e0be6d9ef86dd74e0df4a614 - React-rncore: 25ad3a3c1e0f4edf77913b9af3af9f497b7f99a5 - React-runtimeexecutor: e5c2f0a1493d72c61b97465ccfedc339157b3179 - React-runtimescheduler: f284b4fdad43fe811041129099f1339b54783135 - React-utils: 22a77b05da25ce49c744faa82e73856dcae1734e - ReactCommon: ff94462e007c568d8cdebc32e3c97af86ec93bb5 - ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab + react-native-webview: 926d2665cf3196e39c4449a72d136d0a53b9df8a + React-nativeconfig: 8c83d992b9cc7d75b5abe262069eaeea4349f794 + React-NativeModulesApple: 9f7920224a3b0c7d04d77990067ded14cee3c614 + React-perflogger: 59e1a3182dca2cee7b9f1f7aab204018d46d1914 + React-performancetimeline: a9d05533ff834c6aa1f532e05e571f3fd2e3c1ed + React-RCTActionSheet: d80e68d3baa163e4012a47c1f42ddd8bcd9672cc + React-RCTAnimation: bde981f6bd7f8493696564da9b3bd05721d3b3cc + React-RCTAppDelegate: 0176615c51476c88212bf3edbafb840d39ea7631 + React-RCTBlob: 520a0382bf8e89b9153d60e3c6293e51615834e9 + React-RCTFabric: c9da097b19b30017a99498b8c66a69c72f3ce689 + React-RCTImage: 90448d2882464af6015ed57c98f463f8748be465 + React-RCTLinking: 1bd95d0a704c271d21d758e0f0388cced768d77d + React-RCTNetwork: 218af6e63eb9b47935cc5a775b7a1396cf10ff91 + React-RCTSettings: e10b8e42b0fce8a70fbf169de32a2ae03243ef6b + React-RCTText: e7bf9f4997a1a0b45c052d4ad9a0fe653061cf29 + React-RCTVibration: 5b70b7f11e48d1c57e0d4832c2097478adbabe93 + React-rendererconsistency: f620c6e003e3c4593e6349d8242b8aeb3d4633f0 + React-rendererdebug: e697680f4dd117becc5daf9ea9800067abcee91c + React-rncore: c22bd84cc2f38947f0414fab6646db22ff4f80cd + React-RuntimeApple: de0976836b90b484305638616898cbc665c67c13 + React-RuntimeCore: 3c4a5aa63d9e7a3c17b7fb23f32a72a8bcfccf57 + React-runtimeexecutor: ea90d8e3a9e0f4326939858dafc6ab17c031a5d3 + React-RuntimeHermes: c6b0afdf1f493621214eeb6517fb859ce7b21b81 + React-runtimescheduler: 84f0d876d254bce6917a277b3930eb9bc29df6c7 + React-utils: cbe8b8b3d7b2ac282e018e46f0e7b25cdc87c5a0 + ReactCodegen: 4bcb34e6b5ebf6eef5cee34f55aa39991ea1c1f1 + ReactCommon: 6a952e50c2a4b694731d7682aaa6c79bc156e4ad ReactNativeExceptionHandler: 8025d98049c25f186835a3af732dd7c9974d6dce RNCalendarEvents: 7e65eb4a94f53c1744d1e275f7fafcfaa619f7a3 - RNCAsyncStorage: 826b603ae9c0f88b5ac4e956801f755109fa4d5c - RNCClipboard: f1736c75ab85b627a4d57587edb4b60999c4dd80 + RNCAsyncStorage: d35c79ffba52c1013013e16b1fc295aec2feabb6 + RNCClipboard: 5e503962f0719ace8f7fdfe9c60282b526305c85 RNCPushNotificationIOS: 61a7c72bd1ebad3568025957d001e0f0e7b32191 RNDeviceInfo: 5795b418ed3451ebcaf39384e6cf51f60cb931c9 - RNFlashList: 1d10168366611816790acee65b6f9a7172d1f11c + RNFlashList: 2a5ca82c4998952060b77fa9a1eb05f7ed8783b6 RNFS: 3ab21fa6c56d65566d1fb26c2228e2b6132e5e32 - RNGestureHandler: fc754e30bb46d093b46b47824e1a04e722fd8a3d + RNGestureHandler: 511250b190a284388f9dd0d2e56c1df76f14cfb8 RNI18n: e2f7e76389fcc6e84f2c8733ea89b92502351fd8 RNKeychain: 840f8e6f13be0576202aefcdffd26a4f54bfe7b5 RNPermissions: b3d9d00889e37cc184d365ab04bb7a3f20811b1c RNQrGenerator: 1676221c08bfabec978242989c733810dad20959 - RNReactNativeHapticFeedback: 6d24decfa94e037c2ecc312407d2a057b7933f10 - RNReanimated: 108a53626a492df35db30b98fc922a7189d1c601 - RNScreens: b8d370282cdeae9df85dd5eab20c88eb5181243b - RNSentry: 3e667c2c6ea5d35ea292c7f262c6b44e43842cc1 + RNReactNativeHapticFeedback: 0d591ea1e150f36cb96d868d4e8d77272243d78a + RNReanimated: f42a5044d121d68e91680caacb0293f4274228eb + RNScreens: 00e01e05e3cf66bd701148c2531965437e9583e4 + RNSentry: e280ee2f6d0aa58c8ac0eb9a45b7678b5840c1da RNShare: 0fad69ae2d71de9d1f7b9a43acf876886a6cb99c - RNSVG: 50cf2c7018e57cf5d3522d98d0a3a4dd6bf9d093 + RNSVG: 8b1a777d54096b8c2a0fd38fc9d5a454332bbb4d Sentry: f8374b5415bc38dfb5645941b3ae31230fbeae57 - SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 + SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d SwiftCBOR: 465775bed0e8bac7bfb8160bcf7b95d7f75971e4 - VisionCamera: 58d2120e6e23c155b25f4702b7912dc2b1e5e8c2 - Yoga: c32e0be1a17f8f1f0e633a3122f7666441f52c82 - YogaKit: f782866e155069a2cca2517aafea43200b01fd5a - ZendeskAnswerBotProvidersSDK: a024260282886870a15e7a986bf5286c23fd9311 - ZendeskAnswerBotSDK: b9f74105b26fda5f74d6639c0dc8fe37f522a867 - ZendeskChatProvidersSDK: fa1c5acd7fd09157b5994fb05a3b1628409fdfd1 - ZendeskChatSDK: 40fa26f80a589eb38c6cecf17af71206da7bcaf3 - ZendeskCommonUISDK: b87f90874386ebcc01f4b2a0b20a28c62658987a - ZendeskCoreSDK: cdc814e7fd64764fb0b0acb04e596df437708faa - ZendeskMessagingAPISDK: 9ce539eebcaa014fe6acc44da31262a2c52891c1 - ZendeskMessagingSDK: ccc8dd41b774b0d2f94733505b9f1882d72184da - ZendeskSDKConfigurationsSDK: 79c444da987390456ec05657ffa2f5ca0eb54aef - ZendeskSupportProvidersSDK: 4aafe8114a9bba1a98dc03ca14d8fa6510cf4e70 - ZendeskSupportSDK: 8cf921c496269bb5f53aac9320f3d002a793991d - ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb + VisionCamera: cb84d0d8485b3e67c91b62931d3aa88f49747c92 + Yoga: aa3df615739504eebb91925fc9c58b4922ea9a08 + ZendeskAnswerBotProvidersSDK: 2f3d0e38acdbd4507862b4e4a7b28d3764072854 + ZendeskAnswerBotSDK: de9759a504d4a262c453784e9c6d9d6907ad2222 + ZendeskChatProvidersSDK: 5cfc4a3dee03317ba54920e3258edda52ff9a329 + ZendeskChatSDK: 8e0041101a89c8fed51dadb14697bbb4bb4700fd + ZendeskCommonUISDK: f3ce3e7a1bd7762550a78dbaff57509f3112c22b + ZendeskCoreSDK: c542b3f82abc3ee52e1291c6fb3436515e098806 + ZendeskMessagingAPISDK: 5b3a9d16f2f4d8b3c07b4ca0451a7cf9bfd8107d + ZendeskMessagingSDK: 3915f0647246f079dd20bf2fd85084f495598fde + ZendeskSDKConfigurationsSDK: d0b28eeb9c3d88191cfd2c7f246b2522c8c357f4 + ZendeskSupportProvidersSDK: 281acf2bb731d2a67f913cfe653ed0da9f5b2f42 + ZendeskSupportSDK: b512cfc74b6bf8490e589f02cf52e27ed4f2bebe + ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: c81fe8fa67af4bf6e27653958d177ac176ab0293 +PODFILE CHECKSUM: 80686cfc2be2bcdc2b273e1709b13d531f5ebcfb COCOAPODS: 1.14.3 diff --git a/jest.config.js b/jest.config.js index c5159278a31..d6ca700029a 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,7 +1,7 @@ module.exports = { preset: "react-native", transformIgnorePatterns: [ - "node_modules/(?!(jest-)?@react-native|react-native|react-navigation|@react-navigation|react-navigation-redux-helpers|react-native-device-info|rn-placeholder|jsbarcode|@pagopa/react-native-cie|react-native-share|jail-monkey|@react-native-community/art|@react-native-community/push-notification-ios|@shopify/react-native-skia|lottie-react-native|@react-native-camera-roll/camera-roll|@codler|remark|unified|bail|is-plain-obj|trough|vfile|unist-util-stringify-position|mdast-util-from-markdown|mdast-util-to-string|micromark|parse-entities|character-entities|mdast-util-to-markdown|zwitch|longest-streak|@pagopa/io-react-native-zendesk|rn-qr-generator|mixpanel-react-native|@pagopa/io-app-design-system|uuid|@sentry/react-native)" + "node_modules/(?!(jest-)?@react-native|react-native|react-navigation|@react-navigation|react-navigation-redux-helpers|react-native-device-info|rn-placeholder|jsbarcode|@pagopa/react-native-cie|react-native-share|jail-monkey|@react-native-community/art|@react-native-community/push-notification-ios|@shopify/react-native-skia|lottie-react-native|@react-native-camera-roll/camera-roll|@codler|remark|unified|bail|is-plain-obj|trough|vfile|unist-util-stringify-position|mdast-util-from-markdown|mdast-util-to-string|micromark|parse-entities|character-entities|mdast-util-to-markdown|zwitch|longest-streak|@pagopa/io-react-native-zendesk|rn-qr-generator|mixpanel-react-native|@pagopa/io-app-design-system|uuid|@sentry/react-native|decode-named-character-reference|mdast-util-phrasing|unist-util-is)" ], moduleNameMapper: { "\\.svg": "/ts/__mocks__/svgMock.js" diff --git a/jestSetup.js b/jestSetup.js index 8ba76c541fa..9444d44c277 100644 --- a/jestSetup.js +++ b/jestSetup.js @@ -32,7 +32,7 @@ jest.mock("react-native-reanimated", () => { // The mock misses the `addWhitelistedUIProps` implementation // So we override it with a no-op // eslint-disable-next-line functional/immutable-data,@typescript-eslint/no-empty-function, prettier/prettier - Reanimated.default.addWhitelistedUIProps = () => { }; + Reanimated.default.addWhitelistedUIProps = () => {}; return { ...Reanimated, @@ -111,7 +111,7 @@ jest.mock("react-native/Libraries/TurboModule/TurboModuleRegistry", () => { ...turboModuleRegistry, getEnforcing: name => { // List of TurboModules libraries to mock. - const modulesToMock = ["RNDocumentPicker"]; + const modulesToMock = ["RNDocumentPicker", "RNHapticFeedback"]; if (modulesToMock.includes(name)) { return null; } diff --git a/metro.config.js b/metro.config.js index 78a7c66034b..2a01d3f8a9b 100644 --- a/metro.config.js +++ b/metro.config.js @@ -13,6 +13,12 @@ const withE2ESourceExts = process.env.RN_SRC_EXT ? process.env.RN_SRC_EXT.split(",").concat(sourceExts) : sourceExts; +/** + * Metro configuration + * https://reactnative.dev/docs/metro + * + * @type {import('metro-config').MetroConfig} + */ const config = { serializer: { customSerializer: createSentryMetroSerializer() diff --git a/package.json b/package.json index 28b49ea3e67..ad143e6cbee 100644 --- a/package.json +++ b/package.json @@ -1,36 +1,11 @@ { "name": "italia-app", "version": "2.76.0-rc.0", - "io_backend_api": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_backend.yaml", - "io_session_manager_api": "https://raw.githubusercontent.com/pagopa/io-auth-n-identity-domain/io-session-manager@1.0.0/apps/io-session-manager/api/internal.yaml", - "io_session_manager_public_api": "https://raw.githubusercontent.com/pagopa/io-auth-n-identity-domain/io-session-manager@1.0.0/apps/io-session-manager/api/public.yaml", - "io_public_api": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_public.yaml", - "io_content_specs": "https://raw.githubusercontent.com/pagopa/io-services-metadata/1.0.45/definitions.yml", - "io_cgn_specs": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_cgn.yaml", - "io_cgn_merchants_specs": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_cgn_operator_search.yaml", - "api_fci": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_io_sign.yaml", - "io_eu_covid_cert": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_eucovidcert.yaml", - "io_pn_specs": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_pn.yaml", - "io_consumed_pn_specs": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/openapi/consumed/api-piattaforma-notifiche.yaml", - "api_cdc": "assets/CdcSwagger.yml", - "pagopa_api": "assets/paymentManager/spec.json", - "fims_swagger": "assets/FimsSwager.yml", - "pagopa_api_walletv2": "https://raw.githubusercontent.com/pagopa/io-services-metadata/1.0.40/bonus/specs/bpd/pm/walletv2.json", - "pagopa_cobadge_configuration": "https://raw.githubusercontent.com/pagopa/io-services-metadata/1.0.40/pagopa/cobadge/abi_definitions.yml", - "pagopa_privative_configuration": "https://raw.githubusercontent.com/pagopa/io-services-metadata/1.0.40/pagopa/privative/definitions.yml", - "idpay_api": "https://raw.githubusercontent.com/pagopa/cstar-infrastructure/v8.25.1/src/domains/idpay-app/api/idpay_appio_full/openapi.appio.full.yml", - "services_api": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_services_app_backend.yaml", - "lollipop_api": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_lollipop_first_consumer.yaml", - "fast_login_api": "https://raw.githubusercontent.com/pagopa/io-auth-n-identity-domain/io-session-manager@1.0.0/apps/io-session-manager/api/fast-login.yaml", - "pagopa_api_walletv3": "https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.202.0/src/domains/pay-wallet-app/api/io-payment-wallet/v1/_openapi.json.tpl", - "pagopa_api_ecommerce": "https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.202.0/src/domains/ecommerce-app/api/ecommerce-io/v2/_openapi.json.tpl", - "pagopa_api_biz_events": "https://raw.githubusercontent.com/pagopa/pagopa-biz-events-service/0.1.57/openapi/openapi_io_patch_lap.json", - "pagopa_api_platform": "https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.64.0/src/domains/shared-app/api/session-wallet/v1/_openapi.json.tpl", - "trial_system": "https://raw.githubusercontent.com/pagopa/io-backend/v14.3.0-RELEASE/api_trial_system.yaml", "private": true, "scripts": { "start": "react-native start", - "sync": "yarn install && bundle && (cd ios && bundle exec pod install) && yarn generate", + "setup": "yarn install && yarn postinstall", + "sync": "yarn setup && bundle && (cd ios && bundle exec pod install) && yarn generate", "run-ios": "react-native run-ios", "run-android": "react-native run-android", "push-hint": "echo \"To publish changes without checks run:\ngit push --no-verify --follow-tags origin $(git rev-parse --abbrev-ref HEAD)\"", @@ -59,40 +34,8 @@ "cie-ios:prod": "mv node_modules/@pagopa/react-native-cie/.ios node_modules/@pagopa/react-native-cie/ios && mv node_modules/@pagopa/react-native-cie/.react-native-cie.podspec node_modules/@pagopa/react-native-cie/react-native-cie.podspec && cd ios && bundle exec pod install", "cie-ios:dev": "mv node_modules/@pagopa/react-native-cie/ios node_modules/@pagopa/react-native-cie/.ios && mv node_modules/@pagopa/react-native-cie/react-native-cie.podspec node_modules/@pagopa/react-native-cie/.react-native-cie.podspec && cd ios && rm -rf Pods && bundle exec pod install", "cie-ios:ci": "mv node_modules/@pagopa/react-native-cie/.ios node_modules/@pagopa/react-native-cie/ios && mv node_modules/@pagopa/react-native-cie/.react-native-cie.podspec node_modules/@pagopa/react-native-cie/react-native-cie.podspec", - "generate:content-definitions": "rimraf definitions/content && mkdir -p definitions/content && gen-api-models --api-spec $npm_package_io_content_specs --out-dir ./definitions/content", - "generate:pagopa-api-definitions": "rimraf definitions/pagopa && mkdir -p definitions/pagopa && gen-api-models --api-spec $npm_package_pagopa_api --out-dir ./definitions/pagopa --no-strict --request-types --response-decoders --default-error-type undefined", - "generate:mock-google-services-json": "cp mock-google-services.json ./android/app/google-services.json", - "generate:api-definitions": "rimraf definitions/backend && mkdir -p definitions/backend && gen-api-models --api-spec $npm_package_io_public_api --out-dir ./definitions/backend && gen-api-models --api-spec $npm_package_io_backend_api --out-dir ./definitions/backend --no-strict --request-types --response-decoders --client", - "generate:api-session_manager_api-definitions": "rimraf definitions/session_manager && mkdir -p definitions/session_manager && gen-api-models --api-spec $npm_package_io_session_manager_public_api --out-dir ./definitions/session_manager && gen-api-models --api-spec $npm_package_io_session_manager_api --out-dir ./definitions/session_manager --no-strict --request-types --response-decoders --client", - "generate:cgn-definitions": "rimraf definitions/cgn && mkdir -p definitions/cgn && gen-api-models --api-spec $npm_package_io_cgn_specs --out-dir ./definitions/cgn --no-strict --request-types --response-decoders", - "generate:cgn-merchants-definitions": "rimraf definitions/cgn/merchants && mkdir -p definitions/cgn/merchants && gen-api-models --api-spec $npm_package_io_cgn_merchants_specs --out-dir ./definitions/cgn/merchants --no-strict --request-types --response-decoders", - "generate:eu-covid-cert": "rimraf definitions/eu_covid_cert && mkdir -p definitions/eu_covid_cert && gen-api-models --api-spec $npm_package_io_eu_covid_cert --out-dir ./definitions/eu_covid_cert --no-strict --request-types --response-decoders", - "generate:pn-definitions": "rimraf definitions/pn && mkdir -p definitions/pn && gen-api-models --api-spec $npm_package_io_consumed_pn_specs --out-dir ./definitions/pn && gen-api-models --api-spec $npm_package_io_pn_specs --out-dir ./definitions/pn --no-strict --response-decoders --request-types --client", - "generate:pagopa-api-walletv2": "rimraf definitions/pagopa/walletv2 && mkdir -p definitions/pagopa/walletv2 && gen-api-models --api-spec $npm_package_pagopa_api_walletv2 --out-dir ./definitions/pagopa/walletv2 --no-strict --request-types --response-decoders", - "generate:pagopa-cobadge-configuration": "rimraf definitions/pagopa/cobadge/configuration && mkdir -p definitions/pagopa/cobadge/configuration && gen-api-models --api-spec $npm_package_pagopa_cobadge_configuration --out-dir ./definitions/pagopa/cobadge/configuration", - "generate:pagopa-privative-configuration": "rimraf definitions/pagopa/privative/configuration && mkdir -p definitions/pagopa/privative/configuration && gen-api-models --api-spec $npm_package_pagopa_privative_configuration --out-dir ./definitions/pagopa/privative/configuration", - "generate:cdc-api": "rimraf definitions/cdc && mkdir -p definitions/cdc && gen-api-models --api-spec $npm_package_api_cdc --out-dir ./definitions/cdc --no-strict --request-types --response-decoders", - "generate:fci-api": "rimraf definitions/fci && mkdir -p definitions/fci && gen-api-models --api-spec $npm_package_api_fci --out-dir ./definitions/fci --no-strict --request-types --response-decoders --client", "bundle:android-release": "node node_modules/react-native/local-cli/cli.js bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/", - "generate:locales": "ts-node --skip-project -O '{\"lib\":[\"es2015\"]}' scripts/make-locales.ts", - "generate:cgn": "npm-run-all generate:cgn-definitions generate:cgn-merchants-definitions", - "generate:cdc": "npm-run-all generate:cdc-api", - "generate:pn": "npm-run-all generate:pn-definitions", - "generate:fci": "npm-run-all generate:fci-api", - "generate:idpay-api": "rimraf definitions/idpay && mkdir -p definitions/idpay && gen-api-models --api-spec $npm_package_idpay_api --out-dir ./definitions/idpay --no-strict --response-decoders --request-types --client", - "generate:idpay": "npm-run-all generate:idpay-api", - "generate:services-api": "rimraf definitions/services && mkdir -p definitions/services && gen-api-models --api-spec $npm_package_services_api --out-dir ./definitions/services --no-strict --response-decoders --request-types --client", - "generate:services": "npm-run-all generate:services-api", - "generate:lollipop-api": "rimraf definitions/lollipop && mkdir -p definitions/lollipop && gen-api-models --api-spec $npm_package_lollipop_api --out-dir ./definitions/lollipop --no-strict --response-decoders --request-types --client", - "generate:fast-login-api": "rimraf definitions/fast_login && mkdir -p definitions/fast_login && gen-api-models --api-spec $npm_package_fast_login_api --out-dir ./definitions/fast_login --no-strict --response-decoders --request-types --client", - "generate:trial-system-api": "rimraf definitions/trial_system && mkdir -p definitions/trial_system && gen-api-models --api-spec $npm_package_trial_system --out-dir ./definitions/trial_system --no-strict --response-decoders --request-types --client", - "generate:pagopa-walletv3-api": "rimraf definitions/pagopa/walletv3 && mkdir -p definitions/pagopa/walletv3 && gen-api-models --api-spec $npm_package_pagopa_api_walletv3 --out-dir ./definitions/pagopa/walletv3 --no-strict --response-decoders --request-types --client", - "generate:pagopa-ecommerce-api": "rimraf definitions/pagopa/ecommerce && mkdir -p definitions/pagopa/ecommerce && gen-api-models --api-spec $npm_package_pagopa_api_ecommerce --out-dir ./definitions/pagopa/ecommerce --no-strict --response-decoders --request-types --client", - "generate:pagopa-biz-events-api": "rimraf definitions/pagopa/biz-events && mkdir -p definitions/pagopa/biz-events && gen-api-models --api-spec $npm_package_pagopa_api_biz_events --out-dir ./definitions/pagopa/biz-events --no-strict --response-decoders --request-types --client", - "generate:pagopa-platform-api": "rimraf definitions/pagopa/platform && mkdir -p definitions/pagopa/platform && gen-api-models --api-spec $npm_package_pagopa_api_platform --out-dir ./definitions/pagopa/platform --no-strict --response-decoders --request-types --client", - "generate:fims": "rimraf definitions/fims && mkdir -p definitions/fims && gen-api-models --api-spec $npm_package_fims_swagger --out-dir ./definitions/fims --no-strict --response-decoders --request-types --client", - "generate:payments": "npm-run-all generate:pagopa-walletv3-api generate:pagopa-ecommerce-api generate:pagopa-biz-events-api generate:pagopa-platform-api", - "generate": "npm-run-all generate:*", + "generate": "./scripts/generate-api-models.sh", "locales_unused": "ts-node --skip-project -O '{\"lib\":[\"es2015\"]}' scripts/unused-locales.ts", "remove_unused_locales": "ts-node --skip-project -O '{\"lib\":[\"es2015\"]}' scripts/remove-unused-locales.ts", "lollipop_checks:comment": "./scripts/toggle-comments-on-lollipop-checks.sh comment ./ts/sagas/startup.ts", @@ -106,7 +49,6 @@ ] }, "dependencies": { - "@babel/plugin-transform-regenerator": "^7.18.6", "@gorhom/bottom-sheet": "^4.1.5", "@pagopa/io-app-design-system": "2.0.2", "@pagopa/io-pagopa-commons": "^3.1.0", @@ -120,17 +62,18 @@ "@pagopa/io-react-native-zendesk": "^0.3.29", "@pagopa/react-native-cie": "^1.3.0", "@pagopa/ts-commons": "^10.15.0", - "@react-native-async-storage/async-storage": "^1.23.1", - "@react-native-camera-roll/camera-roll": "5.6.1", - "@react-native-clipboard/clipboard": "^1.10.0", - "@react-native-community/netinfo": "6.0.6", + "@react-native-async-storage/async-storage": "^2.0.0", + "@react-native-camera-roll/camera-roll": "7.8.3", + "@react-native-clipboard/clipboard": "^1.14.0", + "@react-native-community/netinfo": "11.4.1", "@react-native-community/push-notification-ios": "^1.8.0", "@react-native-community/slider": "^3.0.3", "@react-native-cookies/cookies": "^6.2.1", + "@react-native/typescript-config": "^0.75.4", "@react-navigation/bottom-tabs": "6.5.11", "@react-navigation/material-top-tabs": "6.6.5", - "@react-navigation/native": "6.1.9", - "@react-navigation/stack": "6.3.20", + "@react-navigation/native": "^6.1.9", + "@react-navigation/stack": "^6.3.21", "@redux-saga/testing-utils": "^1.1.3", "@sentry/react-native": "^5.32.0", "@shopify/flash-list": "~1.7.0", @@ -158,8 +101,8 @@ "pako": "^2.1.0", "path-browserify": "0.0.0", "pdf-lib": "^1.17.1", - "react": "18.2.0", - "react-native": "0.72.14", + "react": "18.3.1", + "react-native": "0.75.4", "react-native-android-open-settings": "^1.3.0", "react-native-background-timer": "2.1.1", "react-native-barcode-builder": "^2.0.0", @@ -173,10 +116,9 @@ "react-native-exception-handler": "^2.10.8", "react-native-fingerprint-scanner": "git+https://github.com/hieuvp/react-native-fingerprint-scanner.git#9cecc0db326471c571553ea85f7c016fee2f803d", "react-native-flag-secure-android": "^1.0.3", - "react-native-flipper": "^0.154.0", "react-native-fs": "^2.18.0", - "react-native-gesture-handler": "^2.12.1", - "react-native-haptic-feedback": "^2.0.2", + "react-native-gesture-handler": "^2.18.1", + "react-native-haptic-feedback": "^2.3.3", "react-native-i18n": "^2.0.15", "react-native-image-pan-zoom": "^2.1.11", "react-native-image-picker": "4.10.3", @@ -185,32 +127,28 @@ "react-native-markdown-display": "^7.0.2", "react-native-masked-text": "^1.13.0", "react-native-notifications-utils": "^0.3.0", - "react-native-pager-view": "^6.2.3", + "react-native-pager-view": "^6.4.1", "react-native-pdf": "6.7.4", "react-native-pdf-thumbnail": "^1.2.1", "react-native-permissions": "^4.0.0", "react-native-push-notification": "^8.1.1", - "react-native-reanimated": "^3.12.0", + "react-native-reanimated": "^3.15.0", "react-native-render-html": "^6.3.1", "react-native-responsive-screen": "^1.4.1", - "react-native-safe-area-context": "^4.10.4", + "react-native-safe-area-context": "^4.10.5", "react-native-screen-brightness": "^2.0.0-alpha", - "react-native-screens": "^3.31.1", + "react-native-screens": "^3.34.0", "react-native-share": "^10.2.1", "react-native-splash-screen": "^3.2.0", - "react-native-svg": "^15.1.0", + "react-native-svg": "^15.6.0", "react-native-tab-view": "3.5.2", "react-native-url-polyfill": "^2.0.0", "react-native-view-shot": "3.1.2", - "react-native-vision-camera": "4.3.1", - "react-native-webview": "^13.10.3", + "react-native-vision-camera": "^4.5.3", + "react-native-webview": "^13.10.5", "react-native-xml2js": "^1.0.3", "react-redux": "8.1.3", - "reactotron-react-native": "^5.0.0", - "reactotron-redux": "^3.1.3", - "reactotron-redux-saga": "4.2.3", "redux": "4.1.1", - "redux-flipper": "^2.0.0", "redux-logger": "3.0.6", "redux-persist": "5.10.0", "redux-saga": "1.1.3", @@ -237,14 +175,16 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/preset-env": "^7.20.0", "@babel/preset-typescript": "^7.23.3", "@babel/runtime": "^7.20.0", "@jambit/eslint-plugin-typed-redux-saga": "^0.4.0", "@pagopa/openapi-codegen-ts": "^13.2.0", "@react-native-community/eslint-config": "^3.2.0", - "@react-native/eslint-config": "^0.72.2", - "@react-native/metro-config": "^0.72.12", + "@react-native/babel-preset": "0.75.4", + "@react-native/eslint-config": "0.75.4", + "@react-native/metro-config": "0.75.4", "@stylistic/eslint-plugin-js": "^2.1.0", "@testing-library/jest-native": "^3.4.3", "@testing-library/react-native": "^8.0.0", @@ -260,7 +200,7 @@ "@types/node-fetch": "^2.1.7", "@types/pako": "^2.0.0", "@types/prettier": "^2.7.3", - "@types/react": "^18.0.24", + "@types/react": "^18.2.6", "@types/react-native-background-timer": "^2.0.0", "@types/react-native-i18n": "^2.0.0", "@types/react-native-push-notification": "^8.1.1", @@ -276,7 +216,7 @@ "@typescript-eslint/eslint-plugin": "^5.9.1", "@typescript-eslint/parser": "^7.13.0", "abortcontroller-polyfill": "1.7.3", - "babel-jest": "^29.2.1", + "babel-jest": "^29.6.3", "babel-plugin-macros": "^3.1.0", "babel-preset-react-native": "^4.0.1", "chalk": "^2.4.1", @@ -285,18 +225,18 @@ "eslint-config-prettier": "^8.3.0", "eslint-plugin-functional": "^4.1.1", "eslint-plugin-import": "^2.25.4", + "eslint-plugin-jest": "^28.8.3", "eslint-plugin-react": "^7.28.0", "eslint-plugin-react-hooks": "^4.3.0", "eslint-plugin-react-native-a11y": "^3.3.0", "eslint-plugin-sonarjs": "^0.11.0", "fs-extra": "^7.0.0", "husky": "^8.0.0", - "jest": "^29.2.1", + "jest": "^29.6.3", "jest-circus": "^26.6.3", "jest-junit": "^13.0.0", "js-yaml": "^3.13.1", "lint-staged": "^13.2.0", - "metro-react-native-babel-preset": "^0.76.9", "mockdate": "^3.0.2", "mockttp": "2.4.0", "node-fetch": "^2.6.7", @@ -308,7 +248,7 @@ "react-native-bundle-visualizer": "^2.2.1", "react-native-get-random-values": "^1.11.0", "react-native-svg-transformer": "^0.14.3", - "react-test-renderer": "18.2.0", + "react-test-renderer": "18.3.1", "redux-mock-store": "^1.5.4", "redux-saga-test-plan": "4.0.3", "rn-nodeify": "^10.0.1", @@ -317,7 +257,7 @@ "typescript": "^5.4.5" }, "engines": { - "node": ">=16" + "node": ">=18" }, "resolutions": { "@types/react": "^18.0.24", @@ -342,5 +282,6 @@ "scripts": { "postchangelog": "node scripts/changelog/add_jira_stories.js" } - } + }, + "packageManager": "yarn@3.6.4" } diff --git a/patches/patches.md b/patches/patches.md index e3432d0828c..c75bae6a4e1 100644 --- a/patches/patches.md +++ b/patches/patches.md @@ -159,14 +159,6 @@ Created on **16/01/2023** This was fine as long as each event was originally created and handled using this library only but initially another library was used, react-native-add-calendar-event, which treated event's Id as long -### react-native-reanimated+3.12.0.patch - -Created on **16/01/2023** - -#### Reason: - -- Patch to fix a crash on android due to wrong file definition, to be removed in a future update - ### react-native-fingerprint-scanner+6.0.0.patch Created on **29/08/2024** diff --git a/patches/react-native+0.72.14.patch b/patches/react-native+0.75.4.patch similarity index 66% rename from patches/react-native+0.72.14.patch rename to patches/react-native+0.75.4.patch index 667ac2c35e8..8e108df4337 100644 --- a/patches/react-native+0.72.14.patch +++ b/patches/react-native+0.75.4.patch @@ -1,14 +1,8 @@ -diff --git a/node_modules/react-native/.DS_Store b/node_modules/react-native/.DS_Store -new file mode 100644 -index 0000000..e69de29 -diff --git a/node_modules/react-native/Libraries/.DS_Store b/node_modules/react-native/Libraries/.DS_Store -new file mode 100644 -index 0000000..e69de29 diff --git a/node_modules/react-native/Libraries/ReactNative/UIManager.d.ts b/node_modules/react-native/Libraries/ReactNative/UIManager.d.ts -index 1f0b346..12603ec 100644 +index 749015f..cbb18e4 100644 --- a/node_modules/react-native/Libraries/ReactNative/UIManager.d.ts +++ b/node_modules/react-native/Libraries/ReactNative/UIManager.d.ts -@@ -151,6 +151,10 @@ export interface UIManagerStatic { +@@ -107,6 +107,10 @@ export interface UIManagerStatic { commandID: number | string, commandArgs?: Array, ) => void; @@ -19,52 +13,13 @@ index 1f0b346..12603ec 100644 } export const UIManager: UIManagerStatic; -diff --git a/node_modules/react-native/React/.DS_Store b/node_modules/react-native/React/.DS_Store -new file mode 100644 -index 0000000..e69de29 -diff --git a/node_modules/react-native/React/AccessibilityResources/.DS_Store b/node_modules/react-native/React/AccessibilityResources/.DS_Store -new file mode 100644 -index 0000000..e69de29 -diff --git a/node_modules/react-native/React/AccessibilityResources/it.lproj/Localizable.strings b/node_modules/react-native/React/AccessibilityResources/it.lproj/Localizable.strings -new file mode 100644 -index 0000000..b0bc264 ---- /dev/null -+++ b/node_modules/react-native/React/AccessibilityResources/it.lproj/Localizable.strings -@@ -0,0 +1,26 @@ -+/* -+ Localizable.strings -+ React -+*/ -+"alert"="alert"; -+"checkbox"="casella di controllo"; -+"combobox"="elenco a discesa"; -+"menu"="menu"; -+"menubar"="barra del menu"; -+"menuitem"="voce del menu"; -+"progressbar"="barra di avanzamento"; -+"radio"="pulsante di scelta"; -+"radiogroup"="scelta multipla"; -+"scrollbar"="barra di scorrimento"; -+"spinbutton"="spin button"; -+"switch"="switch"; -+"tab"="tab description"; -+"tablist"="tab list"; -+"timer"="timer"; -+"toolbar"="barra degli strumenti"; -+"checked"="selezionato"; -+"unchecked"="non selezionato"; -+"busy"="occupato"; -+"expanded"="espanso"; -+"collapsed"="compresso"; -+"mixed"="misto"; -\ No newline at end of file diff --git a/node_modules/react-native/jest/setup.js b/node_modules/react-native/jest/setup.js -index 71f49e6..306cf78 100644 +index 6bff5a8..8fd5cfc 100644 --- a/node_modules/react-native/jest/setup.js +++ b/node_modules/react-native/jest/setup.js -@@ -122,6 +122,7 @@ jest - default: { - addEventListener: jest.fn(), +@@ -146,6 +146,7 @@ jest + remove: jest.fn(), + })), announceForAccessibility: jest.fn(), + announceForAccessibilityWithOptions: jest.fn(), isAccessibilityServiceEnabled: jest.fn(), @@ -72,10 +27,10 @@ index 71f49e6..306cf78 100644 isGrayscaleEnabled: jest.fn(), diff --git a/node_modules/react-native/scripts/react-native-xcode.back.sh b/node_modules/react-native/scripts/react-native-xcode.back.sh new file mode 100755 -index 0000000..e6fc8d1 +index 0000000..001b6cb --- /dev/null +++ b/node_modules/react-native/scripts/react-native-xcode.back.sh -@@ -0,0 +1,192 @@ +@@ -0,0 +1,189 @@ +#!/bin/bash +# Copyright (c) Meta Platforms, Inc. and affiliates. +# @@ -87,13 +42,13 @@ index 0000000..e6fc8d1 +# and relies on environment variables (including PWD) set by Xcode + +# Print commands before executing them (useful for troubleshooting) -+set -x ++set -x -e +DEST=$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH + +# Enables iOS devices to get the IP address of the machine running Metro +if [[ ! "$SKIP_BUNDLING_METRO_IP" && "$CONFIGURATION" = *Debug* && ! "$PLATFORM_NAME" == *simulator ]]; then + for num in 0 1 2 3 4 5 6 7 8; do -+ IP=$(ipconfig getifaddr en${num}) ++ IP=$(ipconfig getifaddr en${num} || echo "") + if [ ! -z "$IP" ]; then + break + fi @@ -155,24 +110,11 @@ index 0000000..e6fc8d1 +# shellcheck source=/dev/null +source "$REACT_NATIVE_DIR/scripts/node-binary.sh" + -+# If hermes-engine is in the Podfile.lock, it means that Hermes is a dependency of the project -+# and it is enabled. If not, it means that hermes is disabled. -+HERMES_ENABLED=$(grep hermes-engine $PODS_PODFILE_DIR_PATH/Podfile.lock) -+ -+# If hermes-engine is not in the Podfile.lock, it means that the app is not using Hermes. -+# Setting USE_HERMES is no the only way to set whether the app can use hermes or not: users -+# can also modify manually the Podfile. -+if [[ -z "$HERMES_ENABLED" ]]; then -+ USE_HERMES=false -+fi -+ +HERMES_ENGINE_PATH="$PODS_ROOT/hermes-engine" +[ -z "$HERMES_CLI_PATH" ] && HERMES_CLI_PATH="$HERMES_ENGINE_PATH/destroot/bin/hermesc" + -+# Hermes is enabled in new projects by default, so we cannot assume that USE_HERMES=1 is set as an envvar. -+# If hermes-engine is found in Pods, we can assume Hermes has not been disabled. -+# If hermesc is not available and USE_HERMES is either unset or true, show error. -+if [[ ! -z "$HERMES_ENABLED" && -f "$HERMES_ENGINE_PATH" && ! -f "$HERMES_CLI_PATH" ]]; then ++# If hermesc is not available and USE_HERMES is not set to false, show error. ++if [[ $USE_HERMES != false && -f "$HERMES_ENGINE_PATH" && ! -f "$HERMES_CLI_PATH" ]]; then + echo "error: Hermes is enabled but the hermesc binary could not be found at ${HERMES_CLI_PATH}." \ + "Perhaps you need to run 'bundle exec pod install' or otherwise " \ + "point the HERMES_CLI_PATH variable to your custom location." >&2 @@ -181,7 +123,7 @@ index 0000000..e6fc8d1 + +[ -z "$NODE_ARGS" ] && export NODE_ARGS="" + -+[ -z "$CLI_PATH" ] && export CLI_PATH="$REACT_NATIVE_DIR/cli.js" ++[ -z "$CLI_PATH" ] && CLI_PATH="$REACT_NATIVE_DIR/scripts/bundle.js" + +[ -z "$BUNDLE_COMMAND" ] && BUNDLE_COMMAND="bundle" + @@ -195,7 +137,7 @@ index 0000000..e6fc8d1 + +BUNDLE_FILE="$CONFIGURATION_BUILD_DIR/main.jsbundle" + -+EXTRA_ARGS= ++EXTRA_ARGS=() + +case "$PLATFORM_NAME" in + "macosx") @@ -218,18 +160,28 @@ index 0000000..e6fc8d1 +PACKAGER_SOURCEMAP_FILE= +if [[ $EMIT_SOURCEMAP == true ]]; then + if [[ $USE_HERMES != false ]]; then -+ PACKAGER_SOURCEMAP_FILE="$CONFIGURATION_BUILD_DIR/$(basename $SOURCEMAP_FILE)" ++ PACKAGER_SOURCEMAP_FILE="$CONFIGURATION_BUILD_DIR/$(basename "$SOURCEMAP_FILE")" + else + PACKAGER_SOURCEMAP_FILE="$SOURCEMAP_FILE" + fi -+ EXTRA_ARGS="$EXTRA_ARGS --sourcemap-output $PACKAGER_SOURCEMAP_FILE" ++ EXTRA_ARGS+=("--sourcemap-output" "$PACKAGER_SOURCEMAP_FILE") +fi + +# Hermes doesn't require JS minification. +if [[ $USE_HERMES != false && $DEV == false ]]; then -+ EXTRA_ARGS="$EXTRA_ARGS --minify false" ++ EXTRA_ARGS+=("--minify" "false") ++fi ++ ++# Allow opting out of using npx react-native config ++if [[ -n "$CONFIG_JSON" ]]; then ++ EXTRA_ARGS+=("--load-config" "$CONFIG_JSON") ++elif [[ -n "$CONFIG_CMD" ]]; then ++ EXTRA_ARGS+=("--config-cmd" "$CONFIG_CMD") ++else ++ EXTRA_ARGS+=("--config-cmd" "$NODE_BINARY $NODE_ARGS $REACT_NATIVE_DIR/cli.js config") +fi + ++# shellcheck disable=SC2086 +"$NODE_BINARY" $NODE_ARGS "$CLI_PATH" $BUNDLE_COMMAND \ + $CONFIG_ARG \ + --entry-file "$ENTRY_FILE" \ @@ -238,7 +190,7 @@ index 0000000..e6fc8d1 + --reset-cache \ + --bundle-output "$BUNDLE_FILE" \ + --assets-dest "$DEST" \ -+ $EXTRA_ARGS \ ++ "${EXTRA_ARGS[@]}" \ + $EXTRA_PACKAGER_ARGS + +if [[ $USE_HERMES == false ]]; then @@ -265,21 +217,18 @@ index 0000000..e6fc8d1 +fi + +if [[ $DEV != true && ! -f "$BUNDLE_FILE" ]]; then -+ echo "error: File $BUNDLE_FILE does not exist. This must be a bug with React Native, please report it here: https://github.com/facebook/react-native/issues" >&2 ++ echo "error: File $BUNDLE_FILE does not exist. Your environment is misconfigured as Metro was not able to produce the bundle so your release application won't work!" >&2 + exit 2 +fi diff --git a/node_modules/react-native/scripts/react-native-xcode.sh b/node_modules/react-native/scripts/react-native-xcode.sh -index e6fc8d1..15ae060 100755 +index 001b6cb..4f15aa8 100755 --- a/node_modules/react-native/scripts/react-native-xcode.sh +++ b/node_modules/react-native/scripts/react-native-xcode.sh -@@ -159,6 +159,7 @@ fi +@@ -156,6 +156,7 @@ fi --dev $DEV \ --reset-cache \ --bundle-output "$BUNDLE_FILE" \ + --sourcemap-output "$BUNDLE_FILE.map" \ --assets-dest "$DEST" \ - $EXTRA_ARGS \ + "${EXTRA_ARGS[@]}" \ $EXTRA_PACKAGER_ARGS -diff --git a/node_modules/react-native/types/.DS_Store b/node_modules/react-native/types/.DS_Store -new file mode 100644 -index 0000000..e69de29 diff --git a/patches/react-native-barcode-builder+2.0.0.patch b/patches/react-native-barcode-builder+2.0.0.patch new file mode 100644 index 00000000000..e54e999f457 --- /dev/null +++ b/patches/react-native-barcode-builder+2.0.0.patch @@ -0,0 +1,86 @@ +diff --git a/node_modules/react-native-barcode-builder/Example/package.json b/node_modules/react-native-barcode-builder/Example/package.json +index 5d33462..be0512c 100644 +--- a/node_modules/react-native-barcode-builder/Example/package.json ++++ b/node_modules/react-native-barcode-builder/Example/package.json +@@ -26,5 +26,11 @@ + }, + "jest": { + "preset": "react-native" ++ }, ++ "react-native": { ++ "path": "path-browserify" ++ }, ++ "browser": { ++ "path": "path-browserify" + } + } +diff --git a/node_modules/react-native-barcode-builder/index.js b/node_modules/react-native-barcode-builder/index.js +index 516605b..4f57a8a 100644 +--- a/node_modules/react-native-barcode-builder/index.js ++++ b/node_modules/react-native-barcode-builder/index.js +@@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; + + import barcodes from 'jsbarcode/src/barcodes'; + +-import {Surface, Shape} from '@react-native-community/art'; ++import Svg, { Path } from 'react-native-svg'; + + export default class Barcode extends PureComponent { + static propTypes = { +@@ -46,6 +46,10 @@ export default class Barcode extends PureComponent { + bars: [], + barCodeWidth: 0 + }; ++ ++ this.renderSvg = this.renderSvg.bind(this); ++ this.renderBars = this.renderBars.bind(this); ++ this.renderBar = this.renderBar.bind(this); + } + + componentDidUpdate(prevProps) { +@@ -111,7 +115,7 @@ export default class Barcode extends PureComponent { + } + + drawRect(x, y, width, height) { +- return `M${x},${y}h${width}v${height}h-${width}z`; ++ return `M${x} ${y} h${width} v${height} h-${width} z`; + } + + getTotalWidthOfEncodings(encodings) { +@@ -165,6 +169,25 @@ export default class Barcode extends PureComponent { + return encoded; + } + ++ ++ renderSvg() { ++ return ( ++ ++ {this.renderBars()} ++ ++ ); ++ } ++ ++ renderBars() { ++ return this.state.bars.map(this.renderBar); ++ } ++ ++ renderBar(bar, index) { ++ return ( ++ ++ ); ++ } ++ + render() { + this.update(); + const backgroundStyle = { +@@ -172,9 +195,7 @@ export default class Barcode extends PureComponent { + }; + return ( + +- +- +- ++ {this.renderSvg()} + { typeof (this.props.text) !== 'undefined' && + {this.props.text} + } diff --git a/patches/react-native-reanimated+2.10.0.patch_old b/patches/react-native-reanimated+2.10.0.patch_old deleted file mode 100644 index 13918c1049c..00000000000 --- a/patches/react-native-reanimated+2.10.0.patch_old +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/node_modules/react-native-reanimated/ios/LayoutReanimation/REAUIManager.mm b/node_modules/react-native-reanimated/ios/LayoutReanimation/REAUIManager.mm -index 16ed327..4813412 100644 ---- a/node_modules/react-native-reanimated/ios/LayoutReanimation/REAUIManager.mm -+++ b/node_modules/react-native-reanimated/ios/LayoutReanimation/REAUIManager.mm -@@ -117,6 +117,11 @@ std::weak_ptr _scheduler; - // Reanimated changes /start - if (isUIViewRegistry) { - NSMutableDictionary> *viewRegistry = [self valueForKey:@"_viewRegistry"]; -+ NSMutableDictionary> *> *toBeRemovedRegisterCopy = -+ [NSMutableDictionary dictionaryWithDictionary:_toBeRemovedRegister]; -+ for (NSNumber *key in _toBeRemovedRegister) { -+ toBeRemovedRegisterCopy[key] = [NSMutableSet setWithSet:_toBeRemovedRegister[key]]; -+ } - for (id toRemoveChild in _toBeRemovedRegister[containerTag]) { - NSInteger lastIndex = [container reactSubviews].count - 1; - if (lastIndex < 0) { -@@ -129,7 +134,7 @@ std::weak_ptr _scheduler; - ) { - // we don't want layout animations when removing modals or Screens of native-stack since it brings buggy - // behavior -- [_toBeRemovedRegister[container.reactTag] removeObject:toRemoveChild]; -+ [toBeRemovedRegisterCopy[container.reactTag] removeObject:toRemoveChild]; - [permanentlyRemovedChildren removeObject:toRemoveChild]; - - } else { -@@ -137,6 +142,7 @@ std::weak_ptr _scheduler; - viewRegistry[toRemoveChild.reactTag] = toRemoveChild; - } - } -+ _toBeRemovedRegister = toBeRemovedRegisterCopy; - - for (UIView *removedChild in permanentlyRemovedChildren) { - [self callAnimationForTree:removedChild parentTag:containerTag]; diff --git a/patches/react-native-reanimated+3.12.0.patch b/patches/react-native-reanimated+3.12.0.patch deleted file mode 100644 index 26aa51ba482..00000000000 --- a/patches/react-native-reanimated+3.12.0.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/node_modules/react-native-reanimated/android/src/reactNativeVersionPatch/ReactHost/72/com/swmansion/reanimated/DevMenuUtils.java b/node_modules/react-native-reanimated/android/src/reactNativeVersionPatch/ReactHost/72/com/swmansion/reanimated/DevMenuUtils.java -index d39c8d6..86ac2e7 100644 ---- a/node_modules/react-native-reanimated/android/src/reactNativeVersionPatch/ReactHost/72/com/swmansion/reanimated/DevMenuUtils.java -+++ b/node_modules/react-native-reanimated/android/src/reactNativeVersionPatch/ReactHost/72/com/swmansion/reanimated/DevMenuUtils.java -@@ -1,18 +1,23 @@ - package com.swmansion.reanimated; - -+import com.facebook.react.bridge.ReactApplicationContext; -+import com.facebook.react.ReactApplication; -+import com.facebook.react.devsupport.interfaces.DevOptionHandler; -+import com.facebook.react.devsupport.interfaces.DevSupportManager; -+ - public class DevMenuUtils { - -- private void addDevMenuOption(ReactApplicationContext context, DevOptionHandler handler) { -- // In Expo, `ApplicationContext` is not an instance of `ReactApplication` -- if (context.getApplicationContext() instanceof ReactApplication) { -- final DevSupportManager devSupportManager = -- ((ReactApplication) context.getApplicationContext()) -- .getReactNativeHost() -- .getReactInstanceManager() -- .getDevSupportManager(); -+ public static void addDevMenuOption(ReactApplicationContext context, DevOptionHandler handler) { -+ // In Expo, `ApplicationContext` is not an instance of `ReactApplication` -+ if (context.getApplicationContext() instanceof ReactApplication) { -+ final DevSupportManager devSupportManager = -+ ((ReactApplication) context.getApplicationContext()) -+ .getReactNativeHost() -+ .getReactInstanceManager() -+ .getDevSupportManager(); - -- devSupportManager.addCustomDevOption( -- "Toggle slow animations (Reanimated)", handler); -+ devSupportManager.addCustomDevOption( -+ "Toggle slow animations (Reanimated)", handler); -+ } - } -- } - } -\ No newline at end of file diff --git a/patches/react-native-screen-brightness+2.0.0-alpha.patch b/patches/react-native-screen-brightness+2.0.0-alpha.patch_old similarity index 100% rename from patches/react-native-screen-brightness+2.0.0-alpha.patch rename to patches/react-native-screen-brightness+2.0.0-alpha.patch_old diff --git a/patches/react-native-webview+13.10.3.patch b/patches/react-native-webview+13.10.3.patch deleted file mode 100644 index c26087f7bce..00000000000 --- a/patches/react-native-webview+13.10.3.patch +++ /dev/null @@ -1,158 +0,0 @@ -diff --git a/node_modules/react-native-webview/.DS_Store b/node_modules/react-native-webview/.DS_Store -new file mode 100644 -index 0000000..e69de29 -diff --git a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebChromeClient.java b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebChromeClient.java -index 07f73fd..882b722 100644 ---- a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebChromeClient.java -+++ b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebChromeClient.java -@@ -171,6 +171,10 @@ public class RNCWebChromeClient extends WebChromeClient implements LifecycleEven - // TODO: RESOURCE_MIDI_SYSEX, RESOURCE_PROTECTED_MEDIA_ID. - if (androidPermission != null) { - if (ContextCompat.checkSelfPermission(this.mWebView.getThemedReactContext(), androidPermission) == PackageManager.PERMISSION_GRANTED) { -+ if ((androidPermission.equals(Manifest.permission.RECORD_AUDIO) && this.mWebView.getCustomSettings().getMicrophoneAccessDisabled()) || -+ (androidPermission.equals(Manifest.permission.CAMERA) && this.mWebView.getCustomSettings().getCameraAccessDisabled())) { -+ continue; -+ } - grantedPermissions.add(requestedResource); - } else { - requestedAndroidPermissions.add(androidPermission); -diff --git a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebView.java b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebView.java -index 6664b6f..45fe5d2 100644 ---- a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebView.java -+++ b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebView.java -@@ -70,6 +70,17 @@ public class RNCWebView extends WebView implements LifecycleEventListener { - protected boolean nestedScrollEnabled = false; - protected ProgressChangedFilter progressChangedFilter; - -+ /** -+ * It is impossibile to override WebView getSettings(), so RNCWebView has getCustomSettings() -+ */ -+ private CustomWebSettings customWebSettings; -+ public CustomWebSettings getCustomSettings() { -+ if (customWebSettings == null) { -+ customWebSettings = new CustomWebSettings(); -+ } -+ return customWebSettings; -+ } -+ - /** - * WebView must be created with an context of the current activity - *

-@@ -438,4 +449,25 @@ public class RNCWebView extends WebView implements LifecycleEventListener { - return waitingForCommandLoadUrl; - } - } -+ -+ public class CustomWebSettings { -+ private boolean microphoneAccess = true; -+ private boolean cameraAccess = true; -+ -+ public boolean getMicrophoneAccessDisabled() { -+ return !microphoneAccess; -+ } -+ -+ public boolean getCameraAccessDisabled() { -+ return !cameraAccess; -+ } -+ -+ public void setMicrophoneAccessDisabled(boolean b) { -+ microphoneAccess = !b; -+ } -+ -+ public void setCameraAccessDisabled(boolean b) { -+ cameraAccess = !b; -+ } -+ } - } -\ No newline at end of file -diff --git a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManagerImpl.kt b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManagerImpl.kt -index 4600a8d..d1ee7ec 100644 ---- a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManagerImpl.kt -+++ b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManagerImpl.kt -@@ -554,6 +554,10 @@ class RNCWebViewManagerImpl { - setupWebChromeClient(view) - } - -+ fun getCustomSettings(viewWrapper: RNCWebViewWrapper): RNCWebView.CustomWebSettings? { -+ return viewWrapper.webView.customSettings -+ } -+ - fun setAndroidLayerType(viewWrapper: RNCWebViewWrapper, layerTypeString: String?) { - val view = viewWrapper.webView - val layerType = when (layerTypeString) { -diff --git a/node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java b/node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java -index 5bae4aa..701b325 100644 ---- a/node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java -+++ b/node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java -@@ -93,6 +93,18 @@ public class RNCWebViewManager extends ViewGroupManager - mRNCWebViewManagerImpl.setAllowsProtectedMedia(view, value); - } - -+ @Override -+ @ReactProp(name = "androidMicrophoneAccessDisabled") -+ public void setMicrophoneAccessDisabled(RNCWebViewWrapper view, boolean disabled) { -+ mRNCWebViewManagerImpl.getCustomSettings(view).setMicrophoneAccessDisabled(disabled); -+ } -+ -+ @Override -+ @ReactProp(name = "androidCameraAccessDisabled") -+ public void setCameraAccessDisabled(RNCWebViewWrapper view, boolean disabled) { -+ mRNCWebViewManagerImpl.getCustomSettings(view).setCameraAccessDisabled(disabled); -+ } -+ - @Override - @ReactProp(name = "androidLayerType") - public void setAndroidLayerType(RNCWebViewWrapper view, @Nullable String value) { -diff --git a/node_modules/react-native-webview/android/src/oldarch/com/reactnativecommunity/webview/RNCWebViewManager.java b/node_modules/react-native-webview/android/src/oldarch/com/reactnativecommunity/webview/RNCWebViewManager.java -index 709117a..d039e5c 100644 ---- a/node_modules/react-native-webview/android/src/oldarch/com/reactnativecommunity/webview/RNCWebViewManager.java -+++ b/node_modules/react-native-webview/android/src/oldarch/com/reactnativecommunity/webview/RNCWebViewManager.java -@@ -71,6 +71,16 @@ public class RNCWebViewManager extends ViewGroupManager { - mRNCWebViewManagerImpl.setAllowsProtectedMedia(view, value); - } - -+ @ReactProp(name = "androidMicrophoneAccessDisabled") -+ public void setMicrophoneAccessDisabled(RNCWebViewWrapper view, boolean disabled) { -+ mRNCWebViewManagerImpl.getCustomSettings(view).setMicrophoneAccessDisabled(disabled); -+ } -+ -+ @ReactProp(name = "androidCameraAccessDisabled") -+ public void setCameraAccessDisabled(RNCWebViewWrapper view, boolean disabled) { -+ mRNCWebViewManagerImpl.getCustomSettings(view).setCameraAccessDisabled(disabled); -+ } -+ - @ReactProp(name = "androidLayerType") - public void setAndroidLayerType(RNCWebViewWrapper view, @Nullable String value) { - mRNCWebViewManagerImpl.setAndroidLayerType(view, value); -diff --git a/node_modules/react-native-webview/lib/WebView.android.js b/node_modules/react-native-webview/lib/WebView.android.js -index 009630d..14e285f 100644 ---- a/node_modules/react-native-webview/lib/WebView.android.js -+++ b/node_modules/react-native-webview/lib/WebView.android.js -@@ -1 +1 @@ --var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _BatchedBridge=_interopRequireDefault(require("react-native/Libraries/BatchedBridge/BatchedBridge"));var _EventEmitter=_interopRequireDefault(require("react-native/Libraries/vendor/emitter/EventEmitter"));var _invariant=_interopRequireDefault(require("invariant"));var _RNCWebViewNativeComponent=_interopRequireWildcard(require("./RNCWebViewNativeComponent"));var _NativeRNCWebView=_interopRequireDefault(require("./NativeRNCWebView"));var _WebViewShared=require("./WebViewShared");var _WebView=_interopRequireDefault(require("./WebView.styles"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["overScrollMode","javaScriptEnabled","thirdPartyCookiesEnabled","scalesPageToFit","allowsFullscreenVideo","allowFileAccess","saveFormDataDisabled","cacheEnabled","androidLayerType","originWhitelist","setSupportMultipleWindows","setBuiltInZoomControls","setDisplayZoomControls","nestedScrollEnabled","startInLoadingState","onNavigationStateChange","onLoadStart","onError","onLoad","onLoadEnd","onLoadProgress","onHttpError","onRenderProcessGone","onMessage","onOpenWindow","renderLoading","renderError","style","containerStyle","source","nativeConfig","onShouldStartLoadWithRequest","injectedJavaScriptObject"],_excluded2=["messagingModuleName"],_excluded3=["messagingModuleName"];var _require$registerCall,_this=this,_jsxFileName="/home/circleci/code/src/WebView.android.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var resolveAssetSource=_reactNative.Image.resolveAssetSource;var directEventEmitter=new _EventEmitter.default();var registerCallableModule=(_require$registerCall=require('react-native').registerCallableModule)!=null?_require$registerCall:_BatchedBridge.default.registerCallableModule.bind(_BatchedBridge.default);registerCallableModule('RNCWebViewMessagingModule',{onShouldStartLoadWithRequest:function onShouldStartLoadWithRequest(event){directEventEmitter.emit('onShouldStartLoadWithRequest',event);},onMessage:function onMessage(event){directEventEmitter.emit('onMessage',event);}});var uniqueRef=0;var WebViewComponent=(0,_react.forwardRef)(function(_ref,ref){var _ref$overScrollMode=_ref.overScrollMode,overScrollMode=_ref$overScrollMode===void 0?'always':_ref$overScrollMode,_ref$javaScriptEnable=_ref.javaScriptEnabled,javaScriptEnabled=_ref$javaScriptEnable===void 0?true:_ref$javaScriptEnable,_ref$thirdPartyCookie=_ref.thirdPartyCookiesEnabled,thirdPartyCookiesEnabled=_ref$thirdPartyCookie===void 0?true:_ref$thirdPartyCookie,_ref$scalesPageToFit=_ref.scalesPageToFit,scalesPageToFit=_ref$scalesPageToFit===void 0?true:_ref$scalesPageToFit,_ref$allowsFullscreen=_ref.allowsFullscreenVideo,allowsFullscreenVideo=_ref$allowsFullscreen===void 0?false:_ref$allowsFullscreen,_ref$allowFileAccess=_ref.allowFileAccess,allowFileAccess=_ref$allowFileAccess===void 0?false:_ref$allowFileAccess,_ref$saveFormDataDisa=_ref.saveFormDataDisabled,saveFormDataDisabled=_ref$saveFormDataDisa===void 0?false:_ref$saveFormDataDisa,_ref$cacheEnabled=_ref.cacheEnabled,cacheEnabled=_ref$cacheEnabled===void 0?true:_ref$cacheEnabled,_ref$androidLayerType=_ref.androidLayerType,androidLayerType=_ref$androidLayerType===void 0?'none':_ref$androidLayerType,_ref$originWhitelist=_ref.originWhitelist,originWhitelist=_ref$originWhitelist===void 0?_WebViewShared.defaultOriginWhitelist:_ref$originWhitelist,_ref$setSupportMultip=_ref.setSupportMultipleWindows,setSupportMultipleWindows=_ref$setSupportMultip===void 0?true:_ref$setSupportMultip,_ref$setBuiltInZoomCo=_ref.setBuiltInZoomControls,setBuiltInZoomControls=_ref$setBuiltInZoomCo===void 0?true:_ref$setBuiltInZoomCo,_ref$setDisplayZoomCo=_ref.setDisplayZoomControls,setDisplayZoomControls=_ref$setDisplayZoomCo===void 0?false:_ref$setDisplayZoomCo,_ref$nestedScrollEnab=_ref.nestedScrollEnabled,nestedScrollEnabled=_ref$nestedScrollEnab===void 0?false:_ref$nestedScrollEnab,startInLoadingState=_ref.startInLoadingState,onNavigationStateChange=_ref.onNavigationStateChange,onLoadStart=_ref.onLoadStart,onError=_ref.onError,onLoad=_ref.onLoad,onLoadEnd=_ref.onLoadEnd,onLoadProgress=_ref.onLoadProgress,onHttpErrorProp=_ref.onHttpError,onRenderProcessGoneProp=_ref.onRenderProcessGone,onMessageProp=_ref.onMessage,onOpenWindowProp=_ref.onOpenWindow,renderLoading=_ref.renderLoading,renderError=_ref.renderError,style=_ref.style,containerStyle=_ref.containerStyle,source=_ref.source,nativeConfig=_ref.nativeConfig,onShouldStartLoadWithRequestProp=_ref.onShouldStartLoadWithRequest,injectedJavaScriptObject=_ref.injectedJavaScriptObject,otherProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var messagingModuleName=(0,_react.useRef)(`WebViewMessageHandler${uniqueRef+=1}`).current;var webViewRef=(0,_react.useRef)(null);var onShouldStartLoadWithRequestCallback=(0,_react.useCallback)(function(shouldStart,url,lockIdentifier){if(lockIdentifier){_NativeRNCWebView.default.shouldStartLoadWithLockIdentifier(shouldStart,lockIdentifier);}else if(shouldStart&&webViewRef.current){_RNCWebViewNativeComponent.Commands.loadUrl(webViewRef.current,url);}},[]);var _useWebViewLogic=(0,_WebViewShared.useWebViewLogic)({onNavigationStateChange:onNavigationStateChange,onLoad:onLoad,onError:onError,onHttpErrorProp:onHttpErrorProp,onLoadEnd:onLoadEnd,onLoadProgress:onLoadProgress,onLoadStart:onLoadStart,onRenderProcessGoneProp:onRenderProcessGoneProp,onMessageProp:onMessageProp,onOpenWindowProp:onOpenWindowProp,startInLoadingState:startInLoadingState,originWhitelist:originWhitelist,onShouldStartLoadWithRequestProp:onShouldStartLoadWithRequestProp,onShouldStartLoadWithRequestCallback:onShouldStartLoadWithRequestCallback}),onLoadingStart=_useWebViewLogic.onLoadingStart,onShouldStartLoadWithRequest=_useWebViewLogic.onShouldStartLoadWithRequest,onMessage=_useWebViewLogic.onMessage,viewState=_useWebViewLogic.viewState,setViewState=_useWebViewLogic.setViewState,lastErrorEvent=_useWebViewLogic.lastErrorEvent,onHttpError=_useWebViewLogic.onHttpError,onLoadingError=_useWebViewLogic.onLoadingError,onLoadingFinish=_useWebViewLogic.onLoadingFinish,onLoadingProgress=_useWebViewLogic.onLoadingProgress,onOpenWindow=_useWebViewLogic.onOpenWindow,onRenderProcessGone=_useWebViewLogic.onRenderProcessGone;(0,_react.useImperativeHandle)(ref,function(){return{goForward:function goForward(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.goForward(webViewRef.current);},goBack:function goBack(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.goBack(webViewRef.current);},reload:function reload(){setViewState('LOADING');if(webViewRef.current){_RNCWebViewNativeComponent.Commands.reload(webViewRef.current);}},stopLoading:function stopLoading(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.stopLoading(webViewRef.current);},postMessage:function postMessage(data){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.postMessage(webViewRef.current,data);},injectJavaScript:function injectJavaScript(data){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.injectJavaScript(webViewRef.current,data);},requestFocus:function requestFocus(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.requestFocus(webViewRef.current);},clearFormData:function clearFormData(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearFormData(webViewRef.current);},clearCache:function clearCache(includeDiskFiles){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearCache(webViewRef.current,includeDiskFiles);},clearHistory:function clearHistory(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearHistory(webViewRef.current);}};},[setViewState,webViewRef]);(0,_react.useEffect)(function(){var onShouldStartLoadWithRequestSubscription=directEventEmitter.addListener('onShouldStartLoadWithRequest',function(event){if(event.messagingModuleName===messagingModuleName){var _=event.messagingModuleName,rest=(0,_objectWithoutProperties2.default)(event,_excluded2);onShouldStartLoadWithRequest(rest);}});var onMessageSubscription=directEventEmitter.addListener('onMessage',function(event){if(event.messagingModuleName===messagingModuleName){var _=event.messagingModuleName,rest=(0,_objectWithoutProperties2.default)(event,_excluded3);onMessage(rest);}});return function(){onShouldStartLoadWithRequestSubscription.remove();onMessageSubscription.remove();};},[messagingModuleName,onMessage,onShouldStartLoadWithRequest]);var otherView;if(viewState==='LOADING'){otherView=(renderLoading||_WebViewShared.defaultRenderLoading)();}else if(viewState==='ERROR'){(0,_invariant.default)(lastErrorEvent!=null,'lastErrorEvent expected to be non-null');if(lastErrorEvent){otherView=(renderError||_WebViewShared.defaultRenderError)(lastErrorEvent.domain,lastErrorEvent.code,lastErrorEvent.description);}}else if(viewState!=='IDLE'){console.error(`RNCWebView invalid state encountered: ${viewState}`);}var webViewStyles=[_WebView.default.container,_WebView.default.webView,style];var webViewContainerStyle=[_WebView.default.container,containerStyle];if(typeof source!=='number'&&source&&'method'in source){if(source.method==='POST'&&source.headers){console.warn('WebView: `source.headers` is not supported when using POST.');}else if(source.method==='GET'&&source.body){console.warn('WebView: `source.body` is not supported when using GET.');}}var NativeWebView=(nativeConfig==null?void 0:nativeConfig.component)||_RNCWebViewNativeComponent.default;var sourceResolved=resolveAssetSource(source);var newSource=typeof sourceResolved==='object'?Object.entries(sourceResolved).reduce(function(prev,_ref2){var _ref3=(0,_slicedToArray2.default)(_ref2,2),currKey=_ref3[0],currValue=_ref3[1];return Object.assign({},prev,(0,_defineProperty2.default)({},currKey,currKey==='headers'&&currValue&&typeof currValue==='object'?Object.entries(currValue).map(function(_ref4){var _ref5=(0,_slicedToArray2.default)(_ref4,2),key=_ref5[0],value=_ref5[1];return{name:key,value:value};}):currValue));},{}):sourceResolved;var webView=(0,_jsxRuntime.jsx)(NativeWebView,Object.assign({},otherProps,{messagingEnabled:typeof onMessageProp==='function',messagingModuleName:messagingModuleName,hasOnScroll:!!otherProps.onScroll,onLoadingError:onLoadingError,onLoadingFinish:onLoadingFinish,onLoadingProgress:onLoadingProgress,onLoadingStart:onLoadingStart,onHttpError:onHttpError,onRenderProcessGone:onRenderProcessGone,onMessage:onMessage,onOpenWindow:onOpenWindow,hasOnOpenWindowEvent:onOpenWindowProp!==undefined,onShouldStartLoadWithRequest:onShouldStartLoadWithRequest,ref:webViewRef,source:sourceResolved,newSource:newSource,style:webViewStyles,overScrollMode:overScrollMode,javaScriptEnabled:javaScriptEnabled,thirdPartyCookiesEnabled:thirdPartyCookiesEnabled,scalesPageToFit:scalesPageToFit,allowsFullscreenVideo:allowsFullscreenVideo,allowFileAccess:allowFileAccess,saveFormDataDisabled:saveFormDataDisabled,cacheEnabled:cacheEnabled,androidLayerType:androidLayerType,setSupportMultipleWindows:setSupportMultipleWindows,setBuiltInZoomControls:setBuiltInZoomControls,setDisplayZoomControls:setDisplayZoomControls,nestedScrollEnabled:nestedScrollEnabled,injectedJavaScriptObject:JSON.stringify(injectedJavaScriptObject)},nativeConfig==null?void 0:nativeConfig.props),"webViewKey");return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:webViewContainerStyle,children:[webView,otherView]});});var isFileUploadSupported=_NativeRNCWebView.default.isFileUploadSupported;var WebView=Object.assign(WebViewComponent,{isFileUploadSupported:isFileUploadSupported});var _default=exports.default=WebView; -\ No newline at end of file -+var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _BatchedBridge=_interopRequireDefault(require("react-native/Libraries/BatchedBridge/BatchedBridge"));var _EventEmitter=_interopRequireDefault(require("react-native/Libraries/vendor/emitter/EventEmitter"));var _invariant=_interopRequireDefault(require("invariant"));var _RNCWebViewNativeComponent=_interopRequireWildcard(require("./RNCWebViewNativeComponent"));var _NativeRNCWebView=_interopRequireDefault(require("./NativeRNCWebView"));var _WebViewShared=require("./WebViewShared");var _WebView=_interopRequireDefault(require("./WebView.styles"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["overScrollMode","javaScriptEnabled","thirdPartyCookiesEnabled","scalesPageToFit","allowsFullscreenVideo","allowFileAccess","saveFormDataDisabled","cacheEnabled","androidLayerType","originWhitelist","setSupportMultipleWindows","setBuiltInZoomControls","setDisplayZoomControls","nestedScrollEnabled","androidMicrophoneAccessDisabled","androidCameraAccessDisabled","startInLoadingState","onNavigationStateChange","onLoadStart","onError","onLoad","onLoadEnd","onLoadProgress","onHttpError","onRenderProcessGone","onMessage","onOpenWindow","renderLoading","renderError","style","containerStyle","source","nativeConfig","onShouldStartLoadWithRequest","injectedJavaScriptObject"],_excluded2=["messagingModuleName"],_excluded3=["messagingModuleName"];var _require$registerCall,_this=this,_jsxFileName="/home/circleci/code/src/WebView.android.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var resolveAssetSource=_reactNative.Image.resolveAssetSource;var directEventEmitter=new _EventEmitter.default();var registerCallableModule=(_require$registerCall=require('react-native').registerCallableModule)!=null?_require$registerCall:_BatchedBridge.default.registerCallableModule.bind(_BatchedBridge.default);registerCallableModule('RNCWebViewMessagingModule',{onShouldStartLoadWithRequest:function onShouldStartLoadWithRequest(event){directEventEmitter.emit('onShouldStartLoadWithRequest',event);},onMessage:function onMessage(event){directEventEmitter.emit('onMessage',event);}});var uniqueRef=0;var WebViewComponent=(0,_react.forwardRef)(function(_ref,ref){var _ref$overScrollMode=_ref.overScrollMode,overScrollMode=_ref$overScrollMode===void 0?'always':_ref$overScrollMode,_ref$javaScriptEnable=_ref.javaScriptEnabled,javaScriptEnabled=_ref$javaScriptEnable===void 0?true:_ref$javaScriptEnable,_ref$thirdPartyCookie=_ref.thirdPartyCookiesEnabled,thirdPartyCookiesEnabled=_ref$thirdPartyCookie===void 0?true:_ref$thirdPartyCookie,_ref$scalesPageToFit=_ref.scalesPageToFit,scalesPageToFit=_ref$scalesPageToFit===void 0?true:_ref$scalesPageToFit,_ref$allowsFullscreen=_ref.allowsFullscreenVideo,allowsFullscreenVideo=_ref$allowsFullscreen===void 0?false:_ref$allowsFullscreen,_ref$allowFileAccess=_ref.allowFileAccess,allowFileAccess=_ref$allowFileAccess===void 0?false:_ref$allowFileAccess,_ref$saveFormDataDisa=_ref.saveFormDataDisabled,saveFormDataDisabled=_ref$saveFormDataDisa===void 0?false:_ref$saveFormDataDisa,_ref$cacheEnabled=_ref.cacheEnabled,cacheEnabled=_ref$cacheEnabled===void 0?true:_ref$cacheEnabled,_ref$androidLayerType=_ref.androidLayerType,androidLayerType=_ref$androidLayerType===void 0?'none':_ref$androidLayerType,_ref$originWhitelist=_ref.originWhitelist,originWhitelist=_ref$originWhitelist===void 0?_WebViewShared.defaultOriginWhitelist:_ref$originWhitelist,_ref$setSupportMultip=_ref.setSupportMultipleWindows,setSupportMultipleWindows=_ref$setSupportMultip===void 0?true:_ref$setSupportMultip,_ref$setBuiltInZoomCo=_ref.setBuiltInZoomControls,setBuiltInZoomControls=_ref$setBuiltInZoomCo===void 0?true:_ref$setBuiltInZoomCo,_ref$setDisplayZoomCo=_ref.setDisplayZoomControls,setDisplayZoomControls=_ref$setDisplayZoomCo===void 0?false:_ref$setDisplayZoomCo,_ref$nestedScrollEnab=_ref.nestedScrollEnabled,nestedScrollEnabled=_ref$nestedScrollEnab===void 0?false:_ref$nestedScrollEnab,_ref$androidMicrophon=_ref.androidMicrophoneAccessDisabled,androidMicrophoneAccessDisabled=_ref$androidMicrophon===void 0?false:_ref$androidMicrophon,_ref$androidCameraAcc=_ref.androidCameraAccessDisabled,androidCameraAccessDisabled=_ref$androidCameraAcc===void 0?false:_ref$androidCameraAcc,startInLoadingState=_ref.startInLoadingState,onNavigationStateChange=_ref.onNavigationStateChange,onLoadStart=_ref.onLoadStart,onError=_ref.onError,onLoad=_ref.onLoad,onLoadEnd=_ref.onLoadEnd,onLoadProgress=_ref.onLoadProgress,onHttpErrorProp=_ref.onHttpError,onRenderProcessGoneProp=_ref.onRenderProcessGone,onMessageProp=_ref.onMessage,onOpenWindowProp=_ref.onOpenWindow,renderLoading=_ref.renderLoading,renderError=_ref.renderError,style=_ref.style,containerStyle=_ref.containerStyle,source=_ref.source,nativeConfig=_ref.nativeConfig,onShouldStartLoadWithRequestProp=_ref.onShouldStartLoadWithRequest,injectedJavaScriptObject=_ref.injectedJavaScriptObject,otherProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var messagingModuleName=(0,_react.useRef)(`WebViewMessageHandler${uniqueRef+=1}`).current;var webViewRef=(0,_react.useRef)(null);var onShouldStartLoadWithRequestCallback=(0,_react.useCallback)(function(shouldStart,url,lockIdentifier){if(lockIdentifier){_NativeRNCWebView.default.shouldStartLoadWithLockIdentifier(shouldStart,lockIdentifier);}else if(shouldStart&&webViewRef.current){_RNCWebViewNativeComponent.Commands.loadUrl(webViewRef.current,url);}},[]);var _useWebViewLogic=(0,_WebViewShared.useWebViewLogic)({onNavigationStateChange:onNavigationStateChange,onLoad:onLoad,onError:onError,onHttpErrorProp:onHttpErrorProp,onLoadEnd:onLoadEnd,onLoadProgress:onLoadProgress,onLoadStart:onLoadStart,onRenderProcessGoneProp:onRenderProcessGoneProp,onMessageProp:onMessageProp,onOpenWindowProp:onOpenWindowProp,startInLoadingState:startInLoadingState,originWhitelist:originWhitelist,onShouldStartLoadWithRequestProp:onShouldStartLoadWithRequestProp,onShouldStartLoadWithRequestCallback:onShouldStartLoadWithRequestCallback}),onLoadingStart=_useWebViewLogic.onLoadingStart,onShouldStartLoadWithRequest=_useWebViewLogic.onShouldStartLoadWithRequest,onMessage=_useWebViewLogic.onMessage,viewState=_useWebViewLogic.viewState,setViewState=_useWebViewLogic.setViewState,lastErrorEvent=_useWebViewLogic.lastErrorEvent,onHttpError=_useWebViewLogic.onHttpError,onLoadingError=_useWebViewLogic.onLoadingError,onLoadingFinish=_useWebViewLogic.onLoadingFinish,onLoadingProgress=_useWebViewLogic.onLoadingProgress,onOpenWindow=_useWebViewLogic.onOpenWindow,onRenderProcessGone=_useWebViewLogic.onRenderProcessGone;(0,_react.useImperativeHandle)(ref,function(){return{goForward:function goForward(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.goForward(webViewRef.current);},goBack:function goBack(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.goBack(webViewRef.current);},reload:function reload(){setViewState('LOADING');if(webViewRef.current){_RNCWebViewNativeComponent.Commands.reload(webViewRef.current);}},stopLoading:function stopLoading(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.stopLoading(webViewRef.current);},postMessage:function postMessage(data){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.postMessage(webViewRef.current,data);},injectJavaScript:function injectJavaScript(data){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.injectJavaScript(webViewRef.current,data);},requestFocus:function requestFocus(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.requestFocus(webViewRef.current);},clearFormData:function clearFormData(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearFormData(webViewRef.current);},clearCache:function clearCache(includeDiskFiles){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearCache(webViewRef.current,includeDiskFiles);},clearHistory:function clearHistory(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearHistory(webViewRef.current);}};},[setViewState,webViewRef]);(0,_react.useEffect)(function(){var onShouldStartLoadWithRequestSubscription=directEventEmitter.addListener('onShouldStartLoadWithRequest',function(event){if(event.messagingModuleName===messagingModuleName){var _=event.messagingModuleName,rest=(0,_objectWithoutProperties2.default)(event,_excluded2);onShouldStartLoadWithRequest(rest);}});var onMessageSubscription=directEventEmitter.addListener('onMessage',function(event){if(event.messagingModuleName===messagingModuleName){var _=event.messagingModuleName,rest=(0,_objectWithoutProperties2.default)(event,_excluded3);onMessage(rest);}});return function(){onShouldStartLoadWithRequestSubscription.remove();onMessageSubscription.remove();};},[messagingModuleName,onMessage,onShouldStartLoadWithRequest]);var otherView;if(viewState==='LOADING'){otherView=(renderLoading||_WebViewShared.defaultRenderLoading)();}else if(viewState==='ERROR'){(0,_invariant.default)(lastErrorEvent!=null,'lastErrorEvent expected to be non-null');if(lastErrorEvent){otherView=(renderError||_WebViewShared.defaultRenderError)(lastErrorEvent.domain,lastErrorEvent.code,lastErrorEvent.description);}}else if(viewState!=='IDLE'){console.error(`RNCWebView invalid state encountered: ${viewState}`);}var webViewStyles=[_WebView.default.container,_WebView.default.webView,style];var webViewContainerStyle=[_WebView.default.container,containerStyle];if(typeof source!=='number'&&source&&'method'in source){if(source.method==='POST'&&source.headers){console.warn('WebView: `source.headers` is not supported when using POST.');}else if(source.method==='GET'&&source.body){console.warn('WebView: `source.body` is not supported when using GET.');}}var NativeWebView=(nativeConfig==null?void 0:nativeConfig.component)||_RNCWebViewNativeComponent.default;var sourceResolved=resolveAssetSource(source);var newSource=typeof sourceResolved==='object'?Object.entries(sourceResolved).reduce(function(prev,_ref2){var _ref3=(0,_slicedToArray2.default)(_ref2,2),currKey=_ref3[0],currValue=_ref3[1];return Object.assign({},prev,(0,_defineProperty2.default)({},currKey,currKey==='headers'&&currValue&&typeof currValue==='object'?Object.entries(currValue).map(function(_ref4){var _ref5=(0,_slicedToArray2.default)(_ref4,2),key=_ref5[0],value=_ref5[1];return{name:key,value:value};}):currValue));},{}):sourceResolved;var webView=(0,_jsxRuntime.jsx)(NativeWebView,Object.assign({},otherProps,{messagingEnabled:typeof onMessageProp==='function',messagingModuleName:messagingModuleName,hasOnScroll:!!otherProps.onScroll,onLoadingError:onLoadingError,onLoadingFinish:onLoadingFinish,onLoadingProgress:onLoadingProgress,onLoadingStart:onLoadingStart,onHttpError:onHttpError,onRenderProcessGone:onRenderProcessGone,onMessage:onMessage,onOpenWindow:onOpenWindow,hasOnOpenWindowEvent:onOpenWindowProp!==undefined,onShouldStartLoadWithRequest:onShouldStartLoadWithRequest,ref:webViewRef,source:sourceResolved,newSource:newSource,style:webViewStyles,overScrollMode:overScrollMode,javaScriptEnabled:javaScriptEnabled,thirdPartyCookiesEnabled:thirdPartyCookiesEnabled,scalesPageToFit:scalesPageToFit,allowsFullscreenVideo:allowsFullscreenVideo,allowFileAccess:allowFileAccess,saveFormDataDisabled:saveFormDataDisabled,cacheEnabled:cacheEnabled,androidLayerType:androidLayerType,setSupportMultipleWindows:setSupportMultipleWindows,setBuiltInZoomControls:setBuiltInZoomControls,setDisplayZoomControls:setDisplayZoomControls,nestedScrollEnabled:nestedScrollEnabled,androidMicrophoneAccessDisabled:androidMicrophoneAccessDisabled,androidCameraAccessDisabled:androidCameraAccessDisabled,injectedJavaScriptObject:JSON.stringify(injectedJavaScriptObject)},nativeConfig==null?void 0:nativeConfig.props),"webViewKey");return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:webViewContainerStyle,children:[webView,otherView]});});var isFileUploadSupported=_NativeRNCWebView.default.isFileUploadSupported;var WebView=Object.assign(WebViewComponent,{isFileUploadSupported:isFileUploadSupported});var _default=exports.default=WebView; -\ No newline at end of file -diff --git a/node_modules/react-native-webview/lib/WebViewTypes.d.ts b/node_modules/react-native-webview/lib/WebViewTypes.d.ts -index 7cbd835..5b0bdc9 100644 ---- a/node_modules/react-native-webview/lib/WebViewTypes.d.ts -+++ b/node_modules/react-native-webview/lib/WebViewTypes.d.ts -@@ -808,6 +808,18 @@ export interface AndroidWebViewProps extends WebViewSharedProps { - * @platform android - */ - setSupportMultipleWindows?: boolean; -+ /** -+ * Boolean value to always forbid access to the microphone in the `WebView`, even if the app -+ * was granted the necessary Android permission. The default value is `false` for backward-compatibility. -+ * @platform android -+ */ -+ androidMicrophoneAccessDisabled?: boolean; -+ /** -+ * Boolean value to always forbid access to the camera in the `WebView`, even if the app -+ * was granted the necessary Android permission. The default value is `false` for backward-compatibility. -+ * @platform android -+ */ -+ androidCameraAccessDisabled?: boolean; - /** - * https://developer.android.com/reference/android/webkit/WebView#setLayerType(int,%20android.graphics.Paint) - * Sets the layerType. Possible values are: diff --git a/patches/react-native-webview+13.12.3.patch b/patches/react-native-webview+13.12.3.patch new file mode 100644 index 00000000000..64d2d104959 --- /dev/null +++ b/patches/react-native-webview+13.12.3.patch @@ -0,0 +1,155 @@ +diff --git a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebChromeClient.java b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebChromeClient.java +index 07f73fd..882b722 100644 +--- a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebChromeClient.java ++++ b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebChromeClient.java +@@ -171,6 +171,10 @@ public class RNCWebChromeClient extends WebChromeClient implements LifecycleEven + // TODO: RESOURCE_MIDI_SYSEX, RESOURCE_PROTECTED_MEDIA_ID. + if (androidPermission != null) { + if (ContextCompat.checkSelfPermission(this.mWebView.getThemedReactContext(), androidPermission) == PackageManager.PERMISSION_GRANTED) { ++ if ((androidPermission.equals(Manifest.permission.RECORD_AUDIO) && this.mWebView.getCustomSettings().getMicrophoneAccessDisabled()) || ++ (androidPermission.equals(Manifest.permission.CAMERA) && this.mWebView.getCustomSettings().getCameraAccessDisabled())) { ++ continue; ++ } + grantedPermissions.add(requestedResource); + } else { + requestedAndroidPermissions.add(androidPermission); +diff --git a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebView.java b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebView.java +index 6664b6f..45fe5d2 100644 +--- a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebView.java ++++ b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebView.java +@@ -70,6 +70,17 @@ public class RNCWebView extends WebView implements LifecycleEventListener { + protected boolean nestedScrollEnabled = false; + protected ProgressChangedFilter progressChangedFilter; + ++ /** ++ * It is impossibile to override WebView getSettings(), so RNCWebView has getCustomSettings() ++ */ ++ private CustomWebSettings customWebSettings; ++ public CustomWebSettings getCustomSettings() { ++ if (customWebSettings == null) { ++ customWebSettings = new CustomWebSettings(); ++ } ++ return customWebSettings; ++ } ++ + /** + * WebView must be created with an context of the current activity + *

+@@ -438,4 +449,25 @@ public class RNCWebView extends WebView implements LifecycleEventListener { + return waitingForCommandLoadUrl; + } + } ++ ++ public class CustomWebSettings { ++ private boolean microphoneAccess = true; ++ private boolean cameraAccess = true; ++ ++ public boolean getMicrophoneAccessDisabled() { ++ return !microphoneAccess; ++ } ++ ++ public boolean getCameraAccessDisabled() { ++ return !cameraAccess; ++ } ++ ++ public void setMicrophoneAccessDisabled(boolean b) { ++ microphoneAccess = !b; ++ } ++ ++ public void setCameraAccessDisabled(boolean b) { ++ cameraAccess = !b; ++ } ++ } + } +\ No newline at end of file +diff --git a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManagerImpl.kt b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManagerImpl.kt +index 4600a8d..d1ee7ec 100644 +--- a/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManagerImpl.kt ++++ b/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManagerImpl.kt +@@ -554,6 +554,10 @@ class RNCWebViewManagerImpl { + setupWebChromeClient(view) + } + ++ fun getCustomSettings(viewWrapper: RNCWebViewWrapper): RNCWebView.CustomWebSettings? { ++ return viewWrapper.webView.customSettings ++ } ++ + fun setAndroidLayerType(viewWrapper: RNCWebViewWrapper, layerTypeString: String?) { + val view = viewWrapper.webView + val layerType = when (layerTypeString) { +diff --git a/node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java b/node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java +index ecd0622..23ad267 100644 +--- a/node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java ++++ b/node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java +@@ -93,6 +93,18 @@ public class RNCWebViewManager extends ViewGroupManager + mRNCWebViewManagerImpl.setAllowsProtectedMedia(view, value); + } + ++ @Override ++ @ReactProp(name = "androidMicrophoneAccessDisabled") ++ public void setMicrophoneAccessDisabled(RNCWebViewWrapper view, boolean disabled) { ++ mRNCWebViewManagerImpl.getCustomSettings(view).setMicrophoneAccessDisabled(disabled); ++ } ++ ++ @Override ++ @ReactProp(name = "androidCameraAccessDisabled") ++ public void setCameraAccessDisabled(RNCWebViewWrapper view, boolean disabled) { ++ mRNCWebViewManagerImpl.getCustomSettings(view).setCameraAccessDisabled(disabled); ++ } ++ + @Override + @ReactProp(name = "androidLayerType") + public void setAndroidLayerType(RNCWebViewWrapper view, @Nullable String value) { +diff --git a/node_modules/react-native-webview/android/src/oldarch/com/reactnativecommunity/webview/RNCWebViewManager.java b/node_modules/react-native-webview/android/src/oldarch/com/reactnativecommunity/webview/RNCWebViewManager.java +index 709117a..d039e5c 100644 +--- a/node_modules/react-native-webview/android/src/oldarch/com/reactnativecommunity/webview/RNCWebViewManager.java ++++ b/node_modules/react-native-webview/android/src/oldarch/com/reactnativecommunity/webview/RNCWebViewManager.java +@@ -71,6 +71,16 @@ public class RNCWebViewManager extends ViewGroupManager { + mRNCWebViewManagerImpl.setAllowsProtectedMedia(view, value); + } + ++ @ReactProp(name = "androidMicrophoneAccessDisabled") ++ public void setMicrophoneAccessDisabled(RNCWebViewWrapper view, boolean disabled) { ++ mRNCWebViewManagerImpl.getCustomSettings(view).setMicrophoneAccessDisabled(disabled); ++ } ++ ++ @ReactProp(name = "androidCameraAccessDisabled") ++ public void setCameraAccessDisabled(RNCWebViewWrapper view, boolean disabled) { ++ mRNCWebViewManagerImpl.getCustomSettings(view).setCameraAccessDisabled(disabled); ++ } ++ + @ReactProp(name = "androidLayerType") + public void setAndroidLayerType(RNCWebViewWrapper view, @Nullable String value) { + mRNCWebViewManagerImpl.setAndroidLayerType(view, value); +diff --git a/node_modules/react-native-webview/lib/WebView.android.js b/node_modules/react-native-webview/lib/WebView.android.js +index 78e69c3..441190a 100644 +--- a/node_modules/react-native-webview/lib/WebView.android.js ++++ b/node_modules/react-native-webview/lib/WebView.android.js +@@ -1 +1 @@ +-var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _BatchedBridge=_interopRequireDefault(require("react-native/Libraries/BatchedBridge/BatchedBridge"));var _EventEmitter=_interopRequireDefault(require("react-native/Libraries/vendor/emitter/EventEmitter"));var _invariant=_interopRequireDefault(require("invariant"));var _RNCWebViewNativeComponent=_interopRequireWildcard(require("./RNCWebViewNativeComponent"));var _NativeRNCWebViewModule=_interopRequireDefault(require("./NativeRNCWebViewModule"));var _WebViewShared=require("./WebViewShared");var _WebView=_interopRequireDefault(require("./WebView.styles"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["overScrollMode","javaScriptEnabled","thirdPartyCookiesEnabled","scalesPageToFit","allowsFullscreenVideo","allowFileAccess","saveFormDataDisabled","cacheEnabled","androidLayerType","originWhitelist","setSupportMultipleWindows","setBuiltInZoomControls","setDisplayZoomControls","nestedScrollEnabled","startInLoadingState","onNavigationStateChange","onLoadStart","onError","onLoad","onLoadEnd","onLoadProgress","onHttpError","onRenderProcessGone","onMessage","onOpenWindow","renderLoading","renderError","style","containerStyle","source","nativeConfig","onShouldStartLoadWithRequest","injectedJavaScriptObject"],_excluded2=["messagingModuleName"],_excluded3=["messagingModuleName"];var _require$registerCall,_this=this,_jsxFileName="/home/circleci/code/src/WebView.android.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var resolveAssetSource=_reactNative.Image.resolveAssetSource;var directEventEmitter=new _EventEmitter.default();var registerCallableModule=(_require$registerCall=require('react-native').registerCallableModule)!=null?_require$registerCall:_BatchedBridge.default.registerCallableModule.bind(_BatchedBridge.default);registerCallableModule('RNCWebViewMessagingModule',{onShouldStartLoadWithRequest:function onShouldStartLoadWithRequest(event){directEventEmitter.emit('onShouldStartLoadWithRequest',event);},onMessage:function onMessage(event){directEventEmitter.emit('onMessage',event);}});var uniqueRef=0;var WebViewComponent=(0,_react.forwardRef)(function(_ref,ref){var _ref$overScrollMode=_ref.overScrollMode,overScrollMode=_ref$overScrollMode===void 0?'always':_ref$overScrollMode,_ref$javaScriptEnable=_ref.javaScriptEnabled,javaScriptEnabled=_ref$javaScriptEnable===void 0?true:_ref$javaScriptEnable,_ref$thirdPartyCookie=_ref.thirdPartyCookiesEnabled,thirdPartyCookiesEnabled=_ref$thirdPartyCookie===void 0?true:_ref$thirdPartyCookie,_ref$scalesPageToFit=_ref.scalesPageToFit,scalesPageToFit=_ref$scalesPageToFit===void 0?true:_ref$scalesPageToFit,_ref$allowsFullscreen=_ref.allowsFullscreenVideo,allowsFullscreenVideo=_ref$allowsFullscreen===void 0?false:_ref$allowsFullscreen,_ref$allowFileAccess=_ref.allowFileAccess,allowFileAccess=_ref$allowFileAccess===void 0?false:_ref$allowFileAccess,_ref$saveFormDataDisa=_ref.saveFormDataDisabled,saveFormDataDisabled=_ref$saveFormDataDisa===void 0?false:_ref$saveFormDataDisa,_ref$cacheEnabled=_ref.cacheEnabled,cacheEnabled=_ref$cacheEnabled===void 0?true:_ref$cacheEnabled,_ref$androidLayerType=_ref.androidLayerType,androidLayerType=_ref$androidLayerType===void 0?'none':_ref$androidLayerType,_ref$originWhitelist=_ref.originWhitelist,originWhitelist=_ref$originWhitelist===void 0?_WebViewShared.defaultOriginWhitelist:_ref$originWhitelist,_ref$setSupportMultip=_ref.setSupportMultipleWindows,setSupportMultipleWindows=_ref$setSupportMultip===void 0?true:_ref$setSupportMultip,_ref$setBuiltInZoomCo=_ref.setBuiltInZoomControls,setBuiltInZoomControls=_ref$setBuiltInZoomCo===void 0?true:_ref$setBuiltInZoomCo,_ref$setDisplayZoomCo=_ref.setDisplayZoomControls,setDisplayZoomControls=_ref$setDisplayZoomCo===void 0?false:_ref$setDisplayZoomCo,_ref$nestedScrollEnab=_ref.nestedScrollEnabled,nestedScrollEnabled=_ref$nestedScrollEnab===void 0?false:_ref$nestedScrollEnab,startInLoadingState=_ref.startInLoadingState,onNavigationStateChange=_ref.onNavigationStateChange,onLoadStart=_ref.onLoadStart,onError=_ref.onError,onLoad=_ref.onLoad,onLoadEnd=_ref.onLoadEnd,onLoadProgress=_ref.onLoadProgress,onHttpErrorProp=_ref.onHttpError,onRenderProcessGoneProp=_ref.onRenderProcessGone,onMessageProp=_ref.onMessage,onOpenWindowProp=_ref.onOpenWindow,renderLoading=_ref.renderLoading,renderError=_ref.renderError,style=_ref.style,containerStyle=_ref.containerStyle,source=_ref.source,nativeConfig=_ref.nativeConfig,onShouldStartLoadWithRequestProp=_ref.onShouldStartLoadWithRequest,injectedJavaScriptObject=_ref.injectedJavaScriptObject,otherProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var messagingModuleName=(0,_react.useRef)(`WebViewMessageHandler${uniqueRef+=1}`).current;var webViewRef=(0,_react.useRef)(null);var onShouldStartLoadWithRequestCallback=(0,_react.useCallback)(function(shouldStart,url,lockIdentifier){if(lockIdentifier){_NativeRNCWebViewModule.default.shouldStartLoadWithLockIdentifier(shouldStart,lockIdentifier);}else if(shouldStart&&webViewRef.current){_RNCWebViewNativeComponent.Commands.loadUrl(webViewRef.current,url);}},[]);var _useWebViewLogic=(0,_WebViewShared.useWebViewLogic)({onNavigationStateChange:onNavigationStateChange,onLoad:onLoad,onError:onError,onHttpErrorProp:onHttpErrorProp,onLoadEnd:onLoadEnd,onLoadProgress:onLoadProgress,onLoadStart:onLoadStart,onRenderProcessGoneProp:onRenderProcessGoneProp,onMessageProp:onMessageProp,onOpenWindowProp:onOpenWindowProp,startInLoadingState:startInLoadingState,originWhitelist:originWhitelist,onShouldStartLoadWithRequestProp:onShouldStartLoadWithRequestProp,onShouldStartLoadWithRequestCallback:onShouldStartLoadWithRequestCallback}),onLoadingStart=_useWebViewLogic.onLoadingStart,onShouldStartLoadWithRequest=_useWebViewLogic.onShouldStartLoadWithRequest,onMessage=_useWebViewLogic.onMessage,viewState=_useWebViewLogic.viewState,setViewState=_useWebViewLogic.setViewState,lastErrorEvent=_useWebViewLogic.lastErrorEvent,onHttpError=_useWebViewLogic.onHttpError,onLoadingError=_useWebViewLogic.onLoadingError,onLoadingFinish=_useWebViewLogic.onLoadingFinish,onLoadingProgress=_useWebViewLogic.onLoadingProgress,onOpenWindow=_useWebViewLogic.onOpenWindow,onRenderProcessGone=_useWebViewLogic.onRenderProcessGone;(0,_react.useImperativeHandle)(ref,function(){return{goForward:function goForward(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.goForward(webViewRef.current);},goBack:function goBack(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.goBack(webViewRef.current);},reload:function reload(){setViewState('LOADING');if(webViewRef.current){_RNCWebViewNativeComponent.Commands.reload(webViewRef.current);}},stopLoading:function stopLoading(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.stopLoading(webViewRef.current);},postMessage:function postMessage(data){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.postMessage(webViewRef.current,data);},injectJavaScript:function injectJavaScript(data){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.injectJavaScript(webViewRef.current,data);},requestFocus:function requestFocus(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.requestFocus(webViewRef.current);},clearFormData:function clearFormData(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearFormData(webViewRef.current);},clearCache:function clearCache(includeDiskFiles){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearCache(webViewRef.current,includeDiskFiles);},clearHistory:function clearHistory(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearHistory(webViewRef.current);}};},[setViewState,webViewRef]);(0,_react.useEffect)(function(){var onShouldStartLoadWithRequestSubscription=directEventEmitter.addListener('onShouldStartLoadWithRequest',function(event){if(event.messagingModuleName===messagingModuleName){var _=event.messagingModuleName,rest=(0,_objectWithoutProperties2.default)(event,_excluded2);onShouldStartLoadWithRequest(rest);}});var onMessageSubscription=directEventEmitter.addListener('onMessage',function(event){if(event.messagingModuleName===messagingModuleName){var _=event.messagingModuleName,rest=(0,_objectWithoutProperties2.default)(event,_excluded3);onMessage(rest);}});return function(){onShouldStartLoadWithRequestSubscription.remove();onMessageSubscription.remove();};},[messagingModuleName,onMessage,onShouldStartLoadWithRequest]);var otherView;if(viewState==='LOADING'){otherView=(renderLoading||_WebViewShared.defaultRenderLoading)();}else if(viewState==='ERROR'){(0,_invariant.default)(lastErrorEvent!=null,'lastErrorEvent expected to be non-null');if(lastErrorEvent){otherView=(renderError||_WebViewShared.defaultRenderError)(lastErrorEvent.domain,lastErrorEvent.code,lastErrorEvent.description);}}else if(viewState!=='IDLE'){console.error(`RNCWebView invalid state encountered: ${viewState}`);}var webViewStyles=[_WebView.default.container,_WebView.default.webView,style];var webViewContainerStyle=[_WebView.default.container,containerStyle];if(typeof source!=='number'&&source&&'method'in source){if(source.method==='POST'&&source.headers){console.warn('WebView: `source.headers` is not supported when using POST.');}else if(source.method==='GET'&&source.body){console.warn('WebView: `source.body` is not supported when using GET.');}}var NativeWebView=(nativeConfig==null?void 0:nativeConfig.component)||_RNCWebViewNativeComponent.default;var sourceResolved=resolveAssetSource(source);var newSource=typeof sourceResolved==='object'?Object.entries(sourceResolved).reduce(function(prev,_ref2){var _ref3=(0,_slicedToArray2.default)(_ref2,2),currKey=_ref3[0],currValue=_ref3[1];return Object.assign({},prev,(0,_defineProperty2.default)({},currKey,currKey==='headers'&&currValue&&typeof currValue==='object'?Object.entries(currValue).map(function(_ref4){var _ref5=(0,_slicedToArray2.default)(_ref4,2),key=_ref5[0],value=_ref5[1];return{name:key,value:value};}):currValue));},{}):sourceResolved;var webView=(0,_jsxRuntime.jsx)(NativeWebView,Object.assign({},otherProps,{messagingEnabled:typeof onMessageProp==='function',messagingModuleName:messagingModuleName,hasOnScroll:!!otherProps.onScroll,onLoadingError:onLoadingError,onLoadingFinish:onLoadingFinish,onLoadingProgress:onLoadingProgress,onLoadingStart:onLoadingStart,onHttpError:onHttpError,onRenderProcessGone:onRenderProcessGone,onMessage:onMessage,onOpenWindow:onOpenWindow,hasOnOpenWindowEvent:onOpenWindowProp!==undefined,onShouldStartLoadWithRequest:onShouldStartLoadWithRequest,ref:webViewRef,source:sourceResolved,newSource:newSource,style:webViewStyles,overScrollMode:overScrollMode,javaScriptEnabled:javaScriptEnabled,thirdPartyCookiesEnabled:thirdPartyCookiesEnabled,scalesPageToFit:scalesPageToFit,allowsFullscreenVideo:allowsFullscreenVideo,allowFileAccess:allowFileAccess,saveFormDataDisabled:saveFormDataDisabled,cacheEnabled:cacheEnabled,androidLayerType:androidLayerType,setSupportMultipleWindows:setSupportMultipleWindows,setBuiltInZoomControls:setBuiltInZoomControls,setDisplayZoomControls:setDisplayZoomControls,nestedScrollEnabled:nestedScrollEnabled,injectedJavaScriptObject:JSON.stringify(injectedJavaScriptObject)},nativeConfig==null?void 0:nativeConfig.props),"webViewKey");return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:webViewContainerStyle,children:[webView,otherView]});});var isFileUploadSupported=_NativeRNCWebViewModule.default.isFileUploadSupported;var WebView=Object.assign(WebViewComponent,{isFileUploadSupported:isFileUploadSupported});var _default=exports.default=WebView; +\ No newline at end of file ++var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _BatchedBridge=_interopRequireDefault(require("react-native/Libraries/BatchedBridge/BatchedBridge"));var _EventEmitter=_interopRequireDefault(require("react-native/Libraries/vendor/emitter/EventEmitter"));var _invariant=_interopRequireDefault(require("invariant"));var _RNCWebViewNativeComponent=_interopRequireWildcard(require("./RNCWebViewNativeComponent"));var _NativeRNCWebViewModule=_interopRequireDefault(require("./NativeRNCWebViewModule"));var _WebViewShared=require("./WebViewShared");var _WebView=_interopRequireDefault(require("./WebView.styles"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["overScrollMode","javaScriptEnabled","thirdPartyCookiesEnabled","scalesPageToFit","allowsFullscreenVideo","allowFileAccess","saveFormDataDisabled","cacheEnabled","androidLayerType","originWhitelist","setSupportMultipleWindows","setBuiltInZoomControls","setDisplayZoomControls","nestedScrollEnabled","androidMicrophoneAccessDisabled","androidCameraAccessDisabled","startInLoadingState","onNavigationStateChange","onLoadStart","onError","onLoad","onLoadEnd","onLoadProgress","onHttpError","onRenderProcessGone","onMessage","onOpenWindow","renderLoading","renderError","style","containerStyle","source","nativeConfig","onShouldStartLoadWithRequest","injectedJavaScriptObject"],_excluded2=["messagingModuleName"],_excluded3=["messagingModuleName"];var _require$registerCall,_this=this,_jsxFileName="/home/circleci/code/src/WebView.android.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var resolveAssetSource=_reactNative.Image.resolveAssetSource;var directEventEmitter=new _EventEmitter.default();var registerCallableModule=(_require$registerCall=require('react-native').registerCallableModule)!=null?_require$registerCall:_BatchedBridge.default.registerCallableModule.bind(_BatchedBridge.default);registerCallableModule('RNCWebViewMessagingModule',{onShouldStartLoadWithRequest:function onShouldStartLoadWithRequest(event){directEventEmitter.emit('onShouldStartLoadWithRequest',event);},onMessage:function onMessage(event){directEventEmitter.emit('onMessage',event);}});var uniqueRef=0;var WebViewComponent=(0,_react.forwardRef)(function(_ref,ref){var _ref$overScrollMode=_ref.overScrollMode,overScrollMode=_ref$overScrollMode===void 0?'always':_ref$overScrollMode,_ref$javaScriptEnable=_ref.javaScriptEnabled,javaScriptEnabled=_ref$javaScriptEnable===void 0?true:_ref$javaScriptEnable,_ref$thirdPartyCookie=_ref.thirdPartyCookiesEnabled,thirdPartyCookiesEnabled=_ref$thirdPartyCookie===void 0?true:_ref$thirdPartyCookie,_ref$scalesPageToFit=_ref.scalesPageToFit,scalesPageToFit=_ref$scalesPageToFit===void 0?true:_ref$scalesPageToFit,_ref$allowsFullscreen=_ref.allowsFullscreenVideo,allowsFullscreenVideo=_ref$allowsFullscreen===void 0?false:_ref$allowsFullscreen,_ref$allowFileAccess=_ref.allowFileAccess,allowFileAccess=_ref$allowFileAccess===void 0?false:_ref$allowFileAccess,_ref$saveFormDataDisa=_ref.saveFormDataDisabled,saveFormDataDisabled=_ref$saveFormDataDisa===void 0?false:_ref$saveFormDataDisa,_ref$cacheEnabled=_ref.cacheEnabled,cacheEnabled=_ref$cacheEnabled===void 0?true:_ref$cacheEnabled,_ref$androidLayerType=_ref.androidLayerType,androidLayerType=_ref$androidLayerType===void 0?'none':_ref$androidLayerType,_ref$originWhitelist=_ref.originWhitelist,originWhitelist=_ref$originWhitelist===void 0?_WebViewShared.defaultOriginWhitelist:_ref$originWhitelist,_ref$setSupportMultip=_ref.setSupportMultipleWindows,setSupportMultipleWindows=_ref$setSupportMultip===void 0?true:_ref$setSupportMultip,_ref$setBuiltInZoomCo=_ref.setBuiltInZoomControls,setBuiltInZoomControls=_ref$setBuiltInZoomCo===void 0?true:_ref$setBuiltInZoomCo,_ref$setDisplayZoomCo=_ref.setDisplayZoomControls,setDisplayZoomControls=_ref$setDisplayZoomCo===void 0?false:_ref$setDisplayZoomCo,_ref$nestedScrollEnab=_ref.nestedScrollEnabled,nestedScrollEnabled=_ref$nestedScrollEnab===void 0?false:_ref$nestedScrollEnab,_ref$androidMicrophon=_ref.androidMicrophoneAccessDisabled,androidMicrophoneAccessDisabled=_ref$androidMicrophon===void 0?false:_ref$androidMicrophon,_ref$androidCameraAcc=_ref.androidCameraAccessDisabled,androidCameraAccessDisabled=_ref$androidCameraAcc===void 0?false:_ref$androidCameraAcc,startInLoadingState=_ref.startInLoadingState,onNavigationStateChange=_ref.onNavigationStateChange,onLoadStart=_ref.onLoadStart,onError=_ref.onError,onLoad=_ref.onLoad,onLoadEnd=_ref.onLoadEnd,onLoadProgress=_ref.onLoadProgress,onHttpErrorProp=_ref.onHttpError,onRenderProcessGoneProp=_ref.onRenderProcessGone,onMessageProp=_ref.onMessage,onOpenWindowProp=_ref.onOpenWindow,renderLoading=_ref.renderLoading,renderError=_ref.renderError,style=_ref.style,containerStyle=_ref.containerStyle,source=_ref.source,nativeConfig=_ref.nativeConfig,onShouldStartLoadWithRequestProp=_ref.onShouldStartLoadWithRequest,injectedJavaScriptObject=_ref.injectedJavaScriptObject,otherProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var messagingModuleName=(0,_react.useRef)(`WebViewMessageHandler${uniqueRef+=1}`).current;var webViewRef=(0,_react.useRef)(null);var onShouldStartLoadWithRequestCallback=(0,_react.useCallback)(function(shouldStart,url,lockIdentifier){if(lockIdentifier){_NativeRNCWebViewModule.default.shouldStartLoadWithLockIdentifier(shouldStart,lockIdentifier);}else if(shouldStart&&webViewRef.current){_RNCWebViewNativeComponent.Commands.loadUrl(webViewRef.current,url);}},[]);var _useWebViewLogic=(0,_WebViewShared.useWebViewLogic)({onNavigationStateChange:onNavigationStateChange,onLoad:onLoad,onError:onError,onHttpErrorProp:onHttpErrorProp,onLoadEnd:onLoadEnd,onLoadProgress:onLoadProgress,onLoadStart:onLoadStart,onRenderProcessGoneProp:onRenderProcessGoneProp,onMessageProp:onMessageProp,onOpenWindowProp:onOpenWindowProp,startInLoadingState:startInLoadingState,originWhitelist:originWhitelist,onShouldStartLoadWithRequestProp:onShouldStartLoadWithRequestProp,onShouldStartLoadWithRequestCallback:onShouldStartLoadWithRequestCallback}),onLoadingStart=_useWebViewLogic.onLoadingStart,onShouldStartLoadWithRequest=_useWebViewLogic.onShouldStartLoadWithRequest,onMessage=_useWebViewLogic.onMessage,viewState=_useWebViewLogic.viewState,setViewState=_useWebViewLogic.setViewState,lastErrorEvent=_useWebViewLogic.lastErrorEvent,onHttpError=_useWebViewLogic.onHttpError,onLoadingError=_useWebViewLogic.onLoadingError,onLoadingFinish=_useWebViewLogic.onLoadingFinish,onLoadingProgress=_useWebViewLogic.onLoadingProgress,onOpenWindow=_useWebViewLogic.onOpenWindow,onRenderProcessGone=_useWebViewLogic.onRenderProcessGone;(0,_react.useImperativeHandle)(ref,function(){return{goForward:function goForward(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.goForward(webViewRef.current);},goBack:function goBack(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.goBack(webViewRef.current);},reload:function reload(){setViewState('LOADING');if(webViewRef.current){_RNCWebViewNativeComponent.Commands.reload(webViewRef.current);}},stopLoading:function stopLoading(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.stopLoading(webViewRef.current);},postMessage:function postMessage(data){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.postMessage(webViewRef.current,data);},injectJavaScript:function injectJavaScript(data){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.injectJavaScript(webViewRef.current,data);},requestFocus:function requestFocus(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.requestFocus(webViewRef.current);},clearFormData:function clearFormData(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearFormData(webViewRef.current);},clearCache:function clearCache(includeDiskFiles){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearCache(webViewRef.current,includeDiskFiles);},clearHistory:function clearHistory(){return webViewRef.current&&_RNCWebViewNativeComponent.Commands.clearHistory(webViewRef.current);}};},[setViewState,webViewRef]);(0,_react.useEffect)(function(){var onShouldStartLoadWithRequestSubscription=directEventEmitter.addListener('onShouldStartLoadWithRequest',function(event){if(event.messagingModuleName===messagingModuleName){var _=event.messagingModuleName,rest=(0,_objectWithoutProperties2.default)(event,_excluded2);onShouldStartLoadWithRequest(rest);}});var onMessageSubscription=directEventEmitter.addListener('onMessage',function(event){if(event.messagingModuleName===messagingModuleName){var _=event.messagingModuleName,rest=(0,_objectWithoutProperties2.default)(event,_excluded3);onMessage(rest);}});return function(){onShouldStartLoadWithRequestSubscription.remove();onMessageSubscription.remove();};},[messagingModuleName,onMessage,onShouldStartLoadWithRequest]);var otherView;if(viewState==='LOADING'){otherView=(renderLoading||_WebViewShared.defaultRenderLoading)();}else if(viewState==='ERROR'){(0,_invariant.default)(lastErrorEvent!=null,'lastErrorEvent expected to be non-null');if(lastErrorEvent){otherView=(renderError||_WebViewShared.defaultRenderError)(lastErrorEvent.domain,lastErrorEvent.code,lastErrorEvent.description);}}else if(viewState!=='IDLE'){console.error(`RNCWebView invalid state encountered: ${viewState}`);}var webViewStyles=[_WebView.default.container,_WebView.default.webView,style];var webViewContainerStyle=[_WebView.default.container,containerStyle];if(typeof source!=='number'&&source&&'method'in source){if(source.method==='POST'&&source.headers){console.warn('WebView: `source.headers` is not supported when using POST.');}else if(source.method==='GET'&&source.body){console.warn('WebView: `source.body` is not supported when using GET.');}}var NativeWebView=(nativeConfig==null?void 0:nativeConfig.component)||_RNCWebViewNativeComponent.default;var sourceResolved=resolveAssetSource(source);var newSource=typeof sourceResolved==='object'?Object.entries(sourceResolved).reduce(function(prev,_ref2){var _ref3=(0,_slicedToArray2.default)(_ref2,2),currKey=_ref3[0],currValue=_ref3[1];return Object.assign({},prev,(0,_defineProperty2.default)({},currKey,currKey==='headers'&&currValue&&typeof currValue==='object'?Object.entries(currValue).map(function(_ref4){var _ref5=(0,_slicedToArray2.default)(_ref4,2),key=_ref5[0],value=_ref5[1];return{name:key,value:value};}):currValue));},{}):sourceResolved;var webView=(0,_jsxRuntime.jsx)(NativeWebView,Object.assign({},otherProps,{messagingEnabled:typeof onMessageProp==='function',messagingModuleName:messagingModuleName,hasOnScroll:!!otherProps.onScroll,onLoadingError:onLoadingError,onLoadingFinish:onLoadingFinish,onLoadingProgress:onLoadingProgress,onLoadingStart:onLoadingStart,onHttpError:onHttpError,onRenderProcessGone:onRenderProcessGone,onMessage:onMessage,onOpenWindow:onOpenWindow,hasOnOpenWindowEvent:onOpenWindowProp!==undefined,onShouldStartLoadWithRequest:onShouldStartLoadWithRequest,ref:webViewRef,source:sourceResolved,newSource:newSource,style:webViewStyles,overScrollMode:overScrollMode,javaScriptEnabled:javaScriptEnabled,thirdPartyCookiesEnabled:thirdPartyCookiesEnabled,scalesPageToFit:scalesPageToFit,allowsFullscreenVideo:allowsFullscreenVideo,allowFileAccess:allowFileAccess,saveFormDataDisabled:saveFormDataDisabled,cacheEnabled:cacheEnabled,androidLayerType:androidLayerType,setSupportMultipleWindows:setSupportMultipleWindows,setBuiltInZoomControls:setBuiltInZoomControls,setDisplayZoomControls:setDisplayZoomControls,nestedScrollEnabled:nestedScrollEnabled,androidMicrophoneAccessDisabled:androidMicrophoneAccessDisabled,androidCameraAccessDisabled:androidCameraAccessDisabled,injectedJavaScriptObject:JSON.stringify(injectedJavaScriptObject)},nativeConfig==null?void 0:nativeConfig.props),"webViewKey");return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:webViewContainerStyle,children:[webView,otherView]});});var isFileUploadSupported=_NativeRNCWebViewModule.default.isFileUploadSupported;var WebView=Object.assign(WebViewComponent,{isFileUploadSupported:isFileUploadSupported});var _default=exports.default=WebView; +\ No newline at end of file +diff --git a/node_modules/react-native-webview/lib/WebViewTypes.d.ts b/node_modules/react-native-webview/lib/WebViewTypes.d.ts +index b31398b..11f9868 100644 +--- a/node_modules/react-native-webview/lib/WebViewTypes.d.ts ++++ b/node_modules/react-native-webview/lib/WebViewTypes.d.ts +@@ -831,6 +831,18 @@ export interface AndroidWebViewProps extends WebViewSharedProps { + * @platform android + */ + setSupportMultipleWindows?: boolean; ++ /** ++ * Boolean value to always forbid access to the microphone in the `WebView`, even if the app ++ * was granted the necessary Android permission. The default value is `false` for backward-compatibility. ++ * @platform android ++ */ ++ androidMicrophoneAccessDisabled?: boolean; ++ /** ++ * Boolean value to always forbid access to the camera in the `WebView`, even if the app ++ * was granted the necessary Android permission. The default value is `false` for backward-compatibility. ++ * @platform android ++ */ ++ androidCameraAccessDisabled?: boolean; + /** + * https://developer.android.com/reference/android/webkit/WebView#setLayerType(int,%20android.graphics.Paint) + * Sets the layerType. Possible values are: diff --git a/scripts/generate-api-models.sh b/scripts/generate-api-models.sh new file mode 100755 index 00000000000..58bc4637de1 --- /dev/null +++ b/scripts/generate-api-models.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +IO_BACKEND_VERSION=v14.3.0-RELEASE +IO_SERVICES_METADATA_VERSION=1.0.45 + +declare -a apis=( + # Backend APIs + "./definitions/backend https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_backend.yaml" + # pagoPA APIs + "./definitions/pagopa assets/paymentManager/spec.json" + "./definitions/pagopa/walletv2 https://raw.githubusercontent.com/pagopa/io-services-metadata/$IO_SERVICES_METADATA_VERSION/bonus/specs/bpd/pm/walletv2.json" + "./definitions/pagopa/walletv3 https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.202.0/src/domains/pay-wallet-app/api/io-payment-wallet/v1/_openapi.json.tpl" + "./definitions/pagopa/ecommerce https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.202.0/src/domains/ecommerce-app/api/ecommerce-io/v2/_openapi.json.tpl" + "./definitions/pagopa/biz-events https://raw.githubusercontent.com/pagopa/pagopa-biz-events-service/0.1.57/openapi/openapi_io_patch_lap.json" + "./definitions/pagopa/platform https://raw.githubusercontent.com/pagopa/pagopa-infra/v1.64.0/src/domains/shared-app/api/session-wallet/v1/_openapi.json.tpl" + "./definitions/pagopa/cobadge/configuration https://raw.githubusercontent.com/pagopa/io-services-metadata/$IO_SERVICES_METADATA_VERSION/pagopa/cobadge/abi_definitions.yml" + "./definitions/pagopa/privative/configuration https://raw.githubusercontent.com/pagopa/io-services-metadata/$IO_SERVICES_METADATA_VERSION/pagopa/privative/definitions.yml" + # IDPay APIs + "./definitions/idpay https://raw.githubusercontent.com/pagopa/cstar-infrastructure/v8.25.1/src/domains/idpay-app/api/idpay_appio_full/openapi.appio.full.yml" + # Services APIs + "./definitions/services https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_services_app_backend.yaml" + # Lollipop APIs + "./definitions/lollipop https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_lollipop_first_consumer.yaml" + # FastLogin APIs + "./definitions/fast_login https://raw.githubusercontent.com/pagopa/io-auth-n-identity-domain/io-session-manager@1.0.0/apps/io-session-manager/api/fast-login.yaml" + # Trial system APIs + "./definitions/trial_system https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_trial_system.yaml" + # Fims APIs + "./definitions/fims assets/FimsSwager.yml" + # CDN APIs + "./definitions/content https://raw.githubusercontent.com/pagopa/io-services-metadata/$IO_SERVICES_METADATA_VERSION/definitions.yml" + # Session Manager APIs + "./definitions/session_manager https://raw.githubusercontent.com/pagopa/io-auth-n-identity-domain/io-session-manager@1.0.0/apps/io-session-manager/api/internal.yaml" + # CGN APIs + "./definitions/cgn https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_cgn.yaml" + "./definitions/cgn/merchants https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_cgn_operator_search.yaml" + # Green Pass APIs + "./definitions/eu_covid_cert https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_eucovidcert.yaml" + # PN APIs + "./definitions/pn https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_pn.yaml" + # CDC APIs + "./definitions/cdc assets/CdcSwagger.yml" + # FCI APIs + "./definitions/fci https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_io_sign.yaml" +) + +for elem in "${apis[@]}"; do + read -a strarr <<< "$elem" # uses default whitespace IFS + echo ${strarr[0]} + rm -rf ${strarr[0]} + mkdir -p ${strarr[0]} + yarn run gen-api-models --api-spec ${strarr[1]} --out-dir ${strarr[0]} --no-strict --response-decoders --request-types --client +done + +yarn run gen-api-models --api-spec "https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/api_public.yaml" --out-dir ./definitions/backend +yarn run gen-api-models --api-spec "https://raw.githubusercontent.com/pagopa/io-auth-n-identity-domain/io-session-manager@1.0.0/apps/io-session-manager/api/public.yaml" --out-dir ./definitions/session_manager +yarn run gen-api-models --api-spec "https://raw.githubusercontent.com/pagopa/io-backend/$IO_BACKEND_VERSION/openapi/consumed/api-piattaforma-notifiche.yaml" --out-dir ./definitions/pn + +cp mock-google-services.json ./android/app/google-services.json + +# "generate:fci-api": "rm -rf ./definitions/fci && mkdir -p ./definitions/fci && gen-api-models --api-spec $npm_package_api_fci --out-dir ./definitions/fci --no-strict --request-types --response-decoders --client" + + +yarn ts-node --skip-project -O '{"lib":["es2015"]}' scripts/make-locales.ts \ No newline at end of file diff --git a/ts/boot/configureRectotron.ts b/ts/boot/configureRectotron.ts deleted file mode 100644 index a2ecb05717e..00000000000 --- a/ts/boot/configureRectotron.ts +++ /dev/null @@ -1,34 +0,0 @@ -import AsyncStorage from "@react-native-async-storage/async-storage"; -import { Reactotron } from "reactotron-core-client"; -import ReactotronReactNative from "reactotron-react-native"; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -import ReactotronFlipper from "reactotron-react-native/dist/flipper"; -import { reactotronRedux } from "reactotron-redux"; -import sagaPlugin from "reactotron-redux-saga"; - -// add a regex to avoid tracing specific urls in Reactotron timeline -const ignoredUrls: RegExp | undefined = /symbolicate/; -export const configureReactotron = (): Reactotron => { - const rtt = ReactotronReactNative.configure({ - createSocket: path => new ReactotronFlipper(path), - host: "127.0.0.1" - }) - .useReactNative({ - networking: { - ignoreUrls: ignoredUrls - } - }) - .use(reactotronRedux()) - .use(sagaPlugin({ except: [] })) - .connect(); - if (rtt.setAsyncStorageHandler) { - rtt.setAsyncStorageHandler(AsyncStorage); - } - // Let's clear Reactotron on every app loading - if (rtt.clear) { - rtt.clear(); - } - - return rtt; -}; diff --git a/ts/boot/configureStoreAndPersistor.ts b/ts/boot/configureStoreAndPersistor.ts index 6f36402e35f..8efda3a5a68 100644 --- a/ts/boot/configureStoreAndPersistor.ts +++ b/ts/boot/configureStoreAndPersistor.ts @@ -10,8 +10,6 @@ import { Reducer, Store } from "redux"; -import createDebugger from "redux-flipper"; -import { createLogger } from "redux-logger"; import { createMigrate, MigrationManifest, @@ -29,7 +27,7 @@ import { LollipopState } from "../features/lollipop/store/reducers/lollipop"; import rootSaga from "../sagas"; -import { Action, StoreEnhancer } from "../store/actions/types"; +import { Action } from "../store/actions/types"; import { analytics } from "../store/middlewares"; import { authenticationPersistConfig, @@ -51,8 +49,6 @@ import { walletsPersistConfig } from "../store/reducers/wallet"; import { DateISO8601Transform } from "../store/transforms/dateISO8601Tranform"; import { PotTransform } from "../store/transforms/potTransform"; import { isDevEnv } from "../utils/environment"; -import { configureReactotron } from "./configureRectotron"; - /** * Redux persist will migrate the store to the current version */ @@ -458,8 +454,6 @@ const migrations: MigrationManifest = { } }; -const isDebuggingInChrome = isDevEnv && !!window.navigator.userAgent; - const rootPersistConfig: PersistConfig = { key: "root", storage: AsyncStorage, @@ -496,51 +490,21 @@ const persistedReducer: Reducer = persistReducer< ]) ); -const logger = createLogger({ - predicate: (): boolean => isDebuggingInChrome, - collapsed: true, - duration: true -}); - -// configure Reactotron if the app is running in dev mode -export const RTron = isDevEnv ? configureReactotron() : undefined; -const sagaMiddleware = createSagaMiddleware( - // cast to any due to a type lacking - RTron ? { sagaMonitor: (RTron as any).createSagaMonitor() } : {} -); +const sagaMiddleware = createSagaMiddleware(); function configureStoreAndPersistor(): { store: Store; persistor: Persistor; } { - /** - * If available use redux-devtool version of the compose function that allow - * the inspection of the store from the devtool. - */ - - const composeEnhancers = - // eslint-disable-next-line no-underscore-dangle - (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; - const baseMiddlewares: ReadonlyArray = [ sagaMiddleware, - logger, analytics.actionTracking // generic tracker for selected redux actions ]; - const devMiddleware: ReadonlyArray = isDevEnv - ? [createDebugger()] - : []; - - const middlewares = applyMiddleware( - ...[...baseMiddlewares, ...devMiddleware] - ); + const middlewares = applyMiddleware(...[...baseMiddlewares]); // add Reactotron enhancer if the app is running in dev mode - const enhancer: StoreEnhancer = - RTron && RTron.createEnhancer - ? composeEnhancers(middlewares, RTron.createEnhancer()) - : composeEnhancers(middlewares); + const enhancer = compose(middlewares); const store: Store = createStore< PersistedGlobalState, @@ -550,11 +514,6 @@ function configureStoreAndPersistor(): { >(persistedReducer, enhancer); const persistor = persistStore(store); - if (isDebuggingInChrome) { - // eslint-disable-next-line functional/immutable-data - (window as any).store = store; - } - // Run the main saga sagaMiddleware.run(rootSaga); diff --git a/ts/components/SectionStatus/__tests__/__snapshots__/SectionStatusContent.test.tsx.snap b/ts/components/SectionStatus/__tests__/__snapshots__/SectionStatusContent.test.tsx.snap index 23c5fdc1a98..58b35814dd8 100644 --- a/ts/components/SectionStatus/__tests__/__snapshots__/SectionStatusContent.test.tsx.snap +++ b/ts/components/SectionStatus/__tests__/__snapshots__/SectionStatusContent.test.tsx.snap @@ -66,6 +66,7 @@ exports[`StatusContent should match the snapshot 1`] = ` width={24} > = props => { : getDegree(isOpen); useEffect(() => { - if (isAndroid) { - UIManager.setLayoutAnimationEnabledExperimental(shouldAnimate); + if (isAndroid && UIManager.setLayoutAnimationEnabledExperimental) { + UIManager.setLayoutAnimationEnabledExperimental(true); } }, [shouldAnimate]); diff --git a/ts/components/core/selection/__test__/__snapshots__/RemoteSwitch.test.tsx.snap b/ts/components/core/selection/__test__/__snapshots__/RemoteSwitch.test.tsx.snap index 57d8a8c1d07..38a8f16774b 100644 --- a/ts/components/core/selection/__test__/__snapshots__/RemoteSwitch.test.tsx.snap +++ b/ts/components/core/selection/__test__/__snapshots__/RemoteSwitch.test.tsx.snap @@ -97,6 +97,7 @@ exports[`RemoteSwitch tests Snapshot for pot.noneError 1`] = ` width={24} > This is a mock for TabNavigationContainer - - + diff --git a/ts/features/newWallet/components/__tests__/__snapshots__/WalletEmptyScreenContent.test.tsx.snap b/ts/features/newWallet/components/__tests__/__snapshots__/WalletEmptyScreenContent.test.tsx.snap index 5ef74ad306b..fab4e7a3851 100644 --- a/ts/features/newWallet/components/__tests__/__snapshots__/WalletEmptyScreenContent.test.tsx.snap +++ b/ts/features/newWallet/components/__tests__/__snapshots__/WalletEmptyScreenContent.test.tsx.snap @@ -218,6 +218,7 @@ exports[`WalletEmptyScreenContent should match the snapshot 1`] = `