From d1a165ddaba15792cd4c959672ac9fbf7c8dc192 Mon Sep 17 00:00:00 2001 From: Alessandro Mazzon Date: Thu, 14 Mar 2024 17:14:38 +0100 Subject: [PATCH] fix: react native linking issues on ios (#273) ## Description This PR fixes some issues related to the linking library --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] provided a link to the relevant issue or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed all author checklist items have been addressed ## Summary by CodeRabbit - **New Features** - Enhanced deep linking support for better app navigation. - Improved WalletConnect functionality, including a smoother pairing process and better handling of session proposals. - **Bug Fixes** - Fixed a compatibility issue with an upcoming React Native release by adjusting `cocoapods` version constraints. - Adjusted UI elements for better visual consistency, including icon sizing and image display modes. - **Refactor** - Simplified navigation logic by removing unnecessary platform checks and internet connectivity validation. - Optimized action handling hooks for more efficient app state management and user interaction flows. --------- Co-authored-by: Manuel --- Gemfile | 4 +- .../project.pbxproj | 142 +++--- ios/DesmosProfileManager/AppDelegate.mm | 8 +- ios/Podfile.lock | 363 ++++++++------- package.json | 8 +- src/hooks/uriactions/useHandleUriAction.tsx | 4 +- src/hooks/useHandleReceivedActions.ts | 2 +- src/hooks/useReturnToCurrentScreen.ts | 23 +- .../walletconnect/useConnectWalletConnect.ts | 9 +- src/screens/UnlockApplication/index.tsx | 6 +- .../WalletConnectSessionProposal/index.tsx | 27 +- .../components/SessionListItem/index.tsx | 2 +- .../components/SessionListItem/useStyles.ts | 4 +- yarn.lock | 435 +++++++++--------- 14 files changed, 514 insertions(+), 523 deletions(-) diff --git a/Gemfile b/Gemfile index 41417e90..4945bf84 100644 --- a/Gemfile +++ b/Gemfile @@ -2,6 +2,8 @@ source 'https://rubygems.org' # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version ruby ">= 2.6.10" -gem 'cocoapods', '~> 1.13' +# Cocoapods 1.15 introduced a bug which break the build. We will remove the upper +# bound in the template on Cocoapods with next React Native release. +gem 'cocoapods', '>= 1.13', '< 1.15' gem 'activesupport', '>= 6.1.7.3', '< 7.1.0' gem "fastlane" diff --git a/ios/DesmosProfileManager.xcodeproj/project.pbxproj b/ios/DesmosProfileManager.xcodeproj/project.pbxproj index b86b18c7..aa0c7b05 100644 --- a/ios/DesmosProfileManager.xcodeproj/project.pbxproj +++ b/ios/DesmosProfileManager.xcodeproj/project.pbxproj @@ -11,10 +11,10 @@ 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 36275670A5B0CB82415768CC /* libPods-DesmosProfileManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 32ABF8B2E3084985B120F22D /* libPods-DesmosProfileManager.a */; }; 4F752A856D734593990D5273 /* desmos.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 943612EDC99C498396E76E55 /* desmos.ttf */; }; - 8152386C39181E2D44E45602 /* libPods-DesmosProfileManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA56A354C6DFFBBC25F7E32D /* libPods-DesmosProfileManager.a */; }; + 4FB3FEE54114325EDCC73285 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E58C0F288CFAA79ABD68C14 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a */; }; A789FD3F270CA2AE00EFC6CF /* RCTCryptoUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = A789FD3E270CA2AE00EFC6CF /* RCTCryptoUtils.m */; }; - AEAF8E94A7F2EC60526B4152 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 730607942AF658AC78C96509 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a */; }; D227F90C297879DC00BE8252 /* Poppins-BlackItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D227F8FA297879DC00BE8252 /* Poppins-BlackItalic.ttf */; }; D227F90D297879DC00BE8252 /* Poppins-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D227F8FB297879DC00BE8252 /* Poppins-Light.ttf */; }; D227F90E297879DC00BE8252 /* Poppins-ExtraBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D227F8FC297879DC00BE8252 /* Poppins-ExtraBoldItalic.ttf */; }; @@ -53,20 +53,20 @@ 00E356EE1AD99517003FC87E /* DesmosProfileManagerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DesmosProfileManagerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* DesmosProfileManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DesmosProfileManagerTests.m; sourceTree = ""; }; + 03DC60C7BD84CB59B882CEDA /* Pods-DesmosProfileManager.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DesmosProfileManager.release.xcconfig"; path = "Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager.release.xcconfig"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* DesmosProfileManager.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DesmosProfileManager.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = DesmosProfileManager/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = DesmosProfileManager/AppDelegate.mm; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = DesmosProfileManager/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = DesmosProfileManager/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = DesmosProfileManager/main.m; sourceTree = ""; }; - 2D129D83F078AE1C07468DD0 /* Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig"; path = "Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig"; sourceTree = ""; }; - 3265ED66EFA68B1B613CFF8B /* Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig"; path = "Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig"; sourceTree = ""; }; - 37B3666BC19E9BF40F662BA8 /* Pods-DesmosProfileManager.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DesmosProfileManager.debug.xcconfig"; path = "Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager.debug.xcconfig"; sourceTree = ""; }; - 6DFE7AF5AC0F4BF0B287F1FC /* Pods-DesmosProfileManager.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DesmosProfileManager.release.xcconfig"; path = "Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager.release.xcconfig"; sourceTree = ""; }; - 730607942AF658AC78C96509 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DesmosProfileManager-DesmosProfileManagerTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 32ABF8B2E3084985B120F22D /* libPods-DesmosProfileManager.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DesmosProfileManager.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 36643CA065607426C6EF5FDA /* Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig"; path = "Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig"; sourceTree = ""; }; + 5E58C0F288CFAA79ABD68C14 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DesmosProfileManager-DesmosProfileManagerTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 7304CD86E38D89F9FE364D50 /* Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig"; path = "Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig"; sourceTree = ""; }; 943612EDC99C498396E76E55 /* desmos.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = desmos.ttf; path = ../assets/fonts/desmos.ttf; sourceTree = ""; }; + 9CB609CFFB6E10E136BE250B /* Pods-DesmosProfileManager.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DesmosProfileManager.debug.xcconfig"; path = "Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager.debug.xcconfig"; sourceTree = ""; }; A789FD3E270CA2AE00EFC6CF /* RCTCryptoUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RCTCryptoUtils.m; sourceTree = ""; }; - AA56A354C6DFFBBC25F7E32D /* libPods-DesmosProfileManager.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DesmosProfileManager.a"; sourceTree = BUILT_PRODUCTS_DIR; }; D227F8FA297879DC00BE8252 /* Poppins-BlackItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Poppins-BlackItalic.ttf"; path = "../assets/fonts/Poppins-BlackItalic.ttf"; sourceTree = ""; }; D227F8FB297879DC00BE8252 /* Poppins-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Poppins-Light.ttf"; path = "../assets/fonts/Poppins-Light.ttf"; sourceTree = ""; }; D227F8FC297879DC00BE8252 /* Poppins-ExtraBoldItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Poppins-ExtraBoldItalic.ttf"; path = "../assets/fonts/Poppins-ExtraBoldItalic.ttf"; sourceTree = ""; }; @@ -99,7 +99,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AEAF8E94A7F2EC60526B4152 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a in Frameworks */, + 4FB3FEE54114325EDCC73285 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -107,7 +107,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8152386C39181E2D44E45602 /* libPods-DesmosProfileManager.a in Frameworks */, + 36275670A5B0CB82415768CC /* libPods-DesmosProfileManager.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -152,8 +152,8 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - AA56A354C6DFFBBC25F7E32D /* libPods-DesmosProfileManager.a */, - 730607942AF658AC78C96509 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a */, + 32ABF8B2E3084985B120F22D /* libPods-DesmosProfileManager.a */, + 5E58C0F288CFAA79ABD68C14 /* libPods-DesmosProfileManager-DesmosProfileManagerTests.a */, ); name = Frameworks; sourceTree = ""; @@ -221,10 +221,10 @@ BBD78D7AC51CEA395F1C20DB /* Pods */ = { isa = PBXGroup; children = ( - 37B3666BC19E9BF40F662BA8 /* Pods-DesmosProfileManager.debug.xcconfig */, - 6DFE7AF5AC0F4BF0B287F1FC /* Pods-DesmosProfileManager.release.xcconfig */, - 2D129D83F078AE1C07468DD0 /* Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig */, - 3265ED66EFA68B1B613CFF8B /* Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig */, + 9CB609CFFB6E10E136BE250B /* Pods-DesmosProfileManager.debug.xcconfig */, + 03DC60C7BD84CB59B882CEDA /* Pods-DesmosProfileManager.release.xcconfig */, + 7304CD86E38D89F9FE364D50 /* Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig */, + 36643CA065607426C6EF5FDA /* Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -236,12 +236,12 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "DesmosProfileManagerTests" */; buildPhases = ( - 16FA78ECACEEBB65A3C398FC /* [CP] Check Pods Manifest.lock */, + A251EBDE7830C97C68246950 /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - 220919E644A3A57C438EA5E5 /* [CP] Embed Pods Frameworks */, - 2798B55F090F22189A8F4DA9 /* [CP] Copy Pods Resources */, + A185AC76E822360B679516B1 /* [CP] Embed Pods Frameworks */, + E03CBCE9FEF6B21618B038DC /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -257,16 +257,16 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "DesmosProfileManager" */; buildPhases = ( - 28DA2E10DB34207442394ABB /* [CP] Check Pods Manifest.lock */, + 4FC1F6F4C1E1B09533FF7047 /* [CP] Check Pods Manifest.lock */, FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 12F22E8390CB4A20A17E7C3C /* Upload Debug Symbols to Sentry */, - 23A4858B6EE49D093C476A64 /* [CP] Embed Pods Frameworks */, - 68C5DF21D70971AF336D219B /* [CP] Copy Pods Resources */, - 3393BDCF8EB473F12796123D /* [CP-User] [RNFB] Core Configuration */, + 3CC5C71AC38D1C79B950B42D /* [CP] Embed Pods Frameworks */, + D304AF34504A81E754967B5C /* [CP] Copy Pods Resources */, + 34F8386D8F88586F535ADB73 /* [CP-User] [RNFB] Core Configuration */, ); buildRules = ( ); @@ -384,80 +384,76 @@ shellPath = /bin/sh; shellScript = "\nexport SENTRY_PROPERTIES=sentry.properties\n[[ $SENTRY_INCLUDE_NATIVE_SOURCES == \"true\" ]] && INCLUDE_SOURCES_FLAG=\"--include-sources\" || INCLUDE_SOURCES_FLAG=\"\"\n../node_modules/@sentry/cli/bin/sentry-cli debug-files upload \"$INCLUDE_SOURCES_FLAG\" \"$DWARF_DSYM_FOLDER_PATH\"\n"; }; - 16FA78ECACEEBB65A3C398FC /* [CP] Check Pods Manifest.lock */ = { + 34F8386D8F88586F535ADB73 /* [CP-User] [RNFB] Core Configuration */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-DesmosProfileManager-DesmosProfileManagerTests-checkManifestLockResult.txt", + "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)", ); + name = "[CP-User] [RNFB] Core Configuration"; runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n"; }; - 220919E644A3A57C438EA5E5 /* [CP] Embed Pods Frameworks */ = { + 3CC5C71AC38D1C79B950B42D /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 23A4858B6EE49D093C476A64 /* [CP] Embed Pods Frameworks */ = { + 4FC1F6F4C1E1B09533FF7047 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-DesmosProfileManager-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 2798B55F090F22189A8F4DA9 /* [CP] Copy Pods Resources */ = { + A185AC76E822360B679516B1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 28DA2E10DB34207442394ABB /* [CP] Check Pods Manifest.lock */ = { + A251EBDE7830C97C68246950 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,41 +468,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-DesmosProfileManager-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-DesmosProfileManager-DesmosProfileManagerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3393BDCF8EB473F12796123D /* [CP-User] [RNFB] Core Configuration */ = { + D304AF34504A81E754967B5C /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-resources-${CONFIGURATION}-output-files.xcfilelist", ); - name = "[CP-User] [RNFB] Core Configuration"; runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-resources.sh\"\n"; + showEnvVarsInLog = 0; }; - 68C5DF21D70971AF336D219B /* [CP] Copy Pods Resources */ = { + E03CBCE9FEF6B21618B038DC /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager/Pods-DesmosProfileManager-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DesmosProfileManager-DesmosProfileManagerTests/Pods-DesmosProfileManager-DesmosProfileManagerTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; FD10A7F022414F080027D42C /* Start Packager */ = { @@ -563,7 +563,7 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2D129D83F078AE1C07468DD0 /* Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig */; + baseConfigurationReference = 7304CD86E38D89F9FE364D50 /* Pods-DesmosProfileManager-DesmosProfileManagerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_IDENTITY = "Apple Development"; @@ -594,7 +594,7 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3265ED66EFA68B1B613CFF8B /* Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig */; + baseConfigurationReference = 36643CA065607426C6EF5FDA /* Pods-DesmosProfileManager-DesmosProfileManagerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; @@ -619,7 +619,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 37B3666BC19E9BF40F662BA8 /* Pods-DesmosProfileManager.debug.xcconfig */; + baseConfigurationReference = 9CB609CFFB6E10E136BE250B /* Pods-DesmosProfileManager.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; @@ -653,7 +653,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6DFE7AF5AC0F4BF0B287F1FC /* Pods-DesmosProfileManager.release.xcconfig */; + baseConfigurationReference = 03DC60C7BD84CB59B882CEDA /* Pods-DesmosProfileManager.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; @@ -754,11 +754,7 @@ "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-Wl", - "-ld_classic", - ); + OTHER_LDFLAGS = "$(inherited)"; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; }; @@ -828,11 +824,7 @@ "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-Wl", - "-ld_classic", - ); + OTHER_LDFLAGS = "$(inherited)"; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; diff --git a/ios/DesmosProfileManager/AppDelegate.mm b/ios/DesmosProfileManager/AppDelegate.mm index 2e9edd5b..85cbc1da 100644 --- a/ios/DesmosProfileManager/AppDelegate.mm +++ b/ios/DesmosProfileManager/AppDelegate.mm @@ -1,11 +1,10 @@ #import "AppDelegate.h" - #import - #import "RNBootSplash.h" #import #import "RNFBMessagingModule.h" #import +#import @implementation AppDelegate @@ -19,15 +18,16 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( //[RNBranch useTestInstance]; [RNBranch initSessionWithLaunchOptions:launchOptions isReferrable:YES]; NSURL *jsCodeLocation; - + // Firebase initialization [FIRApp configure]; - + return [super application:application didFinishLaunchingWithOptions:launchOptions]; } - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { [RNBranch application:app openURL:url options:options]; + [RCTLinkingManager application:app openURL:url options:options]; return YES; } diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 5b2ab0ac..3551c069 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -3,14 +3,14 @@ PODS: - BranchSDK (2.2.0) - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.72.7) - - FBReactNativeSpec (0.72.7): + - FBLazyVector (0.72.12) + - FBReactNativeSpec (0.72.12): - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 0.72.7) - - RCTTypeSafety (= 0.72.7) - - React-Core (= 0.72.7) - - React-jsi (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) + - RCTRequired (= 0.72.12) + - RCTTypeSafety (= 0.72.12) + - React-Core (= 0.72.12) + - React-jsi (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) - Firebase (10.12.0): - Firebase/Core (= 10.12.0) - Firebase/Core (10.12.0): @@ -178,9 +178,9 @@ PODS: - GoogleUtilities/MethodSwizzler - GoogleUtilities/UserDefaults (7.12.0): - GoogleUtilities/Logger - - hermes-engine (0.72.7): - - hermes-engine/Pre-built (= 0.72.7) - - hermes-engine/Pre-built (0.72.7) + - hermes-engine (0.72.12): + - hermes-engine/Pre-built (= 0.72.12) + - hermes-engine/Pre-built (0.72.12) - libevent (2.1.12) - libwebp (1.3.2): - libwebp/demux (= 1.3.2) @@ -230,26 +230,26 @@ PODS: - fmt (~> 6.2.1) - glog - libevent - - RCTRequired (0.72.7) - - RCTTypeSafety (0.72.7): - - FBLazyVector (= 0.72.7) - - RCTRequired (= 0.72.7) - - React-Core (= 0.72.7) - - React (0.72.7): - - React-Core (= 0.72.7) - - React-Core/DevSupport (= 0.72.7) - - React-Core/RCTWebSocket (= 0.72.7) - - React-RCTActionSheet (= 0.72.7) - - React-RCTAnimation (= 0.72.7) - - React-RCTBlob (= 0.72.7) - - React-RCTImage (= 0.72.7) - - React-RCTLinking (= 0.72.7) - - React-RCTNetwork (= 0.72.7) - - React-RCTSettings (= 0.72.7) - - React-RCTText (= 0.72.7) - - React-RCTVibration (= 0.72.7) - - React-callinvoker (0.72.7) - - React-Codegen (0.72.7): + - RCTRequired (0.72.12) + - RCTTypeSafety (0.72.12): + - FBLazyVector (= 0.72.12) + - RCTRequired (= 0.72.12) + - React-Core (= 0.72.12) + - React (0.72.12): + - React-Core (= 0.72.12) + - React-Core/DevSupport (= 0.72.12) + - React-Core/RCTWebSocket (= 0.72.12) + - React-RCTActionSheet (= 0.72.12) + - React-RCTAnimation (= 0.72.12) + - React-RCTBlob (= 0.72.12) + - React-RCTImage (= 0.72.12) + - React-RCTLinking (= 0.72.12) + - React-RCTNetwork (= 0.72.12) + - React-RCTSettings (= 0.72.12) + - React-RCTText (= 0.72.12) + - React-RCTVibration (= 0.72.12) + - React-callinvoker (0.72.12) + - React-Codegen (0.72.12): - DoubleConversion - FBReactNativeSpec - glog @@ -264,11 +264,11 @@ PODS: - React-rncore - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-Core (0.72.7): + - React-Core (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.7) + - React-Core/Default (= 0.72.12) - React-cxxreact - React-hermes - React-jsi @@ -278,7 +278,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/CoreModulesHeaders (0.72.7): + - React-Core/CoreModulesHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -292,7 +292,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/Default (0.72.7): + - React-Core/Default (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -305,23 +305,23 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/DevSupport (0.72.7): + - React-Core/DevSupport (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.7) - - React-Core/RCTWebSocket (= 0.72.7) + - React-Core/Default (= 0.72.12) + - React-Core/RCTWebSocket (= 0.72.12) - React-cxxreact - React-hermes - React-jsi - React-jsiexecutor - - React-jsinspector (= 0.72.7) + - React-jsinspector (= 0.72.12) - React-perflogger - React-runtimeexecutor - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.72.7): + - React-Core/RCTActionSheetHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -335,7 +335,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTAnimationHeaders (0.72.7): + - React-Core/RCTAnimationHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -349,7 +349,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTBlobHeaders (0.72.7): + - React-Core/RCTBlobHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -363,7 +363,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTImageHeaders (0.72.7): + - React-Core/RCTImageHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -377,7 +377,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTLinkingHeaders (0.72.7): + - React-Core/RCTLinkingHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -391,7 +391,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTNetworkHeaders (0.72.7): + - React-Core/RCTNetworkHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -405,7 +405,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTSettingsHeaders (0.72.7): + - React-Core/RCTSettingsHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -419,7 +419,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTTextHeaders (0.72.7): + - React-Core/RCTTextHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -433,7 +433,7 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTVibrationHeaders (0.72.7): + - React-Core/RCTVibrationHeaders (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -447,11 +447,11 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-Core/RCTWebSocket (0.72.7): + - React-Core/RCTWebSocket (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.7) + - React-Core/Default (= 0.72.12) - React-cxxreact - React-hermes - React-jsi @@ -461,57 +461,57 @@ PODS: - React-utils - SocketRocket (= 0.6.1) - Yoga - - React-CoreModules (0.72.7): + - React-CoreModules (0.72.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.7) - - React-Codegen (= 0.72.7) - - React-Core/CoreModulesHeaders (= 0.72.7) - - React-jsi (= 0.72.7) + - RCTTypeSafety (= 0.72.12) + - React-Codegen (= 0.72.12) + - React-Core/CoreModulesHeaders (= 0.72.12) + - React-jsi (= 0.72.12) - React-RCTBlob - - React-RCTImage (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) + - React-RCTImage (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) - SocketRocket (= 0.6.1) - - React-cxxreact (0.72.7): + - React-cxxreact (0.72.12): - boost (= 1.76.0) - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.7) - - React-debug (= 0.72.7) - - React-jsi (= 0.72.7) - - React-jsinspector (= 0.72.7) - - React-logger (= 0.72.7) - - React-perflogger (= 0.72.7) - - React-runtimeexecutor (= 0.72.7) - - React-debug (0.72.7) - - React-hermes (0.72.7): + - React-callinvoker (= 0.72.12) + - React-debug (= 0.72.12) + - React-jsi (= 0.72.12) + - React-jsinspector (= 0.72.12) + - React-logger (= 0.72.12) + - React-perflogger (= 0.72.12) + - React-runtimeexecutor (= 0.72.12) + - React-debug (0.72.12) + - React-hermes (0.72.12): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - RCT-Folly/Futures (= 2021.07.22.00) - - React-cxxreact (= 0.72.7) + - React-cxxreact (= 0.72.12) - React-jsi - - React-jsiexecutor (= 0.72.7) - - React-jsinspector (= 0.72.7) - - React-perflogger (= 0.72.7) - - React-jsi (0.72.7): + - React-jsiexecutor (= 0.72.12) + - React-jsinspector (= 0.72.12) + - React-perflogger (= 0.72.12) + - React-jsi (0.72.12): - boost (= 1.76.0) - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-jsiexecutor (0.72.7): + - React-jsiexecutor (0.72.12): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.72.7) - - React-jsi (= 0.72.7) - - React-perflogger (= 0.72.7) - - React-jsinspector (0.72.7) - - React-logger (0.72.7): + - React-cxxreact (= 0.72.12) + - React-jsi (= 0.72.12) + - React-perflogger (= 0.72.12) + - React-jsinspector (0.72.12) + - React-logger (0.72.12): - glog - react-native-aes (2.0.0): - React-Core @@ -540,11 +540,11 @@ PODS: - React-Core - react-native-web-browser (1.1.0): - React-Core - - react-native-worklets-core (0.2.4): + - react-native-worklets-core (0.4.0): - React - React-callinvoker - React-Core - - React-NativeModulesApple (0.72.7): + - React-NativeModulesApple (0.72.12): - hermes-engine - React-callinvoker - React-Core @@ -553,17 +553,17 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.72.7) - - React-RCTActionSheet (0.72.7): - - React-Core/RCTActionSheetHeaders (= 0.72.7) - - React-RCTAnimation (0.72.7): + - React-perflogger (0.72.12) + - React-RCTActionSheet (0.72.12): + - React-Core/RCTActionSheetHeaders (= 0.72.12) + - React-RCTAnimation (0.72.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.7) - - React-Codegen (= 0.72.7) - - React-Core/RCTAnimationHeaders (= 0.72.7) - - React-jsi (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) - - React-RCTAppDelegate (0.72.7): + - RCTTypeSafety (= 0.72.12) + - React-Codegen (= 0.72.12) + - React-Core/RCTAnimationHeaders (= 0.72.12) + - React-jsi (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) + - React-RCTAppDelegate (0.72.12): - RCT-Folly - RCTRequired - RCTTypeSafety @@ -575,54 +575,54 @@ PODS: - React-RCTNetwork - React-runtimescheduler - ReactCommon/turbomodule/core - - React-RCTBlob (0.72.7): + - React-RCTBlob (0.72.12): - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.7) - - React-Core/RCTBlobHeaders (= 0.72.7) - - React-Core/RCTWebSocket (= 0.72.7) - - React-jsi (= 0.72.7) - - React-RCTNetwork (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) - - React-RCTImage (0.72.7): + - React-Codegen (= 0.72.12) + - React-Core/RCTBlobHeaders (= 0.72.12) + - React-Core/RCTWebSocket (= 0.72.12) + - React-jsi (= 0.72.12) + - React-RCTNetwork (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) + - React-RCTImage (0.72.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.7) - - React-Codegen (= 0.72.7) - - React-Core/RCTImageHeaders (= 0.72.7) - - React-jsi (= 0.72.7) - - React-RCTNetwork (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) - - React-RCTLinking (0.72.7): - - React-Codegen (= 0.72.7) - - React-Core/RCTLinkingHeaders (= 0.72.7) - - React-jsi (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) - - React-RCTNetwork (0.72.7): + - RCTTypeSafety (= 0.72.12) + - React-Codegen (= 0.72.12) + - React-Core/RCTImageHeaders (= 0.72.12) + - React-jsi (= 0.72.12) + - React-RCTNetwork (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) + - React-RCTLinking (0.72.12): + - React-Codegen (= 0.72.12) + - React-Core/RCTLinkingHeaders (= 0.72.12) + - React-jsi (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) + - React-RCTNetwork (0.72.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.7) - - React-Codegen (= 0.72.7) - - React-Core/RCTNetworkHeaders (= 0.72.7) - - React-jsi (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) - - React-RCTSettings (0.72.7): + - RCTTypeSafety (= 0.72.12) + - React-Codegen (= 0.72.12) + - React-Core/RCTNetworkHeaders (= 0.72.12) + - React-jsi (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) + - React-RCTSettings (0.72.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.7) - - React-Codegen (= 0.72.7) - - React-Core/RCTSettingsHeaders (= 0.72.7) - - React-jsi (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) - - React-RCTText (0.72.7): - - React-Core/RCTTextHeaders (= 0.72.7) - - React-RCTVibration (0.72.7): + - RCTTypeSafety (= 0.72.12) + - React-Codegen (= 0.72.12) + - React-Core/RCTSettingsHeaders (= 0.72.12) + - React-jsi (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) + - React-RCTText (0.72.12): + - React-Core/RCTTextHeaders (= 0.72.12) + - React-RCTVibration (0.72.12): - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.7) - - React-Core/RCTVibrationHeaders (= 0.72.7) - - React-jsi (= 0.72.7) - - ReactCommon/turbomodule/core (= 0.72.7) - - React-rncore (0.72.7) - - React-runtimeexecutor (0.72.7): - - React-jsi (= 0.72.7) - - React-runtimescheduler (0.72.7): + - React-Codegen (= 0.72.12) + - React-Core/RCTVibrationHeaders (= 0.72.12) + - React-jsi (= 0.72.12) + - ReactCommon/turbomodule/core (= 0.72.12) + - React-rncore (0.72.12) + - React-runtimeexecutor (0.72.12): + - React-jsi (= 0.72.12) + - React-runtimescheduler (0.72.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) @@ -630,30 +630,30 @@ PODS: - React-debug - React-jsi - React-runtimeexecutor - - React-utils (0.72.7): + - React-utils (0.72.12): - glog - RCT-Folly (= 2021.07.22.00) - React-debug - - ReactCommon/turbomodule/bridging (0.72.7): + - ReactCommon/turbomodule/bridging (0.72.12): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.7) - - React-cxxreact (= 0.72.7) - - React-jsi (= 0.72.7) - - React-logger (= 0.72.7) - - React-perflogger (= 0.72.7) - - ReactCommon/turbomodule/core (0.72.7): + - React-callinvoker (= 0.72.12) + - React-cxxreact (= 0.72.12) + - React-jsi (= 0.72.12) + - React-logger (= 0.72.12) + - React-perflogger (= 0.72.12) + - ReactCommon/turbomodule/core (0.72.12): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.7) - - React-cxxreact (= 0.72.7) - - React-jsi (= 0.72.7) - - React-logger (= 0.72.7) - - React-perflogger (= 0.72.7) + - React-callinvoker (= 0.72.12) + - React-cxxreact (= 0.72.12) + - React-jsi (= 0.72.12) + - React-logger (= 0.72.12) + - React-perflogger (= 0.72.12) - RNBluetoothStateManager (1.3.4): - React-Core - RNBootSplash (4.4.1): @@ -912,7 +912,6 @@ EXTERNAL SOURCES: :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-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 lottie-react-native: :path: "../node_modules/lottie-react-native" Permission-BluetoothPeripheral: @@ -1055,12 +1054,12 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - boost: 57d2868c099736d80fcd648bf211b4431e51a558 + boost: 7dcd2de282d72e344012f7d6564d024930a6a440 BranchSDK: 8749d10e30725d08b6c188ab90e6fd6223d204db CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 - FBLazyVector: 5fbbff1d7734827299274638deb8ba3024f6c597 - FBReactNativeSpec: 638095fe8a01506634d77b260ef8a322019ac671 + FBLazyVector: a31ac2336aea59512b5b982f8e231f65d7d148e1 + FBReactNativeSpec: 0976da6bc1ebd3ea9b3a65d04be2c0117d304c4c Firebase: 07150e75d142fb9399f6777fa56a187b17f833a0 FirebaseAnalytics: 0270389efbe3022b54ec4588862dabec3477ee98 FirebaseCore: f86a1394906b97ac445ae49c92552a9425831bed @@ -1081,7 +1080,7 @@ SPEC CHECKSUMS: GoogleAppMeasurement: 2d800fab85e7848b1e66a6f8ce5bca06c5aad892 GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2 GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 - hermes-engine: 9180d43df05c1ed658a87cc733dc3044cf90c00a + hermes-engine: e89344b9e9e54351c3c5cac075e0275148fb37ba libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 lottie-ios: 25e7b2675dad5c3ddad369ac9baab03560c5bfdd @@ -1095,20 +1094,20 @@ SPEC CHECKSUMS: Permission-Camera: bf6791b17c7f614b6826019fcfdcc286d3a107f6 PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 - RCTRequired: 83bca1c184feb4d2e51c72c8369b83d641443f95 - RCTTypeSafety: 13c4a87a16d7db6cd66006ce9759f073402ef85b - React: e67aa9f99957c7611c392b5e49355d877d6525e2 - React-callinvoker: 2790c09d964c2e5404b5410cde91b152e3746b7b - React-Codegen: e6e05e105ca7cdb990f4d609985a2a689d8d0653 - React-Core: 9283f1e7d0d5e3d33ad298547547b1b43912534c - React-CoreModules: 6312c9b2fec4329d9ae6a2b8c350032d1664c51b - React-cxxreact: 7da72565656c8ac7f97c9a031d0b199bbdec0640 - React-debug: 4accb2b9dc09b575206d2c42f4082990a52ae436 - React-hermes: 1299a94f255f59a72d5baa54a2ca2e1eee104947 - React-jsi: 2208de64c3a41714ac04e86975386fc49116ea13 - React-jsiexecutor: c49502e5d02112247ee4526bc3ccfc891ae3eb9b - React-jsinspector: 8baadae51f01d867c3921213a25ab78ab4fbcd91 - React-logger: 8edc785c47c8686c7962199a307015e2ce9a0e4f + RCTRequired: b6cea797b684c6d8d82ba0107cef58cbb679afdb + RCTTypeSafety: d2eb5e0e8af9181b24034f5171f9b659994b4678 + React: e5aafc4c18040e8fbe0870a1f6df890d35f5af1d + React-callinvoker: d345fd762faa4a3d371aedf40332abb09746ca03 + React-Codegen: 821ca0b8a9fb023eef3faab61afd2390658c8f1c + React-Core: 6e27275ea4a91992f488bcc9c8575ffb564b504b + React-CoreModules: 6cb0798606e69b33e8271a9da526e3d674bedb2c + React-cxxreact: 63436ba2c7811121ca978ce60d49aa8786322726 + React-debug: b29cfcf06c990f0ea4b3d6430996baa71dd676af + React-hermes: 077b82c248fe8e698820717a1d240c8502150c31 + React-jsi: 42edc74ef0479952c32c8659563ab9cd62353a75 + React-jsiexecutor: 95bdf0ab46024ca9849e08739b6abd8fe489cd33 + React-jsinspector: 8e291ed0ab371314de269001d6b9b25db6aabf42 + React-logger: d4010de0b0564e63637ad08373bc73b5d919974b react-native-aes: c75c46aa744bef7c2415fdf7f5b2dcb75ca4364d react-native-ble-plx: f10240444452dfb2d2a13a0e4f58d7783e92d76e react-native-branch: 43f1c46d9a971cae0eeb337313991ce72b467351 @@ -1121,24 +1120,24 @@ SPEC CHECKSUMS: react-native-randombytes: 421f1c7d48c0af8dbcd471b0324393ebf8fe7846 react-native-safe-area-context: 2cd91d532de12acdb0a9cbc8d43ac72a8e4c897c react-native-web-browser: 087b454e1e94b58b40ba73f54251d77486144d19 - react-native-worklets-core: b4094f51cb2bc649e297206425cb8956f4945e3e - React-NativeModulesApple: b6868ee904013a7923128892ee4a032498a1024a - React-perflogger: 31ea61077185eb1428baf60c0db6e2886f141a5a - React-RCTActionSheet: 392090a3abc8992eb269ef0eaa561750588fc39d - React-RCTAnimation: 4b3cc6a29474bc0d78c4f04b52ab59bf760e8a9b - React-RCTAppDelegate: 89b015b29885109addcabecdf3b2e833905437c7 - React-RCTBlob: 3e23dcbe6638897b5605e46d0d62955d78e8d27b - React-RCTImage: 8a5d339d614a90a183fc1b8b6a7eb44e2e703943 - React-RCTLinking: b37dfbf646d77c326f9eae094b1fcd575b1c24c7 - React-RCTNetwork: 8bed9b2461c7d8a7d14e63df9b16181c448beebc - React-RCTSettings: 506a5f09a455123a8873801b70aa7b4010b76b01 - React-RCTText: 3c71ecaad8ee010b79632ea2590f86c02f5cce17 - React-RCTVibration: d1b78ca38f61ea4b3e9ebb2ddbd0b5662631d99b - React-rncore: bfc2f6568b6fecbae6f2f774e95c60c3c9e95bf2 - React-runtimeexecutor: 47b0a2d5bbb416db65ef881a6f7bdcfefa0001ab - React-runtimescheduler: 7649c3b46c8dee1853691ecf60146a16ae59253c - React-utils: 56838edeaaf651220d1e53cd0b8934fb8ce68415 - ReactCommon: 5f704096ccf7733b390f59043b6fa9cc180ee4f6 + react-native-worklets-core: 2efe80a3ee87fe5e6fefa814e0e20c2708d3ad25 + React-NativeModulesApple: 694679e4193a49c09f0a76ee27ec09b2c466d59c + React-perflogger: 63606aeab27683112e1bd4ef25bd099ec1cb03f8 + React-RCTActionSheet: 5b39fc2b479d47325e5ac95193c482044bfebbc6 + React-RCTAnimation: d684a1de0e20c53e31376738839d1cda56b60486 + React-RCTAppDelegate: 3099e9aebf2f821503e65432e09a9423a37d767a + React-RCTBlob: 0dcf271322ba0c0406fcd4a3f87cd7d951dfcc37 + React-RCTImage: b8bfa9ed1eecc7bb96d219f8a01f569d490f34fc + React-RCTLinking: 32c9b7af01937d911010d8ab1963147e31766190 + React-RCTNetwork: c58ad73a25aa6b35258b6c59c0a24018c329fe96 + React-RCTSettings: 87eb46d6ca902981f9356a6d4742f9a453aa8fae + React-RCTText: 1fc9f2052720a6587964721b9c4542c9a0e984c0 + React-RCTVibration: ff75e7530a22dc80a27fffdc07a2785d6bdf4f8e + React-rncore: 52247442683082756b2fb3de145fb8149f15d1f6 + React-runtimeexecutor: 1c5219c682091392970608972655001103c27d21 + React-runtimescheduler: 8aea338c561b2175f47018124c076d89d3808d30 + React-utils: 9a24cb88f950d1020ee55bddacbc8c16a611e2dc + ReactCommon: 76843a9bb140596351ac2786257ac9fe60cafabb RNBluetoothStateManager: ae6a26260cbdf1827b58bd3bcc563527d61e6488 RNBootSplash: 4f968c1e098c7ec97939ace039f735e3d335bd4b RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60 @@ -1166,7 +1165,7 @@ SPEC CHECKSUMS: SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 TrezorCrypto: bfeea47a052dca2c77d4a39e1e183865e52de14d VisionCamera: b9f470768f0336e55347631744d29efd04ac475c - Yoga: 4c3aa327e4a6a23eeacd71f61c81df1bcdf677d5 + Yoga: 87e59f6d458e5061d2421086c5de994b3f7cd151 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a PODFILE CHECKSUM: e787cc43ed67296bbbc6e62baa74f79d115f218a diff --git a/package.json b/package.json index 084e47a5..3c8633d9 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "react-content-loader": "^6.2.0", "react-dom": "^18.2.0", "react-i18next": "^12.1.4", - "react-native": "0.72.7", + "react-native": "0.72.12", "react-native-aes-crypto": "^2.1.1", "react-native-async-storage": "^0.0.1", "react-native-ble-plx": "^2.0.3", @@ -112,7 +112,7 @@ "react-native-url-polyfill": "^1.3.0", "react-native-vector-icons": "^9.2.0", "react-native-vision-camera": "^3.6.10", - "react-native-worklets-core": "^0.2.4", + "react-native-worklets-core": "^0.4.0", "readable-stream": "3.6.0", "recoil": "^0.7.6", "recoil-relay": "^0.1.0", @@ -134,7 +134,7 @@ "@babel/preset-env": "^7.22.7", "@babel/runtime": "^7.20.0", "@react-native/eslint-config": "^0.72.2", - "@react-native/metro-config": "^0.72.11", + "@react-native/metro-config": "^0.72.12", "@rnx-kit/align-deps": "^2.2.6", "@tsconfig/react-native": "^3.0.0", "@types/jest": "^29.5.2", @@ -159,7 +159,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-native": "^4.0.0", "jest": "^29.6.1", - "metro-react-native-babel-preset": "0.76.8", + "metro-react-native-babel-preset": "^0.76.9", "prettier": "^3.0.0", "react-native-asset": "^2.0.1", "react-native-codegen": "^0.0.7", diff --git a/src/hooks/uriactions/useHandleUriAction.tsx b/src/hooks/uriactions/useHandleUriAction.tsx index c22d1b42..70691157 100644 --- a/src/hooks/uriactions/useHandleUriAction.tsx +++ b/src/hooks/uriactions/useHandleUriAction.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { - GenericActionUri, GenericActionsTypes, + GenericActionUri, SendTokensActionUri, UriAction, UriActionType, @@ -121,7 +121,7 @@ const useHandleWalletConnectPairAction = () => { text: t('initializing new session'), }); const pairResult = await pair(action.uri); - hideModal(); + hideModal(true); if (pairResult.isErr()) { showModal(ErrorModal, { text: pairResult.error.message, diff --git a/src/hooks/useHandleReceivedActions.ts b/src/hooks/useHandleReceivedActions.ts index 5b5fd47b..13c55920 100644 --- a/src/hooks/useHandleReceivedActions.ts +++ b/src/hooks/useHandleReceivedActions.ts @@ -46,7 +46,7 @@ export default function useHandleReceivedActions() { } // Ensure that the app is active and unlocked before performing any operation. - if (appState.locked === false && appState.lastObBlur === undefined) { + if (appState.ready && !appState.locked && appState.lastObBlur === undefined) { // We give priority to uri actions received from a deep link // or a system intent. if (uriAction !== undefined) { diff --git a/src/hooks/useReturnToCurrentScreen.ts b/src/hooks/useReturnToCurrentScreen.ts index b1266b98..8ec170ff 100644 --- a/src/hooks/useReturnToCurrentScreen.ts +++ b/src/hooks/useReturnToCurrentScreen.ts @@ -36,15 +36,20 @@ const useReturnToCurrentScreen = () => { // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - return useCallback(() => { - const canNavigate = - startingScreenNavigateParams !== undefined && - navigator.getState().routes.find((r) => r.key === startingScreenNavigateParams.key) !== - undefined; - if (canNavigate) { - navigator.navigate(startingScreenNavigateParams); - } - }, [navigator, startingScreenNavigateParams]); + return useCallback( + (fallbackToGoBack?: boolean) => { + const canNavigate = + startingScreenNavigateParams !== undefined && + navigator.getState().routes.find((r) => r.key === startingScreenNavigateParams.key) !== + undefined; + if (canNavigate) { + navigator.navigate(startingScreenNavigateParams); + } else if (fallbackToGoBack) { + navigator.goBack(); + } + }, + [navigator, startingScreenNavigateParams], + ); }; export default useReturnToCurrentScreen; diff --git a/src/hooks/walletconnect/useConnectWalletConnect.ts b/src/hooks/walletconnect/useConnectWalletConnect.ts index ab49f6a3..c3cb27b3 100644 --- a/src/hooks/walletconnect/useConnectWalletConnect.ts +++ b/src/hooks/walletconnect/useConnectWalletConnect.ts @@ -7,12 +7,11 @@ import { } from '@recoil/walletconnect'; import SignClient from '@walletconnect/sign-client'; import EventEmitter from 'events'; -import { Result, err, ok } from 'neverthrow'; +import { err, ok, Result } from 'neverthrow'; import React from 'react'; import { WalletConnectClientStatus } from 'types/walletConnect'; import * as WalletConnectMMKV from 'lib/MMKVStorage/walletconnect'; import { promiseToResult } from 'lib/NeverThrowUtils'; -import NetInfo from '@react-native-community/netinfo'; const CONNECTION_RESULT = 'connection_result'; const ConnectionEventListener = new EventEmitter(); @@ -50,12 +49,6 @@ const useConnectWalletConnect = () => { }); } - // Check for internet connection before connecting. - const netState = await NetInfo.fetch(); - if (!netState.isInternetReachable) { - return err(new Error('No internet connection')); - } - setState({ status: WalletConnectClientStatus.Connecting }); // Client is disconnected, initialize it. const signClientInitResult = await promiseToResult( diff --git a/src/screens/UnlockApplication/index.tsx b/src/screens/UnlockApplication/index.tsx index 5d5d27ca..1d7a0268 100644 --- a/src/screens/UnlockApplication/index.tsx +++ b/src/screens/UnlockApplication/index.tsx @@ -13,11 +13,9 @@ import { useSetting } from '@recoil/settings'; import { checkUserPassword, isKeyChainInitialized } from 'lib/SecureStorage'; import { BiometricAuthorizations } from 'types/settings'; import { useSetAppState } from '@recoil/appState'; -import { useSafeAreaInsets } from 'react-native-safe-area-context'; import useGetPasswordFromBiometrics from 'hooks/useGetPasswordFromBiometrics'; import Spacer from 'components/Spacer'; import DKeyboardAvoidingView from 'components/DKeyboardAvoidingView'; -import { Platform } from 'react-native'; import useResetToHomeScreen from 'hooks/navigation/useResetToHomeScreen'; import useStyles from './useStyles'; @@ -43,7 +41,6 @@ const UnlockApplication: React.FC = (props) => { const areBiometricsEnabled = useSetting('loginWithBiometrics'); const setAppState = useSetAppState(); - const { bottom } = useSafeAreaInsets(); const getPasswordFromBiometrics = useGetPasswordFromBiometrics(BiometricAuthorizations.Login); const previousScreenParams = useMemo(() => { @@ -150,6 +147,7 @@ const UnlockApplication: React.FC = (props) => { topBar={} touchableWithoutFeedbackDisabled={false} > + {t('enter security password')} = (props) => { )} {error} - + diff --git a/src/screens/WalletConnectSessionProposal/index.tsx b/src/screens/WalletConnectSessionProposal/index.tsx index 9bac44b3..bcece491 100644 --- a/src/screens/WalletConnectSessionProposal/index.tsx +++ b/src/screens/WalletConnectSessionProposal/index.tsx @@ -17,6 +17,7 @@ import { DPMImages } from 'types/images'; import { walletConnectIconUriToImageSource } from 'lib/WalletConnectUtils'; import FastImage from 'react-native-fast-image'; import useResetToHomeScreen from 'hooks/navigation/useResetToHomeScreen'; +import useOnBackAction from 'hooks/useOnBackAction'; import useStyles from './useStyles'; export interface WalletConnectSessionProposalParams { @@ -79,16 +80,20 @@ const WalletConnectSessionProposal: FC = (props) => { [openModal, t], ); - const onDeny = useCallback(async () => { - setRejecting(true); - const rejectResult = await rejectSession(proposal); - if (rejectResult.isOk()) { - navigation.goBack(); - } else { - showErrorModal(rejectResult.error.message); - } - setRejecting(false); - }, [navigation, proposal, rejectSession, showErrorModal]); + const onDeny = useCallback( + async (noNavigation?: boolean) => { + setRejecting(true); + await rejectSession(proposal); + if (noNavigation !== true) { + navigation.goBack(); + } + setRejecting(false); + }, + [navigation, proposal, rejectSession], + ); + useOnBackAction(() => { + onDeny(true); + }, [onDeny]); const onGrant = useCallback(async () => { setAuthorizing(true); @@ -128,7 +133,7 @@ const WalletConnectSessionProposal: FC = (props) => {