From 8490ede7f22c32072fb1ce5249d13dd685971632 Mon Sep 17 00:00:00 2001 From: James Pepper Date: Thu, 8 Jan 2026 22:35:45 +0000 Subject: [PATCH 1/5] Add GoogleService-Info.example.plist template for Firebase configuration --- .../GoogleService-Info.example.plist | 43 +++++++++++++++++++ ios/GoogleService-Info.example.plist | 43 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 ios/BitSleuthWallet.xcodeproj/GoogleService-Info.example.plist create mode 100644 ios/GoogleService-Info.example.plist diff --git a/ios/BitSleuthWallet.xcodeproj/GoogleService-Info.example.plist b/ios/BitSleuthWallet.xcodeproj/GoogleService-Info.example.plist new file mode 100644 index 00000000..91963e89 --- /dev/null +++ b/ios/BitSleuthWallet.xcodeproj/GoogleService-Info.example.plist @@ -0,0 +1,43 @@ + + + + + + API_KEY + AIzaSy_YOUR_IOS_API_KEY_HERE + GCM_SENDER_ID + YOUR_PROJECT_NUMBER + PLIST_VERSION + 1 + BUNDLE_ID + ai.bitsleuth.wallet + PROJECT_ID + your-project-id + STORAGE_BUCKET + your-project-id.appspot.com + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:YOUR_PROJECT_NUMBER:ios:YOUR_APP_ID + + \ No newline at end of file diff --git a/ios/GoogleService-Info.example.plist b/ios/GoogleService-Info.example.plist new file mode 100644 index 00000000..91963e89 --- /dev/null +++ b/ios/GoogleService-Info.example.plist @@ -0,0 +1,43 @@ + + + + + + API_KEY + AIzaSy_YOUR_IOS_API_KEY_HERE + GCM_SENDER_ID + YOUR_PROJECT_NUMBER + PLIST_VERSION + 1 + BUNDLE_ID + ai.bitsleuth.wallet + PROJECT_ID + your-project-id + STORAGE_BUCKET + your-project-id.appspot.com + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:YOUR_PROJECT_NUMBER:ios:YOUR_APP_ID + + \ No newline at end of file From fe5499e45de5856d5d7ed94352d0058a85afeaa8 Mon Sep 17 00:00:00 2001 From: James Pepper Date: Thu, 8 Jan 2026 23:10:12 +0000 Subject: [PATCH 2/5] Update Podfile.lock and package.json for dependency version upgrades --- ios/Podfile.lock | 130 +++++++++++++++++++++++----------------------- package-lock.json | 46 +--------------- package.json | 6 ++- 3 files changed, 70 insertions(+), 112 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d4a2b4a6..48561ef2 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,11 +1,11 @@ PODS: - - EXConstants (18.0.10): + - EXConstants (18.0.11): - ExpoModulesCore - EXImageLoader (6.0.0): - ExpoModulesCore - React-Core - EXJSONUtils (0.15.0) - - EXManifests (1.0.8): + - EXManifests (1.0.10): - ExpoModulesCore - Expo (54.0.23): - ExpoModulesCore @@ -32,15 +32,15 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-client (6.0.17): + - expo-dev-client (6.0.20): - EXManifests - expo-dev-launcher - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface - - expo-dev-launcher (6.0.17): + - expo-dev-launcher (6.0.20): - EXManifests - - expo-dev-launcher/Main (= 6.0.17) + - expo-dev-launcher/Main (= 6.0.20) - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore @@ -69,7 +69,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-launcher/Main (6.0.17): + - expo-dev-launcher/Main (6.0.20): - EXManifests - expo-dev-launcher/Unsafe - expo-dev-menu @@ -100,7 +100,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-launcher/Unsafe (6.0.17): + - expo-dev-launcher/Unsafe (6.0.20): - EXManifests - expo-dev-menu - expo-dev-menu-interface @@ -130,9 +130,9 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-menu (7.0.16): - - expo-dev-menu/Main (= 7.0.16) - - expo-dev-menu/ReactNativeCompatibles (= 7.0.16) + - expo-dev-menu (7.0.18): + - expo-dev-menu/Main (= 7.0.18) + - expo-dev-menu/ReactNativeCompatibles (= 7.0.18) - hermes-engine - RCTRequired - RCTTypeSafety @@ -155,7 +155,7 @@ PODS: - ReactNativeDependencies - Yoga - expo-dev-menu-interface (2.0.0) - - expo-dev-menu/Main (7.0.16): + - expo-dev-menu/Main (7.0.18): - EXManifests - expo-dev-menu-interface - ExpoModulesCore @@ -182,7 +182,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-menu/ReactNativeCompatibles (7.0.16): + - expo-dev-menu/ReactNativeCompatibles (7.0.18): - hermes-engine - RCTRequired - RCTTypeSafety @@ -204,45 +204,45 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoAsset (12.0.9): + - ExpoAsset (12.0.11): - ExpoModulesCore - - ExpoBlur (15.0.7): + - ExpoBlur (15.0.8): - ExpoModulesCore - - ExpoCamera (17.0.9): + - ExpoCamera (17.0.10): - ExpoModulesCore - ZXingObjC/OneD - ZXingObjC/PDF417 - - ExpoClipboard (8.0.7): + - ExpoClipboard (8.0.8): - ExpoModulesCore - - ExpoFileSystem (19.0.17): + - ExpoFileSystem (19.0.20): - ExpoModulesCore - - ExpoFont (14.0.9): + - ExpoFont (14.0.10): - ExpoModulesCore - - ExpoGlassEffect (0.1.6): + - ExpoGlassEffect (0.1.8): - ExpoModulesCore - - ExpoHaptics (15.0.7): + - ExpoHaptics (15.0.8): - ExpoModulesCore - - ExpoHead (6.0.14): + - ExpoHead (6.0.17): - ExpoModulesCore - RNScreens - - ExpoImage (3.0.10): + - ExpoImage (3.0.11): - ExpoModulesCore - libavif/libdav1d - SDWebImage (~> 5.21.0) - SDWebImageAVIFCoder (~> 0.11.0) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - ExpoImagePicker (17.0.8): + - ExpoImagePicker (17.0.9): - ExpoModulesCore - - ExpoKeepAwake (15.0.7): + - ExpoKeepAwake (15.0.8): - ExpoModulesCore - - ExpoLinearGradient (15.0.7): + - ExpoLinearGradient (15.0.8): - ExpoModulesCore - - ExpoLinking (8.0.8): + - ExpoLinking (8.0.10): - ExpoModulesCore - - ExpoLocalAuthentication (17.0.7): + - ExpoLocalAuthentication (17.0.8): - ExpoModulesCore - - ExpoLocation (19.0.7): + - ExpoLocation (19.0.8): - ExpoModulesCore - ExpoModulesCore (3.0.25): - hermes-engine @@ -267,15 +267,15 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoSecureStore (15.0.7): + - ExpoSecureStore (15.0.8): - ExpoModulesCore - - ExpoSplashScreen (31.0.10): + - ExpoSplashScreen (31.0.12): - ExpoModulesCore - - ExpoSymbols (1.0.7): + - ExpoSymbols (1.0.8): - ExpoModulesCore - - ExpoSystemUI (6.0.8): + - ExpoSystemUI (6.0.9): - ExpoModulesCore - - ExpoWebBrowser (15.0.9): + - ExpoWebBrowser (15.0.10): - ExpoModulesCore - EXUpdatesInterface (2.0.0): - ExpoModulesCore @@ -2149,7 +2149,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - RNReanimated (4.1.3): + - RNReanimated (4.1.6): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2171,10 +2171,10 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNReanimated/reanimated (= 4.1.3) + - RNReanimated/reanimated (= 4.1.6) - RNWorklets - Yoga - - RNReanimated/reanimated (4.1.3): + - RNReanimated/reanimated (4.1.6): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2196,10 +2196,10 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNReanimated/reanimated/apple (= 4.1.3) + - RNReanimated/reanimated/apple (= 4.1.6) - RNWorklets - Yoga - - RNReanimated/reanimated/apple (4.1.3): + - RNReanimated/reanimated/apple (4.1.6): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2778,37 +2778,37 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - EXConstants: fd688cef4e401dcf798a021cfb5d87c890c30ba3 + EXConstants: c378c1b344ff1ecfbad27b90f0e48d1d0ead8cbb EXImageLoader: 189e3476581efe3ad4d1d3fb4735b7179eb26f05 EXJSONUtils: 1d3e4590438c3ee593684186007028a14b3686cd - EXManifests: 224345a575fca389073c416297b6348163f28d1a + EXManifests: a8d97683e5c7a3b026ffbd58559c64dc655b747b Expo: 81e793cab9d63b5bf9529240110d15e7089160da - expo-dev-client: b6e7b4f4063ae44b5e68cc6a8bcc0c79c3037c1a - expo-dev-launcher: d9db9a797de273a54566af53e2ba84285bb00695 - expo-dev-menu: 56fdd59f02862814fcc857d98a8e3143736739a7 + expo-dev-client: 425ee077d6754a98cfe3a2e2410d29b440b24c9d + expo-dev-launcher: 2559cd405f6e69bd1f1794b4756e46b7f0f648ef + expo-dev-menu: cf3e52f2e4402e54e9a36a25c7b38569a82c2c54 expo-dev-menu-interface: 600df12ea01efecdd822daaf13cc0ac091775533 - ExpoAsset: 9ba6fbd677fb8e241a3899ac00fa735bc911eadf - ExpoBlur: 2dd8f64aa31f5d405652c21d3deb2d2588b1852f - ExpoCamera: 2a87c210f8955350ea5c70f1d539520b2fc5d940 - ExpoClipboard: af650d14765f19c60ce2a1eaf9dfe6445eff7365 - ExpoFileSystem: b79eadbda7b7f285f378f95f959cc9313a1c9c61 - ExpoFont: cf9d90ec1d3b97c4f513211905724c8171f82961 - ExpoGlassEffect: 84523fbad3e2103bc8f80dc927fc23ead8b036f2 - ExpoHaptics: 807476b0c39e9d82b7270349d6487928ce32df84 - ExpoHead: e317214fa14edeaf17748d39ec9e550a3d1194fb - ExpoImage: 9c3428921c536ab29e5c6721d001ad5c1f469566 - ExpoImagePicker: d251aab45a1b1857e4156fed88511b278b4eee1c - ExpoKeepAwake: 1a2e820692e933c94a565ec3fbbe38ac31658ffe - ExpoLinearGradient: a464898cb95153125e3b81894fd479bcb1c7dd27 - ExpoLinking: f051f28e50ea9269ff539317c166adec81d9342d - ExpoLocalAuthentication: ea7b9878fefac9ae38dc5766af00b52cac55c51b - ExpoLocation: 93d7faa0c2adbd5a04686af0c1a61bc6ed3ee2f7 + ExpoAsset: 23a958e97d3d340919fe6774db35d563241e6c03 + ExpoBlur: b90747a3f22a8b6ceffd9cb0dc41a4184efdc656 + ExpoCamera: 6a326deb45ba840749652e4c15198317aa78497e + ExpoClipboard: b36b287d8356887844bb08ed5c84b5979bb4dd1e + ExpoFileSystem: 3592defb5faa3c5866a2900eae87ceec8cc0489f + ExpoFont: 35ac6191ed86bbf56b3ebd2d9154eda9fad5b509 + ExpoGlassEffect: 8ce45eca31f12e949e23a4ee13e2bfb59e9b0785 + ExpoHaptics: d3a6375d8dcc3a1083d003bc2298ff654fafb536 + ExpoHead: 5611b33d6b983922d0233367ee6ab65633364dfd + ExpoImage: 686f972bff29525733aa13357f6691dc90aa03d8 + ExpoImagePicker: e62bc7b6513d1fd0e098c907c64982fb953abb18 + ExpoKeepAwake: 55f75eca6499bb9e4231ebad6f3e9cb8f99c0296 + ExpoLinearGradient: 809102bdb979f590083af49f7fa4805cd931bd58 + ExpoLinking: f4c4a351523da72a6bfa7e1f4ca92aee1043a3ca + ExpoLocalAuthentication: 8a31808565da7af926dd9b595e98594d8b1553b6 + ExpoLocation: d5b61cb4970fa982e39ca94246a206a0c3b812ca ExpoModulesCore: 89597e00f491f8310cff4edc91b1f41b8e74a981 - ExpoSecureStore: 9c6571fe3fcb045a671c4011c451546eaaab98fd - ExpoSplashScreen: cbb839de72110dea1851dd3e85080b7923af2540 - ExpoSymbols: 1ae04ce686de719b9720453b988d8bc5bf776c68 - ExpoSystemUI: 2761aa6875849af83286364811d46e8ed8ea64c7 - ExpoWebBrowser: b973e1351fdcf5fec0c400997b1851f5a8219ec3 + ExpoSecureStore: d32f751874a2ceb5aaeebeb3578e165c1ba2b24a + ExpoSplashScreen: 76af87337650d06926aa7d0157fe98b4fddca336 + ExpoSymbols: 349ee2b4d7d5ff3ea8436467914f8a67635aa354 + ExpoSystemUI: 2ad325f361a2fcd96a464e8574e19935c461c9cc + ExpoWebBrowser: 17b064c621789e41d4816c95c93f429b84971f52 EXUpdatesInterface: 5adf50cb41e079c861da6d9b4b954c3db9a50734 FBLazyVector: e95a291ad2dadb88e42b06e0c5fb8262de53ec12 Firebase: f07b15ae5a6ec0f93713e30b923d9970d144af3e @@ -2906,7 +2906,7 @@ SPEC CHECKSUMS: RNFBCrashlytics: ab632410ce1383051ac26ef44c966da651b7cf91 RNFBPerf: 66843b59e5b078a5d5494b57ddf5858aff56cdbd RNGestureHandler: c3831b3b1b5014c6afab7fff7e4171394a3419ab - RNReanimated: d6282d5be09ec53b2b69e4addeae2f342c4c99ed + RNReanimated: 8315d083516a6690fcdb479b56fca8fabf65a73d RNScreens: 33bbd1d0f86ed957557620dc94054b71db0a94ee RNSVG: ac3047fdd9c0ebac9d0b731a352bddf216af6242 RNWorklets: 76fce72926e28e304afb44f0da23b2d24f2c1fa0 diff --git a/package-lock.json b/package-lock.json index 66fdebc7..a941b38d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "expo-app", "version": "1.2.1", "hasInstallScript": true, + "license": "AGPL-3.0", "dependencies": { "@babel/core": "^7.28.4", "@babel/generator": "^7.28.3", @@ -3504,20 +3505,6 @@ } } }, - "node_modules/@firebase/auth-compat/node_modules/@react-native-async-storage/async-storage": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz", - "integrity": "sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "merge-options": "^3.0.4" - }, - "peerDependencies": { - "react-native": "^0.0.0-0 || >=0.60 <1.0" - } - }, "node_modules/@firebase/auth-interop-types": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz", @@ -11724,20 +11711,6 @@ } } }, - "node_modules/firebase/node_modules/@react-native-async-storage/async-storage": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz", - "integrity": "sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "merge-options": "^3.0.4" - }, - "peerDependencies": { - "react-native": "^0.0.0-0 || >=0.60 <1.0" - } - }, "node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", @@ -19326,23 +19299,6 @@ } } }, - "node_modules/tailwindcss/node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - }, - "funding": { - "url": "https://github.com/sponsors/eemeli" - } - }, "node_modules/tar": { "version": "7.5.2", "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz", diff --git a/package.json b/package.json index 005a89b4..c36a0896 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,8 @@ } }, "overrides": { - "react-native-randombytes": "^3.6.2" + "react-native-randombytes": "^3.6.2", + "react-native-renderer": "19.1.2" }, "resolutions": { "@babel/traverse": "^7.28.4", @@ -132,7 +133,8 @@ "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", - "react-native-randombytes": "^3.6.2" + "react-native-randombytes": "^3.6.2", + "react-native-renderer": "19.1.2" }, "private": true } From d0cd0290c918ec04f3e37c476013a2920f36c03c Mon Sep 17 00:00:00 2001 From: James Pepper Date: Fri, 9 Jan 2026 00:22:25 +0000 Subject: [PATCH 3/5] Refactor theme handling in TabLayout to use lightTheme as fallback --- app/(tabs)/_layout.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 4aaf6ec5..7789b3e7 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -1,3 +1,4 @@ +import { lightTheme } from '@/constants/themes'; import { useWallet } from '@/hooks/wallet-store'; import Ionicons from '@expo/vector-icons/Ionicons'; import { Icon, Label, NativeTabs, VectorIcon } from 'expo-router/unstable-native-tabs'; @@ -6,7 +7,9 @@ import { Platform } from 'react-native'; export default function TabLayout() { // Use theme from WalletProvider context for consistency - const { theme } = useWallet(); + // Fallback to lightTheme if context is not available yet + const walletContext = useWallet(); + const theme = walletContext?.theme ?? lightTheme; const [themeKey, setThemeKey] = useState(0); // Force re-render when theme changes From d88d9a81e6105a466136bc48d3279fedf437b8ee Mon Sep 17 00:00:00 2001 From: James Pepper Date: Fri, 9 Jan 2026 13:12:40 +0000 Subject: [PATCH 4/5] Update React and React DOM versions to 19.1.0 in package.json and package-lock.json --- package-lock.json | 301 +++++++++++++++++++++++++++------------------- package.json | 10 +- 2 files changed, 183 insertions(+), 128 deletions(-) diff --git a/package-lock.json b/package-lock.json index a941b38d..b5686a22 100644 --- a/package-lock.json +++ b/package-lock.json @@ -70,8 +70,8 @@ "node-libs-react-native": "^1.2.1", "process": "^0.11.10", "querystring-es3": "^0.2.1", - "react": "19.1.2", - "react-dom": "19.1.2", + "react": "19.1.0", + "react-dom": "19.1.0", "react-native": "0.81.5", "react-native-biometrics": "^3.0.1", "react-native-bip32-utils": "^0.9.3", @@ -97,7 +97,7 @@ "devDependencies": { "@expo/ngrok": "^4.1.3", "@types/node": "^24.5.2", - "@types/react": "~19.1.2", + "@types/react": "~19.1.0", "eas-cli-local-build-plugin": "^1.0.240", "eslint": "^9.35.0", "eslint-config-expo": "~10.0.0", @@ -2260,13 +2260,13 @@ } }, "node_modules/@expo/cli": { - "version": "54.0.20", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.20.tgz", - "integrity": "sha512-cwsXmhftvS0p9NNYOhXGnicBAZl9puWwRt19Qq5eQ6njLnaj8WvcR+kDZyADtgZxBsZiyVlrKXvnjt43HXywQA==", + "version": "54.0.21", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.21.tgz", + "integrity": "sha512-L/FdpyZDsg/Nq6xW6kfiyF9DUzKfLZCKFXEVZcDqCNar6bXxQVotQyvgexRvtUF5nLinuT/UafLOdC3FUALUmA==", "license": "MIT", "dependencies": { "@0no-co/graphql.web": "^1.0.8", - "@expo/code-signing-certificates": "^0.0.5", + "@expo/code-signing-certificates": "^0.0.6", "@expo/config": "~12.0.13", "@expo/config-plugins": "~54.0.4", "@expo/devcert": "^1.2.1", @@ -2274,7 +2274,7 @@ "@expo/image-utils": "^0.8.8", "@expo/json-file": "^10.0.8", "@expo/metro": "~54.2.0", - "@expo/metro-config": "~54.0.12", + "@expo/metro-config": "~54.0.13", "@expo/osascript": "^2.3.8", "@expo/package-manager": "^1.9.9", "@expo/plist": "^0.4.8", @@ -2303,7 +2303,7 @@ "glob": "^13.0.0", "lan-network": "^0.1.6", "minimatch": "^9.0.0", - "node-forge": "^1.3.1", + "node-forge": "^1.3.3", "npm-package-arg": "^11.0.0", "ora": "^3.4.0", "picomatch": "^3.0.1", @@ -2359,13 +2359,12 @@ } }, "node_modules/@expo/code-signing-certificates": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", - "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.6.tgz", + "integrity": "sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==", "license": "MIT", "dependencies": { - "node-forge": "^1.2.1", - "nullthrows": "^1.1.1" + "node-forge": "^1.3.3" } }, "node_modules/@expo/config": { @@ -2834,9 +2833,9 @@ } }, "node_modules/@expo/metro-config": { - "version": "54.0.12", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-54.0.12.tgz", - "integrity": "sha512-Xhv1z/ak/cuJWeLxlnWr2u22q2AM/klASbjpP5eE34y91lGWa2NUwrFWoS830MhJ6kuAqtGdoQhwyPa3TES7sA==", + "version": "54.0.13", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-54.0.13.tgz", + "integrity": "sha512-RRufMCgLR2Za1WGsh02OatIJo5qZFt31yCnIOSfoubNc3Qqe92Z41pVsbrFnmw5CIaisv1NgdBy05DHe7pEyuw==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.20.0", @@ -3505,6 +3504,19 @@ } } }, + "node_modules/@firebase/auth-compat/node_modules/@react-native-async-storage/async-storage": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz", + "integrity": "sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "merge-options": "^3.0.4" + }, + "peerDependencies": { + "react-native": "^0.0.0-0 || >=0.60 <1.0" + } + }, "node_modules/@firebase/auth-interop-types": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz", @@ -4085,9 +4097,9 @@ } }, "node_modules/@hono/node-server": { - "version": "1.19.7", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.7.tgz", - "integrity": "sha512-vUcD0uauS7EU2caukW8z5lJKtoGMokxNbJtBiwHgpqxEXokaHCBkQUmCHhjFB1VUTWdqj25QoMkMKzgjq+uhrw==", + "version": "1.19.8", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.8.tgz", + "integrity": "sha512-0/g2lIOPzX8f3vzW1ggQgvG5mjtFBDBHFAzI5SFAi2DzSqS9luJwqg9T6O/gKYLi+inS7eNxBeIFkkghIPvrMA==", "devOptional": true, "license": "MIT", "engines": { @@ -4554,6 +4566,7 @@ "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz", "integrity": "sha512-LZFeo4F9M5qOhC/Uc1aQSrBHxMrvxett+9KLHt7OhcExtoiRN9DKgbZffMP/nxjutWDQpfMDfP3nkHI4X9ijww==", "devOptional": true, + "license": "MIT", "dependencies": { "@hono/node-server": "^1.19.7", "ajv": "^8.17.1", @@ -5805,20 +5818,20 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.51.0.tgz", - "integrity": "sha512-XtssGWJvypyM2ytBnSnKtHYOGT+4ZwTnBVl36TA4nRO2f4PRNGz5/1OszHzcZCvcBMh+qb7I06uoCmLTRdR9og==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz", + "integrity": "sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.51.0", - "@typescript-eslint/type-utils": "8.51.0", - "@typescript-eslint/utils": "8.51.0", - "@typescript-eslint/visitor-keys": "8.51.0", - "ignore": "^7.0.0", + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/type-utils": "8.52.0", + "@typescript-eslint/utils": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.2.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5828,7 +5841,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.51.0", + "@typescript-eslint/parser": "^8.52.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -5844,17 +5857,17 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.51.0.tgz", - "integrity": "sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz", + "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.51.0", - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/typescript-estree": "8.51.0", - "@typescript-eslint/visitor-keys": "8.51.0", - "debug": "^4.3.4" + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5869,15 +5882,15 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.51.0.tgz", - "integrity": "sha512-Luv/GafO07Z7HpiI7qeEW5NW8HUtZI/fo/kE0YbtQEFpJRUuR0ajcWfCE5bnMvL7QQFrmT/odMe8QZww8X2nfQ==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz", + "integrity": "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.51.0", - "@typescript-eslint/types": "^8.51.0", - "debug": "^4.3.4" + "@typescript-eslint/tsconfig-utils": "^8.52.0", + "@typescript-eslint/types": "^8.52.0", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5891,14 +5904,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.51.0.tgz", - "integrity": "sha512-JhhJDVwsSx4hiOEQPeajGhCWgBMBwVkxC/Pet53EpBVs7zHHtayKefw1jtPaNRXpI9RA2uocdmpdfE7T+NrizA==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz", + "integrity": "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/visitor-keys": "8.51.0" + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5909,9 +5922,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.51.0.tgz", - "integrity": "sha512-Qi5bSy/vuHeWyir2C8u/uqGMIlIDu8fuiYWv48ZGlZ/k+PRPHtaAu7erpc7p5bzw2WNNSniuxoMSO4Ar6V9OXw==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz", + "integrity": "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==", "dev": true, "license": "MIT", "engines": { @@ -5926,17 +5939,17 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.51.0.tgz", - "integrity": "sha512-0XVtYzxnobc9K0VU7wRWg1yiUrw4oQzexCG2V2IDxxCxhqBMSMbjB+6o91A+Uc0GWtgjCa3Y8bi7hwI0Tu4n5Q==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz", + "integrity": "sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/typescript-estree": "8.51.0", - "@typescript-eslint/utils": "8.51.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.2.0" + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0", + "@typescript-eslint/utils": "8.52.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5951,9 +5964,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.51.0.tgz", - "integrity": "sha512-TizAvWYFM6sSscmEakjY3sPqGwxZRSywSsPEiuZF6d5GmGD9Gvlsv0f6N8FvAAA0CD06l3rIcWNbsN1e5F/9Ag==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz", + "integrity": "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==", "dev": true, "license": "MIT", "engines": { @@ -5965,21 +5978,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.51.0.tgz", - "integrity": "sha512-1qNjGqFRmlq0VW5iVlcyHBbCjPB7y6SxpBkrbhNWMy/65ZoncXCEPJxkRZL8McrseNH6lFhaxCIaX+vBuFnRng==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz", + "integrity": "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.51.0", - "@typescript-eslint/tsconfig-utils": "8.51.0", - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/visitor-keys": "8.51.0", - "debug": "^4.3.4", - "minimatch": "^9.0.4", - "semver": "^7.6.0", + "@typescript-eslint/project-service": "8.52.0", + "@typescript-eslint/tsconfig-utils": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.2.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6006,16 +6019,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.51.0.tgz", - "integrity": "sha512-11rZYxSe0zabiKaCP2QAwRf/dnmgFgvTmeDTtZvUvXG3UuAdg/GU02NExmmIXzz3vLGgMdtrIosI84jITQOxUA==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz", + "integrity": "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.51.0", - "@typescript-eslint/types": "8.51.0", - "@typescript-eslint/typescript-estree": "8.51.0" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6030,13 +6043,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.51.0.tgz", - "integrity": "sha512-mM/JRQOzhVN1ykejrvwnBRV3+7yTKK8tVANVN3o1O0t0v7o+jqdVu9crPy5Y9dov15TJk/FTIgoUGHrTOVL3Zg==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz", + "integrity": "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.51.0", + "@typescript-eslint/types": "8.52.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -7106,9 +7119,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.11", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", - "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", + "version": "2.9.13", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.13.tgz", + "integrity": "sha512-WhtvB2NG2wjr04+h77sg3klAIwrgOqnjS49GGudnUPGFFgg7G17y7Qecqp+2Dr5kUDxNRBca0SK7cG8JwzkWDQ==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.js" @@ -7295,9 +7308,9 @@ "license": "MIT" }, "node_modules/body-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.1.tgz", - "integrity": "sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", "devOptional": true, "license": "MIT", "dependencies": { @@ -7307,7 +7320,7 @@ "http-errors": "^2.0.0", "iconv-lite": "^0.7.0", "on-finished": "^2.4.1", - "qs": "^6.14.0", + "qs": "^6.14.1", "raw-body": "^3.0.1", "type-is": "^2.0.1" }, @@ -7742,9 +7755,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001762", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", - "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", + "version": "1.0.30001763", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001763.tgz", + "integrity": "sha512-mh/dGtq56uN98LlNX9qdbKnzINhX0QzhiWBFEkFfsFO4QyCvL8YegrJAazCwXIeqkIob8BlZPGM3xdnY+sgmvQ==", "funding": [ { "type": "opencollective", @@ -9916,12 +9929,12 @@ } }, "node_modules/expo-constants": { - "version": "18.0.12", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.12.tgz", - "integrity": "sha512-WzcKYMVNRRu4NcSzfIVRD5aUQFnSpTZgXFrlWmm19xJoDa4S3/PQNi6PNTBRc49xz9h8FT7HMxRKaC8lr0gflA==", + "version": "18.0.13", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.13.tgz", + "integrity": "sha512-FnZn12E1dRYKDHlAdIyNFhBurKTS3F9CrfrBDJI5m3D7U17KBHMQ6JEfYlSj7LG7t+Ulr+IKaj58L1k5gBwTcQ==", "license": "MIT", "dependencies": { - "@expo/config": "~12.0.12", + "@expo/config": "~12.0.13", "@expo/env": "~2.0.8" }, "peerDependencies": { @@ -10743,6 +10756,16 @@ } } }, + "node_modules/expo/node_modules/@expo/code-signing-certificates": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", + "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==", + "license": "MIT", + "dependencies": { + "node-forge": "^1.2.1", + "nullthrows": "^1.1.1" + } + }, "node_modules/expo/node_modules/@expo/metro": { "version": "54.1.0", "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-54.1.0.tgz", @@ -11711,6 +11734,19 @@ } } }, + "node_modules/firebase/node_modules/@react-native-async-storage/async-storage": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz", + "integrity": "sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g==", + "extraneous": true, + "license": "MIT", + "dependencies": { + "merge-options": "^3.0.4" + }, + "peerDependencies": { + "react-native": "^0.0.0-0 || >=0.60 <1.0" + } + }, "node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", @@ -12633,9 +12669,9 @@ } }, "node_modules/iconv-lite": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", - "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "devOptional": true, "license": "MIT", "dependencies": { @@ -16773,9 +16809,9 @@ } }, "node_modules/react": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.2.tgz", - "integrity": "sha512-MdWVitvLbQULD+4DP8GYjZUrepGW7d+GQkNVqJEzNxE+e9WIa4egVFE/RDfVb1u9u/Jw7dNMmPB4IqxzbFYJ0w==", + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -16813,15 +16849,15 @@ } }, "node_modules/react-dom": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.2.tgz", - "integrity": "sha512-dEoydsCp50i7kS1xHOmPXq4zQYoGWedUsvqv9H6zdif2r7yLHygyfP9qou71TulRN0d6ng9EbRVsQhSqfUc19g==", + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "license": "MIT", "dependencies": { "scheduler": "^0.26.0" }, "peerDependencies": { - "react": "^19.1.2" + "react": "^19.1.0" } }, "node_modules/react-fast-compare": { @@ -17968,9 +18004,9 @@ } }, "node_modules/resolve-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.0.tgz", - "integrity": "sha512-IsaBUZETJD5WsI11Wt8PKHwaIe45or6pwNc8yflvLJ4DWtImK9kuLoH5kUva/2Mmx/RdIyr4aONNSa2v9LTJsw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.1.tgz", + "integrity": "sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==", "license": "MIT" }, "node_modules/resolve.exports": { @@ -18245,10 +18281,13 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", - "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", - "license": "BlueOak-1.0.0" + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } }, "node_modules/scheduler": { "version": "0.26.0", @@ -19299,6 +19338,22 @@ } } }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "extraneous": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, "node_modules/tar": { "version": "7.5.2", "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz", @@ -19901,9 +19956,9 @@ } }, "node_modules/undici": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.22.0.tgz", - "integrity": "sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", + "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", "license": "MIT", "engines": { "node": ">=18.17" @@ -20782,9 +20837,9 @@ } }, "node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", "license": "MIT", "engines": { "node": ">=10.0.0" diff --git a/package.json b/package.json index c36a0896..4dc04d6b 100644 --- a/package.json +++ b/package.json @@ -77,8 +77,8 @@ "node-libs-react-native": "^1.2.1", "process": "^0.11.10", "querystring-es3": "^0.2.1", - "react": "19.1.2", - "react-dom": "19.1.2", + "react": "19.1.0", + "react-dom": "19.1.0", "react-native": "0.81.5", "react-native-biometrics": "^3.0.1", "react-native-bip32-utils": "^0.9.3", @@ -104,7 +104,7 @@ "devDependencies": { "@expo/ngrok": "^4.1.3", "@types/node": "^24.5.2", - "@types/react": "~19.1.2", + "@types/react": "~19.1.0", "eas-cli-local-build-plugin": "^1.0.240", "eslint": "^9.35.0", "eslint-config-expo": "~10.0.0", @@ -124,7 +124,7 @@ }, "overrides": { "react-native-randombytes": "^3.6.2", - "react-native-renderer": "19.1.2" + "react-native-renderer": "19.1.0" }, "resolutions": { "@babel/traverse": "^7.28.4", @@ -134,7 +134,7 @@ "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "react-native-randombytes": "^3.6.2", - "react-native-renderer": "19.1.2" + "react-native-renderer": "19.1.0" }, "private": true } From 75a591a747c6d47371afd9eddf96a2a574f4cb79 Mon Sep 17 00:00:00 2001 From: James Pepper Date: Fri, 9 Jan 2026 13:34:50 +0000 Subject: [PATCH 5/5] chore: update dependencies in Podfile.lock - Bump EXConstants from 18.0.11 to 18.0.13 - Bump ExpoAsset from 12.0.11 to 12.0.12 - Bump ExpoFileSystem from 19.0.20 to 19.0.21 - Bump ExpoHead from 6.0.17 to 6.0.21 - Bump ExpoImagePicker from 17.0.9 to 17.0.10 - Bump ExpoLinking from 8.0.10 to 8.0.11 - Bump ExpoSplashScreen from 31.0.12 to 31.0.13 - Update Firebase dependencies to version 12.6.0 - Bump SDWebImage from 5.21.3 to 5.21.5 --- ios/BitSleuthWallet.xcodeproj/project.pbxproj | 70 ++++---- ios/Podfile.lock | 152 +++++++++--------- 2 files changed, 111 insertions(+), 111 deletions(-) diff --git a/ios/BitSleuthWallet.xcodeproj/project.pbxproj b/ios/BitSleuthWallet.xcodeproj/project.pbxproj index 4bdd83c0..3e398293 100644 --- a/ios/BitSleuthWallet.xcodeproj/project.pbxproj +++ b/ios/BitSleuthWallet.xcodeproj/project.pbxproj @@ -8,12 +8,12 @@ /* Begin PBXBuildFile section */ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 2781CC95CDAF599114B3A38F /* Pods_BitSleuthWallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 646FA36045E946D7B4AC8DC8 /* Pods_BitSleuthWallet.framework */; }; 3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; }; 436814095AFDBFA2F897EB6C /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 7D82C4A7F0A4541023665BFC /* PrivacyInfo.xcprivacy */; }; 4C4408FA1D7BE01419D1D4F5 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 851F27CFD8D5089DCD7152DD /* ExpoModulesProvider.swift */; }; AC5FE9FFBC21455CAB7650BE /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 648AF8E0B4A44D32A525A318 /* GoogleService-Info.plist */; }; BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; }; - BD8E3A7277AA4309F667CE6C /* Pods_BitSleuthWallet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 979BFD27F817023074A33ADA /* Pods_BitSleuthWallet.framework */; }; F11748422D0307B40044C1D9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11748412D0307B40044C1D9 /* AppDelegate.swift */; }; /* End PBXBuildFile section */ @@ -21,14 +21,14 @@ 13B07F961A680F5B00A75B9A /* BitSleuthWallet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BitSleuthWallet.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = BitSleuthWallet/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = BitSleuthWallet/Info.plist; sourceTree = ""; }; - 30AD29C50F7D634FEC5E15B3 /* Pods-BitSleuthWallet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BitSleuthWallet.release.xcconfig"; path = "Target Support Files/Pods-BitSleuthWallet/Pods-BitSleuthWallet.release.xcconfig"; sourceTree = ""; }; + 57E384E9F322CBB80A8825E1 /* Pods-BitSleuthWallet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BitSleuthWallet.release.xcconfig"; path = "Target Support Files/Pods-BitSleuthWallet/Pods-BitSleuthWallet.release.xcconfig"; sourceTree = ""; }; + 646FA36045E946D7B4AC8DC8 /* Pods_BitSleuthWallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_BitSleuthWallet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 648AF8E0B4A44D32A525A318 /* GoogleService-Info.plist */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "BitSleuthWallet/GoogleService-Info.plist"; sourceTree = ""; }; 7D82C4A7F0A4541023665BFC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = BitSleuthWallet/PrivacyInfo.xcprivacy; sourceTree = ""; }; 851F27CFD8D5089DCD7152DD /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-BitSleuthWallet/ExpoModulesProvider.swift"; sourceTree = ""; }; - 979BFD27F817023074A33ADA /* Pods_BitSleuthWallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_BitSleuthWallet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = BitSleuthWallet/SplashScreen.storyboard; sourceTree = ""; }; BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; }; - EA0BA62847627EEA01F47B4F /* Pods-BitSleuthWallet.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BitSleuthWallet.debug.xcconfig"; path = "Target Support Files/Pods-BitSleuthWallet/Pods-BitSleuthWallet.debug.xcconfig"; sourceTree = ""; }; + E234A8A20AD1ED5DA521DB8F /* Pods-BitSleuthWallet.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BitSleuthWallet.debug.xcconfig"; path = "Target Support Files/Pods-BitSleuthWallet/Pods-BitSleuthWallet.debug.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; F11748412D0307B40044C1D9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = BitSleuthWallet/AppDelegate.swift; sourceTree = ""; }; F11748442D0722820044C1D9 /* BitSleuthWallet-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "BitSleuthWallet-Bridging-Header.h"; path = "BitSleuthWallet/BitSleuthWallet-Bridging-Header.h"; sourceTree = ""; }; @@ -39,7 +39,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BD8E3A7277AA4309F667CE6C /* Pods_BitSleuthWallet.framework in Frameworks */, + 2781CC95CDAF599114B3A38F /* Pods_BitSleuthWallet.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -65,7 +65,7 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 979BFD27F817023074A33ADA /* Pods_BitSleuthWallet.framework */, + 646FA36045E946D7B4AC8DC8 /* Pods_BitSleuthWallet.framework */, ); name = Frameworks; sourceTree = ""; @@ -92,8 +92,8 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, - B53E2632A23DB609CBBEE148 /* Pods */, FA33FC2654E6A8823360995D /* ExpoModulesProviders */, + 842F17DD3DD5E8E2559DE34C /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -108,11 +108,11 @@ name = Products; sourceTree = ""; }; - B53E2632A23DB609CBBEE148 /* Pods */ = { + 842F17DD3DD5E8E2559DE34C /* Pods */ = { isa = PBXGroup; children = ( - EA0BA62847627EEA01F47B4F /* Pods-BitSleuthWallet.debug.xcconfig */, - 30AD29C50F7D634FEC5E15B3 /* Pods-BitSleuthWallet.release.xcconfig */, + E234A8A20AD1ED5DA521DB8F /* Pods-BitSleuthWallet.debug.xcconfig */, + 57E384E9F322CBB80A8825E1 /* Pods-BitSleuthWallet.release.xcconfig */, ); name = Pods; path = Pods; @@ -142,16 +142,16 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "BitSleuthWallet" */; buildPhases = ( - 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */, + 0369927E77FCBB347FC09C88 /* [CP] Check Pods Manifest.lock */, 222A08E96D18A813C81754E0 /* [Expo] Configure project */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */, - E986C6081C01DF6FB109AA5B /* [CP] Embed Pods Frameworks */, - B61914A459064152380559D9 /* [CP-User] [RNFB] Core Configuration */, - 1A6633EF0A9950A3636D9464 /* [CP-User] [RNFB] Crashlytics Configuration */, + E982820BE415D080A3E79E27 /* [CP] Embed Pods Frameworks */, + 8E22258012E426E0D21FB74F /* [CP] Copy Pods Resources */, + E40C904355200AC607416C17 /* [CP-User] [RNFB] Core Configuration */, + 38CDDB6DCBD49BFAFB661CA5 /* [CP-User] [RNFB] Crashlytics Configuration */, ); buildRules = ( ); @@ -226,7 +226,7 @@ shellPath = /bin/sh; shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n# The project root by default is one level up from the ios directory\nexport PROJECT_ROOT=\"$PROJECT_DIR\"/..\n\nif [[ \"$CONFIGURATION\" = *Debug* ]]; then\n export SKIP_BUNDLING=1\nfi\nif [[ -z \"$ENTRY_FILE\" ]]; then\n # Set the entry JS file using the bundler's entry resolution.\n export ENTRY_FILE=\"$(\"$NODE_BINARY\" -e \"require('expo/scripts/resolveAppEntry')\" \"$PROJECT_ROOT\" ios absolute | tail -n 1)\"\nfi\n\nif [[ -z \"$CLI_PATH\" ]]; then\n # Use Expo CLI\n export CLI_PATH=\"$(\"$NODE_BINARY\" --print \"require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })\")\"\nfi\nif [[ -z \"$BUNDLE_COMMAND\" ]]; then\n # Default Expo CLI command for bundling\n export BUNDLE_COMMAND=\"export:embed\"\nfi\n\n# Source .xcode.env.updates if it exists to allow\n# SKIP_BUNDLING to be unset if needed\nif [[ -f \"$PODS_ROOT/../.xcode.env.updates\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.updates\"\nfi\n# Source local changes to allow overrides\n# if needed\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n`\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'\"`\n\n"; }; - 08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */ = { + 0369927E77FCBB347FC09C88 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -248,20 +248,6 @@ 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; }; - 1A6633EF0A9950A3636D9464 /* [CP-User] [RNFB] Crashlytics Configuration */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}", - "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)", - ); - name = "[CP-User] [RNFB] Crashlytics 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\nif [[ ${PODS_ROOT} ]]; then\n echo \"info: Exec FirebaseCrashlytics Run from Pods\"\n \"${PODS_ROOT}/FirebaseCrashlytics/run\"\nelse\n echo \"info: Exec FirebaseCrashlytics Run from framework\"\n \"${PROJECT_DIR}/FirebaseCrashlytics.framework/run\"\nfi\n"; - }; 222A08E96D18A813C81754E0 /* [Expo] Configure project */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -286,7 +272,21 @@ shellPath = /bin/sh; shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-BitSleuthWallet/expo-configure-project.sh\"\n"; }; - 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = { + 38CDDB6DCBD49BFAFB661CA5 /* [CP-User] [RNFB] Crashlytics Configuration */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}", + "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)", + ); + name = "[CP-User] [RNFB] Crashlytics 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\nif [[ ${PODS_ROOT} ]]; then\n echo \"info: Exec FirebaseCrashlytics Run from Pods\"\n \"${PODS_ROOT}/FirebaseCrashlytics/run\"\nelse\n echo \"info: Exec FirebaseCrashlytics Run from framework\"\n \"${PROJECT_DIR}/FirebaseCrashlytics.framework/run\"\nfi\n"; + }; + 8E22258012E426E0D21FB74F /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -348,7 +348,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-BitSleuthWallet/Pods-BitSleuthWallet-resources.sh\"\n"; showEnvVarsInLog = 0; }; - B61914A459064152380559D9 /* [CP-User] [RNFB] Core Configuration */ = { + E40C904355200AC607416C17 /* [CP-User] [RNFB] Core Configuration */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -361,7 +361,7 @@ 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#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\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 \"note: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"note: '$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 \"note: -> RNFB build script started\"\necho \"note: 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 \"note: ($_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 \"note: ${_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 if ! _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\"); then\n echo \"error: Failed to parse firebase.json, check for syntax errors.\"\n exit 1\n fi\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"error: 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_analytics_storage\n _ANALYTICS_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_analytics_storage\")\n if [[ $_ANALYTICS_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_storage\n _ANALYTICS_AD_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_storage\")\n if [[ $_ANALYTICS_AD_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_user_data\n _ANALYTICS_AD_USER_DATA=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_user_data\")\n if [[ $_ANALYTICS_AD_USER_DATA ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_USER_DATA\")\")\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 \"note: 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 \"note: <- RNFB build script finished\"\n"; }; - E986C6081C01DF6FB109AA5B /* [CP] Embed Pods Frameworks */ = { + E982820BE415D080A3E79E27 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -400,7 +400,7 @@ /* Begin XCBuildConfiguration section */ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EA0BA62847627EEA01F47B4F /* Pods-BitSleuthWallet.debug.xcconfig */; + baseConfigurationReference = E234A8A20AD1ED5DA521DB8F /* Pods-BitSleuthWallet.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -436,7 +436,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 30AD29C50F7D634FEC5E15B3 /* Pods-BitSleuthWallet.release.xcconfig */; + baseConfigurationReference = 57E384E9F322CBB80A8825E1 /* Pods-BitSleuthWallet.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 48561ef2..ffe4dba5 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - EXConstants (18.0.11): + - EXConstants (18.0.13): - ExpoModulesCore - EXImageLoader (6.0.0): - ExpoModulesCore @@ -204,7 +204,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoAsset (12.0.11): + - ExpoAsset (12.0.12): - ExpoModulesCore - ExpoBlur (15.0.8): - ExpoModulesCore @@ -214,7 +214,7 @@ PODS: - ZXingObjC/PDF417 - ExpoClipboard (8.0.8): - ExpoModulesCore - - ExpoFileSystem (19.0.20): + - ExpoFileSystem (19.0.21): - ExpoModulesCore - ExpoFont (14.0.10): - ExpoModulesCore @@ -222,7 +222,7 @@ PODS: - ExpoModulesCore - ExpoHaptics (15.0.8): - ExpoModulesCore - - ExpoHead (6.0.17): + - ExpoHead (6.0.21): - ExpoModulesCore - RNScreens - ExpoImage (3.0.11): @@ -232,13 +232,13 @@ PODS: - SDWebImageAVIFCoder (~> 0.11.0) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - ExpoImagePicker (17.0.9): + - ExpoImagePicker (17.0.10): - ExpoModulesCore - ExpoKeepAwake (15.0.8): - ExpoModulesCore - ExpoLinearGradient (15.0.8): - ExpoModulesCore - - ExpoLinking (8.0.10): + - ExpoLinking (8.0.11): - ExpoModulesCore - ExpoLocalAuthentication (17.0.8): - ExpoModulesCore @@ -269,7 +269,7 @@ PODS: - Yoga - ExpoSecureStore (15.0.8): - ExpoModulesCore - - ExpoSplashScreen (31.0.12): + - ExpoSplashScreen (31.0.13): - ExpoModulesCore - ExpoSymbols (1.0.8): - ExpoModulesCore @@ -280,67 +280,67 @@ PODS: - EXUpdatesInterface (2.0.0): - ExpoModulesCore - FBLazyVector (0.81.5) - - Firebase/CoreOnly (12.4.0): - - FirebaseCore (~> 12.4.0) - - Firebase/Crashlytics (12.4.0): + - Firebase/CoreOnly (12.6.0): + - FirebaseCore (~> 12.6.0) + - Firebase/Crashlytics (12.6.0): - Firebase/CoreOnly - - FirebaseCrashlytics (~> 12.4.0) - - Firebase/Performance (12.4.0): + - FirebaseCrashlytics (~> 12.6.0) + - Firebase/Performance (12.6.0): - Firebase/CoreOnly - - FirebasePerformance (~> 12.4.0) - - FirebaseABTesting (12.4.0): - - FirebaseCore (~> 12.4.0) - - FirebaseCore (12.4.0): - - FirebaseCoreInternal (~> 12.4.0) + - FirebasePerformance (~> 12.6.0) + - FirebaseABTesting (12.6.0): + - FirebaseCore (~> 12.6.0) + - FirebaseCore (12.6.0): + - FirebaseCoreInternal (~> 12.6.0) - GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Logger (~> 8.1) - - FirebaseCoreExtension (12.4.0): - - FirebaseCore (~> 12.4.0) - - FirebaseCoreInternal (12.4.0): + - FirebaseCoreExtension (12.6.0): + - FirebaseCore (~> 12.6.0) + - FirebaseCoreInternal (12.6.0): - "GoogleUtilities/NSData+zlib (~> 8.1)" - - FirebaseCrashlytics (12.4.0): - - FirebaseCore (~> 12.4.0) - - FirebaseInstallations (~> 12.4.0) - - FirebaseRemoteConfigInterop (~> 12.4.0) - - FirebaseSessions (~> 12.4.0) + - FirebaseCrashlytics (12.6.0): + - FirebaseCore (~> 12.6.0) + - FirebaseInstallations (~> 12.6.0) + - FirebaseRemoteConfigInterop (~> 12.6.0) + - FirebaseSessions (~> 12.6.0) - GoogleDataTransport (~> 10.1) - GoogleUtilities/Environment (~> 8.1) - nanopb (~> 3.30910.0) - PromisesObjC (~> 2.4) - - FirebaseInstallations (12.4.0): - - FirebaseCore (~> 12.4.0) + - FirebaseInstallations (12.6.0): + - FirebaseCore (~> 12.6.0) - GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1) - PromisesObjC (~> 2.4) - - FirebasePerformance (12.4.0): - - FirebaseCore (~> 12.4.0) - - FirebaseInstallations (~> 12.4.0) - - FirebaseRemoteConfig (~> 12.4.0) - - FirebaseSessions (~> 12.4.0) + - FirebasePerformance (12.6.0): + - FirebaseCore (~> 12.6.0) + - FirebaseInstallations (~> 12.6.0) + - FirebaseRemoteConfig (~> 12.6.0) + - FirebaseSessions (~> 12.6.0) - GoogleDataTransport (~> 10.1) - GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/MethodSwizzler (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1) - nanopb (~> 3.30910.0) - - FirebaseRemoteConfig (12.4.0): - - FirebaseABTesting (~> 12.4.0) - - FirebaseCore (~> 12.4.0) - - FirebaseInstallations (~> 12.4.0) - - FirebaseRemoteConfigInterop (~> 12.4.0) - - FirebaseSharedSwift (~> 12.4.0) + - FirebaseRemoteConfig (12.6.0): + - FirebaseABTesting (~> 12.6.0) + - FirebaseCore (~> 12.6.0) + - FirebaseInstallations (~> 12.6.0) + - FirebaseRemoteConfigInterop (~> 12.6.0) + - FirebaseSharedSwift (~> 12.6.0) - GoogleUtilities/Environment (~> 8.1) - "GoogleUtilities/NSData+zlib (~> 8.1)" - - FirebaseRemoteConfigInterop (12.4.0) - - FirebaseSessions (12.4.0): - - FirebaseCore (~> 12.4.0) - - FirebaseCoreExtension (~> 12.4.0) - - FirebaseInstallations (~> 12.4.0) + - FirebaseRemoteConfigInterop (12.6.0) + - FirebaseSessions (12.6.0): + - FirebaseCore (~> 12.6.0) + - FirebaseCoreExtension (~> 12.6.0) + - FirebaseInstallations (~> 12.6.0) - GoogleDataTransport (~> 10.1) - GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/UserDefaults (~> 8.1) - nanopb (~> 3.30910.0) - PromisesSwift (~> 2.1) - - FirebaseSharedSwift (12.4.0) + - FirebaseSharedSwift (12.6.0) - GoogleDataTransport (10.1.0): - nanopb (~> 3.30910.0) - PromisesObjC (~> 2.4) @@ -2114,16 +2114,16 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - RNFBApp (23.5.0): - - Firebase/CoreOnly (= 12.4.0) + - RNFBApp (23.7.0): + - Firebase/CoreOnly (= 12.6.0) - React-Core - - RNFBCrashlytics (23.5.0): - - Firebase/Crashlytics (= 12.4.0) + - RNFBCrashlytics (23.7.0): + - Firebase/Crashlytics (= 12.6.0) - FirebaseCoreExtension - React-Core - RNFBApp - - RNFBPerf (23.5.0): - - Firebase/Performance (= 12.4.0) + - RNFBPerf (23.7.0): + - Firebase/Performance (= 12.6.0) - React-Core - RNFBApp - RNGestureHandler (2.28.0): @@ -2386,9 +2386,9 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - SDWebImage (5.21.3): - - SDWebImage/Core (= 5.21.3) - - SDWebImage/Core (5.21.3) + - SDWebImage (5.21.5): + - SDWebImage/Core (= 5.21.5) + - SDWebImage/Core (5.21.5) - SDWebImageAVIFCoder (0.11.1): - libavif/core (>= 0.11.0) - SDWebImage (~> 5.10) @@ -2778,7 +2778,7 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - EXConstants: c378c1b344ff1ecfbad27b90f0e48d1d0ead8cbb + EXConstants: fce59a631a06c4151602843667f7cfe35f81e271 EXImageLoader: 189e3476581efe3ad4d1d3fb4735b7179eb26f05 EXJSONUtils: 1d3e4590438c3ee593684186007028a14b3686cd EXManifests: a8d97683e5c7a3b026ffbd58559c64dc655b747b @@ -2787,42 +2787,42 @@ SPEC CHECKSUMS: expo-dev-launcher: 2559cd405f6e69bd1f1794b4756e46b7f0f648ef expo-dev-menu: cf3e52f2e4402e54e9a36a25c7b38569a82c2c54 expo-dev-menu-interface: 600df12ea01efecdd822daaf13cc0ac091775533 - ExpoAsset: 23a958e97d3d340919fe6774db35d563241e6c03 + ExpoAsset: f867e55ceb428aab99e1e8c082b5aee7c159ea18 ExpoBlur: b90747a3f22a8b6ceffd9cb0dc41a4184efdc656 ExpoCamera: 6a326deb45ba840749652e4c15198317aa78497e ExpoClipboard: b36b287d8356887844bb08ed5c84b5979bb4dd1e - ExpoFileSystem: 3592defb5faa3c5866a2900eae87ceec8cc0489f + ExpoFileSystem: 858a44267a3e6e9057e0888ad7c7cfbf55d52063 ExpoFont: 35ac6191ed86bbf56b3ebd2d9154eda9fad5b509 ExpoGlassEffect: 8ce45eca31f12e949e23a4ee13e2bfb59e9b0785 ExpoHaptics: d3a6375d8dcc3a1083d003bc2298ff654fafb536 - ExpoHead: 5611b33d6b983922d0233367ee6ab65633364dfd + ExpoHead: 9719a74953454fac328e90f34eea55ebbb3bbbf9 ExpoImage: 686f972bff29525733aa13357f6691dc90aa03d8 - ExpoImagePicker: e62bc7b6513d1fd0e098c907c64982fb953abb18 + ExpoImagePicker: 1af3e4e31512d2f34c95c2a3018a3edc40aee748 ExpoKeepAwake: 55f75eca6499bb9e4231ebad6f3e9cb8f99c0296 ExpoLinearGradient: 809102bdb979f590083af49f7fa4805cd931bd58 - ExpoLinking: f4c4a351523da72a6bfa7e1f4ca92aee1043a3ca + ExpoLinking: 8f0aaf69aa56f832913030503b6263dc6f647f37 ExpoLocalAuthentication: 8a31808565da7af926dd9b595e98594d8b1553b6 ExpoLocation: d5b61cb4970fa982e39ca94246a206a0c3b812ca ExpoModulesCore: 89597e00f491f8310cff4edc91b1f41b8e74a981 ExpoSecureStore: d32f751874a2ceb5aaeebeb3578e165c1ba2b24a - ExpoSplashScreen: 76af87337650d06926aa7d0157fe98b4fddca336 + ExpoSplashScreen: bc3cffefca2716e5f22350ca109badd7e50ec14d ExpoSymbols: 349ee2b4d7d5ff3ea8436467914f8a67635aa354 ExpoSystemUI: 2ad325f361a2fcd96a464e8574e19935c461c9cc ExpoWebBrowser: 17b064c621789e41d4816c95c93f429b84971f52 EXUpdatesInterface: 5adf50cb41e079c861da6d9b4b954c3db9a50734 FBLazyVector: e95a291ad2dadb88e42b06e0c5fb8262de53ec12 - Firebase: f07b15ae5a6ec0f93713e30b923d9970d144af3e - FirebaseABTesting: c05b5ec9f1d9f21a65909525de301d375032d9a4 - FirebaseCore: bb595f3114953664e3c1dc032f008a244147cfd3 - FirebaseCoreExtension: 7e1f7118ee970e001a8013719fb90950ee5e0018 - FirebaseCoreInternal: d7f5a043c2cd01a08103ab586587c1468047bca6 - FirebaseCrashlytics: a6ece278a837c7e88de2d9b5da0a3542f2342395 - FirebaseInstallations: ae9f4902cb5bf1d0c5eaa31ec1f4e5495a0714e2 - FirebasePerformance: ab6284808a5157a4c93a50d780803b8ccc36845f - FirebaseRemoteConfig: 28e071a214ec66cdb113ed9ff4ce63e9abe018db - FirebaseRemoteConfigInterop: 1e31ec72b89c9924367c59bfb5ec9ab60d1d6766 - FirebaseSessions: ba7c7a7ca8696a8d540eb3fe3800fbe98c79786d - FirebaseSharedSwift: 93426a1de92f19e1199fac5295a4f8df16458daa + Firebase: a451a7b61536298fd5cbfe3a746fd40443a50679 + FirebaseABTesting: 119f0a2b2e68b1ae05d248c5adb2455f148f20c1 + FirebaseCore: 0e38ad5d62d980a47a64b8e9301ffa311457be04 + FirebaseCoreExtension: 032fd6f8509e591fda8cb76f6651f20d926b121f + FirebaseCoreInternal: 69bf1306a05b8ac43004f6cc1f804bb7b05b229e + FirebaseCrashlytics: 3d6248c50726ee7832aef0e53cb84c9e64d9fa7e + FirebaseInstallations: 631b38da2e11a83daa4bfb482f79d286a5dfa7ad + FirebasePerformance: 9a73b170cefb06e5da537682e30f86c9865880c5 + FirebaseRemoteConfig: c5dfe22828a7ae7673d16224ea92743687e993df + FirebaseRemoteConfigInterop: 3443b8cb8fffd76bb3e03b2a84bfd3db952fcda4 + FirebaseSessions: 2e8f808347e665dff3e5843f275715f07045297d + FirebaseSharedSwift: 79f27fff0addd15c3de19b87fba426f3cc2c964f GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 hermes-engine: 9f4dfe93326146a1c99eb535b1cb0b857a3cd172 @@ -2902,15 +2902,15 @@ SPEC CHECKSUMS: ReactCommon: 08810150b1206cc44aecf5f6ae19af32f29151a8 ReactNativeDependencies: 71ce9c28beb282aa720ea7b46980fff9669f428a RNCAsyncStorage: c8407cc394627a3a4cf56b457d594bfa822b6ab8 - RNFBApp: 255fa19a91d6c1309e021ee75d5d209754e5961b - RNFBCrashlytics: ab632410ce1383051ac26ef44c966da651b7cf91 - RNFBPerf: 66843b59e5b078a5d5494b57ddf5858aff56cdbd + RNFBApp: 0c4cadae3900893d4631ea9a9effd14f853cd8e0 + RNFBCrashlytics: 70521bbf68b69c16273ab01f901e2439f231993a + RNFBPerf: b663b2eaa76360a1db8ffb463f9c24f0964529ae RNGestureHandler: c3831b3b1b5014c6afab7fff7e4171394a3419ab RNReanimated: 8315d083516a6690fcdb479b56fca8fabf65a73d RNScreens: 33bbd1d0f86ed957557620dc94054b71db0a94ee RNSVG: ac3047fdd9c0ebac9d0b731a352bddf216af6242 RNWorklets: 76fce72926e28e304afb44f0da23b2d24f2c1fa0 - SDWebImage: 16309af6d214ba3f77a7c6f6fdda888cb313a50a + SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838 SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57 SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380