diff --git a/ios/GoogleService-Info.plist b/ios/GoogleService-Info.plist
index 147bec8c2875..151e3c0cf8aa 100644
--- a/ios/GoogleService-Info.plist
+++ b/ios/GoogleService-Info.plist
@@ -6,6 +6,8 @@
921154746561-s3uqn2oe4m85tufi6mqflbfbuajrm2i3.apps.googleusercontent.com
REVERSED_CLIENT_ID
com.googleusercontent.apps.921154746561-s3uqn2oe4m85tufi6mqflbfbuajrm2i3
+ ANDROID_CLIENT_ID
+ 921154746561-cbegir0tnc2gan6k1gre5vtn75p60hom.apps.googleusercontent.com
API_KEY
AIzaSyA9Qn7q5Iw26gTzjI7012C4PaFrFagpC_I
GCM_SENDER_ID
diff --git a/ios/NewExpensify.xcodeproj/project.pbxproj b/ios/NewExpensify.xcodeproj/project.pbxproj
index 96baba0d4e87..2d899aa71286 100644
--- a/ios/NewExpensify.xcodeproj/project.pbxproj
+++ b/ios/NewExpensify.xcodeproj/project.pbxproj
@@ -18,13 +18,14 @@
0CDA8E38287DD6A0004ECBEC /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0CDA8E36287DD6A0004ECBEC /* Images.xcassets */; };
0DFC45942C884E0A00B56C91 /* RCTShortcutManagerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DFC45932C884E0A00B56C91 /* RCTShortcutManagerModule.m */; };
0DFC45952C884E0A00B56C91 /* RCTShortcutManagerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DFC45932C884E0A00B56C91 /* RCTShortcutManagerModule.m */; };
- 0F5BE0CE252686330097D869 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 0F5BE0CD252686320097D869 /* GoogleService-Info.plist */; };
+ 0E3F02CF423E92A3E64B3B08 /* Pods_NewExpensify_NewExpensifyTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CFD52E6BD0A981FAEF4EDCA7 /* Pods_NewExpensify_NewExpensifyTests.framework */; };
0F5E5350263B73FD004CA14F /* EnvironmentChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F5E534F263B73FD004CA14F /* EnvironmentChecker.m */; };
0F5E5351263B73FD004CA14F /* EnvironmentChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F5E534F263B73FD004CA14F /* EnvironmentChecker.m */; };
1246A3EF20E54E7A9494C8B9 /* ExpensifyNeue-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = F4F8A052A22040339996324B /* ExpensifyNeue-Regular.otf */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
18D050E0262400AF000D658B /* BridgingFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18D050DF262400AF000D658B /* BridgingFile.swift */; };
26AF3C3540374A9FACB6C19E /* ExpensifyMono-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DCF33E34FFEC48128CDD41D4 /* ExpensifyMono-Bold.otf */; };
+ 29E295BC1626FF150BCCCB6F /* Pods_NotificationServiceExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0994C4AFA62AA92D28CEF808 /* Pods_NotificationServiceExtension.framework */; };
2A9F8CDA983746B0B9204209 /* ExpensifyNeue-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 52796131E6554494B2DDB056 /* ExpensifyNeue-Bold.otf */; };
30581EA8AAFD4FCE88C5D191 /* ExpensifyNeue-Italic.otf in Resources */ = {isa = PBXBuildFile; fileRef = BF6A4C5167244B9FB8E4D4E3 /* ExpensifyNeue-Italic.otf */; };
374FB8D728A133FE000D84EF /* OriginImageRequestHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 374FB8D628A133FE000D84EF /* OriginImageRequestHandler.mm */; };
@@ -32,13 +33,14 @@
7041848526A8E47D00E09F4D /* RCTStartupTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7041848426A8E47D00E09F4D /* RCTStartupTimer.m */; };
7041848626A8E47D00E09F4D /* RCTStartupTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7041848426A8E47D00E09F4D /* RCTStartupTimer.m */; };
70CF6E82262E297300711ADC /* BootSplash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 70CF6E81262E297300711ADC /* BootSplash.storyboard */; };
+ 7ADB1916B785E8E869F53FF0 /* Pods_NewExpensify.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F472D227EC6AF301F11C0BC7 /* Pods_NewExpensify.framework */; };
7F5E81F06BCCF61AD02CEA06 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCD444BEDDB0AF1745B39049 /* ExpoModulesProvider.swift */; };
7F9DD8DA2B2A445B005E3AFA /* ExpError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9DD8D92B2A445B005E3AFA /* ExpError.swift */; };
+ 7FB680AE2CC94EDA006693CF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7FB680AD2CC94EDA006693CF /* GoogleService-Info.plist */; };
+ 7FB680AF2CC94EDA006693CF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7FB680AD2CC94EDA006693CF /* GoogleService-Info.plist */; };
+ 7FB680B02CC94EDA006693CF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7FB680AD2CC94EDA006693CF /* GoogleService-Info.plist */; };
7FD73C9E2B23CE9500420AF3 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FD73C9D2B23CE9500420AF3 /* NotificationService.swift */; };
7FD73CA22B23CE9500420AF3 /* NotificationServiceExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 7FD73C9B2B23CE9500420AF3 /* NotificationServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
- 8744C5400E24E379441C04A4 /* libPods-NewExpensify.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 59A21B2405370FDDD847C813 /* libPods-NewExpensify.a */; };
- 9E17CB36A6B22BDD4BE53561 /* libPods-NotificationServiceExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9196A72C11B91A52A43D6E8A /* libPods-NotificationServiceExtension.a */; };
- ACA597C323AA39404655647F /* libPods-NewExpensify-NewExpensifyTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EF33B19FC6A7FE676839430D /* libPods-NewExpensify-NewExpensifyTests.a */; };
BDB853621F354EBB84E619C2 /* ExpensifyNewKansas-MediumItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = D2AFB39EC1D44BF9B91D3227 /* ExpensifyNewKansas-MediumItalic.otf */; };
D27CE6B77196EF3EF450EEAC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 0D3F9E814828D91464DF9D35 /* PrivacyInfo.xcprivacy */; };
DD79042B2792E76D004484B4 /* RCTBootSplash.mm in Sources */ = {isa = PBXBuildFile; fileRef = DD79042A2792E76D004484B4 /* RCTBootSplash.mm */; };
@@ -89,12 +91,12 @@
083353E82B5AB22900C603C0 /* done.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = done.mp3; path = ../assets/sounds/done.mp3; sourceTree = ""; };
083353E92B5AB22900C603C0 /* receive.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = receive.mp3; path = ../assets/sounds/receive.mp3; sourceTree = ""; };
083353EA2B5AB22900C603C0 /* success.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = success.mp3; path = ../assets/sounds/success.mp3; sourceTree = ""; };
+ 0994C4AFA62AA92D28CEF808 /* Pods_NotificationServiceExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NotificationServiceExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; };
0CDA8E33287DD650004ECBEC /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = NewExpensify/AppDelegate.mm; sourceTree = ""; };
0CDA8E36287DD6A0004ECBEC /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = NewExpensify/Images.xcassets; sourceTree = ""; };
0D3F9E814828D91464DF9D35 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = NewExpensify/PrivacyInfo.xcprivacy; sourceTree = ""; };
0DFC45922C884D7900B56C91 /* RCTShortcutManagerModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RCTShortcutManagerModule.h; sourceTree = ""; };
0DFC45932C884E0A00B56C91 /* RCTShortcutManagerModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RCTShortcutManagerModule.m; sourceTree = ""; };
- 0F5BE0CD252686320097D869 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; };
0F5E534E263B73D5004CA14F /* EnvironmentChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EnvironmentChecker.h; sourceTree = ""; };
0F5E534F263B73FD004CA14F /* EnvironmentChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EnvironmentChecker.m; sourceTree = ""; };
13B07F961A680F5B00A75B9A /* New Expensify Dev.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "New Expensify Dev.app"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -119,7 +121,6 @@
4A39BBFB1A6AA6A0EB08878C /* Pods-NotificationServiceExtension.debugproduction.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationServiceExtension.debugproduction.xcconfig"; path = "Target Support Files/Pods-NotificationServiceExtension/Pods-NotificationServiceExtension.debugproduction.xcconfig"; sourceTree = ""; };
4D20D83B0E39BA6D21761E72 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-NewExpensify/ExpoModulesProvider.swift"; sourceTree = ""; };
52796131E6554494B2DDB056 /* ExpensifyNeue-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNeue-Bold.otf"; path = "../assets/fonts/native/ExpensifyNeue-Bold.otf"; sourceTree = ""; };
- 59A21B2405370FDDD847C813 /* libPods-NewExpensify.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NewExpensify.a"; sourceTree = BUILT_PRODUCTS_DIR; };
687A6DD50C2B5D0DC530C207 /* Pods-NewExpensify-NewExpensifyTests.releasedevelopment.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.releasedevelopment.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.releasedevelopment.xcconfig"; sourceTree = ""; };
7041848326A8E40900E09F4D /* RCTStartupTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RCTStartupTimer.h; path = NewExpensify/RCTStartupTimer.h; sourceTree = ""; };
7041848426A8E47D00E09F4D /* RCTStartupTimer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RCTStartupTimer.m; path = NewExpensify/RCTStartupTimer.m; sourceTree = ""; };
@@ -133,17 +134,18 @@
7F3784A72C75131000063508 /* NewExpensifyReleaseProduction.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = NewExpensifyReleaseProduction.entitlements; path = NewExpensify/NewExpensifyReleaseProduction.entitlements; sourceTree = ""; };
7F9C91352CA5EC4900FC4DC1 /* NotificationServiceExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = NotificationServiceExtension.entitlements; sourceTree = ""; };
7F9DD8D92B2A445B005E3AFA /* ExpError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExpError.swift; sourceTree = ""; };
+ 7FB680AD2CC94EDA006693CF /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; };
7FD73C9B2B23CE9500420AF3 /* NotificationServiceExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = NotificationServiceExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
7FD73C9D2B23CE9500420AF3 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; };
7FD73C9F2B23CE9500420AF3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
8B28D84EF339436DBD42A203 /* ExpensifyNeue-BoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNeue-BoldItalic.otf"; path = "../assets/fonts/native/ExpensifyNeue-BoldItalic.otf"; sourceTree = ""; };
8EFE0319D586C1078DB926FD /* Pods-NewExpensify.releaseadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify.releaseadhoc.xcconfig"; path = "Target Support Files/Pods-NewExpensify/Pods-NewExpensify.releaseadhoc.xcconfig"; sourceTree = ""; };
- 9196A72C11B91A52A43D6E8A /* libPods-NotificationServiceExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NotificationServiceExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; };
BBE493797E97F2995E627244 /* Pods-NotificationServiceExtension.debugadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationServiceExtension.debugadhoc.xcconfig"; path = "Target Support Files/Pods-NotificationServiceExtension/Pods-NotificationServiceExtension.debugadhoc.xcconfig"; sourceTree = ""; };
BCD444BEDDB0AF1745B39049 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-NewExpensify-NewExpensifyTests/ExpoModulesProvider.swift"; sourceTree = ""; };
BF6A4C5167244B9FB8E4D4E3 /* ExpensifyNeue-Italic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNeue-Italic.otf"; path = "../assets/fonts/native/ExpensifyNeue-Italic.otf"; sourceTree = ""; };
C0417E996D1C834CDF0BF0F7 /* Pods-NewExpensify-NewExpensifyTests.debugadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.debugadhoc.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.debugadhoc.xcconfig"; sourceTree = ""; };
CA5677EEAC9784567B912881 /* Pods-NewExpensify-NewExpensifyTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.debug.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.debug.xcconfig"; sourceTree = ""; };
+ CFD52E6BD0A981FAEF4EDCA7 /* Pods_NewExpensify_NewExpensifyTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NewExpensify_NewExpensifyTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D2AFB39EC1D44BF9B91D3227 /* ExpensifyNewKansas-MediumItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNewKansas-MediumItalic.otf"; path = "../assets/fonts/native/ExpensifyNewKansas-MediumItalic.otf"; sourceTree = ""; };
D7C206AC464C89FB4899E0AD /* Pods-NotificationServiceExtension.releasedevelopment.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationServiceExtension.releasedevelopment.xcconfig"; path = "Target Support Files/Pods-NotificationServiceExtension/Pods-NotificationServiceExtension.releasedevelopment.xcconfig"; sourceTree = ""; };
D846D749FDDC2C914007C87D /* Pods-NewExpensify-NewExpensifyTests.releaseadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.releaseadhoc.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.releaseadhoc.xcconfig"; sourceTree = ""; };
@@ -155,9 +157,9 @@
E9DF872C2525201700607FDC /* AirshipConfig.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = AirshipConfig.plist; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
- EF33B19FC6A7FE676839430D /* libPods-NewExpensify-NewExpensifyTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NewExpensify-NewExpensifyTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
EFA5CA89CC675CA3370CF89E /* Pods-NewExpensify.debugproduction.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify.debugproduction.xcconfig"; path = "Target Support Files/Pods-NewExpensify/Pods-NewExpensify.debugproduction.xcconfig"; sourceTree = ""; };
F0C450E92705020500FD2970 /* colors.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = colors.json; path = ../colors.json; sourceTree = ""; };
+ F472D227EC6AF301F11C0BC7 /* Pods_NewExpensify.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NewExpensify.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F4F8A052A22040339996324B /* ExpensifyNeue-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNeue-Regular.otf"; path = "../assets/fonts/native/ExpensifyNeue-Regular.otf"; sourceTree = ""; };
F8839E9820F4C312BD1C9339 /* Pods-NewExpensify.releasedevelopment.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify.releasedevelopment.xcconfig"; path = "Target Support Files/Pods-NewExpensify/Pods-NewExpensify.releasedevelopment.xcconfig"; sourceTree = ""; };
/* End PBXFileReference section */
@@ -167,7 +169,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- ACA597C323AA39404655647F /* libPods-NewExpensify-NewExpensifyTests.a in Frameworks */,
+ 0E3F02CF423E92A3E64B3B08 /* Pods_NewExpensify_NewExpensifyTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -176,9 +178,7 @@
buildActionMask = 2147483647;
files = (
383643682B6D4AE2005BB9AE /* DeviceCheck.framework in Frameworks */,
- E51DC681C7DEE40AEBDDFBFE /* BuildFile in Frameworks */,
- E51DC681C7DEE40AEBDDFBFE /* BuildFile in Frameworks */,
- 8744C5400E24E379441C04A4 /* libPods-NewExpensify.a in Frameworks */,
+ 7ADB1916B785E8E869F53FF0 /* Pods_NewExpensify.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -186,7 +186,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 9E17CB36A6B22BDD4BE53561 /* libPods-NotificationServiceExtension.a in Frameworks */,
+ 29E295BC1626FF150BCCCB6F /* Pods_NotificationServiceExtension.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -212,13 +212,13 @@
13B07FAE1A68108700A75B9A /* NewExpensify */ = {
isa = PBXGroup;
children = (
+ 7FB680AD2CC94EDA006693CF /* GoogleService-Info.plist */,
7F3784A72C75131000063508 /* NewExpensifyReleaseProduction.entitlements */,
7F3784A62C7512D900063508 /* NewExpensifyReleaseAdHoc.entitlements */,
7F3784A52C7512CF00063508 /* NewExpensifyReleaseDevelopment.entitlements */,
7F3784A42C7512BF00063508 /* NewExpensifyDebugProduction.entitlements */,
7F3784A32C75129D00063508 /* NewExpensifyDebugAdHoc.entitlements */,
7F3784A22C75103800063508 /* NewExpensifyDebugDevelopment.entitlements */,
- 0F5BE0CD252686320097D869 /* GoogleService-Info.plist */,
E9DF872C2525201700607FDC /* AirshipConfig.plist */,
0CDA8E36287DD6A0004ECBEC /* Images.xcassets */,
008F07F21AC5B25A0029DE68 /* main.jsbundle */,
@@ -240,9 +240,9 @@
383643672B6D4AE2005BB9AE /* DeviceCheck.framework */,
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
- 59A21B2405370FDDD847C813 /* libPods-NewExpensify.a */,
- EF33B19FC6A7FE676839430D /* libPods-NewExpensify-NewExpensifyTests.a */,
- 9196A72C11B91A52A43D6E8A /* libPods-NotificationServiceExtension.a */,
+ F472D227EC6AF301F11C0BC7 /* Pods_NewExpensify.framework */,
+ CFD52E6BD0A981FAEF4EDCA7 /* Pods_NewExpensify_NewExpensifyTests.framework */,
+ 0994C4AFA62AA92D28CEF808 /* Pods_NotificationServiceExtension.framework */,
);
name = Frameworks;
sourceTree = "";
@@ -500,6 +500,7 @@
buildActionMask = 2147483647;
files = (
0CDA8E38287DD6A0004ECBEC /* Images.xcassets in Resources */,
+ 7FB680B02CC94EDA006693CF /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -507,7 +508,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0F5BE0CE252686330097D869 /* GoogleService-Info.plist in Resources */,
E9DF872D2525201700607FDC /* AirshipConfig.plist in Resources */,
F0C450EA2705020500FD2970 /* colors.json in Resources */,
083353EB2B5AB22A00C603C0 /* attention.mp3 in Resources */,
@@ -519,6 +519,7 @@
083353EE2B5AB22A00C603C0 /* success.mp3 in Resources */,
0C7C65547D7346EB923BE808 /* ExpensifyMono-Regular.otf in Resources */,
2A9F8CDA983746B0B9204209 /* ExpensifyNeue-Bold.otf in Resources */,
+ 7FB680AE2CC94EDA006693CF /* GoogleService-Info.plist in Resources */,
083353EC2B5AB22A00C603C0 /* done.mp3 in Resources */,
083353ED2B5AB22A00C603C0 /* receive.mp3 in Resources */,
ED222ED90E074A5481A854FA /* ExpensifyNeue-BoldItalic.otf in Resources */,
@@ -532,6 +533,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 7FB680AF2CC94EDA006693CF /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -626,12 +628,20 @@
"${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipCoreResources.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipMessageCenterResources.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/AppAuth/AppAuthCore_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting/FirebaseABTesting_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension/FirebaseCoreExtension_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal/FirebaseCoreInternal_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig/FirebaseRemoteConfig_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth/GTMAppAuth_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher/GTMSessionFetcher_Core_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GoogleSignIn/GoogleSignIn.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/PromisesSwift/Promises_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle",
"${PODS_ROOT}/../../node_modules/@expensify/react-native-live-markdown/parser/react-native-live-markdown-parser.js",
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle",
@@ -639,6 +649,7 @@
"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb_Privacy.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
@@ -646,12 +657,20 @@
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipCoreResources.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipMessageCenterResources.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppAuthCore_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseABTesting_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseCore_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseCoreExtension_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseCoreInternal_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseCrashlytics_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseInstallations_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseRemoteConfig_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMAppAuth_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMSessionFetcher_Core_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleDataTransport_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleUtilities_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FBLPromises_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Promises_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/react-native-live-markdown-parser.js",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle",
@@ -659,6 +678,7 @@
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/nanopb_Privacy.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -803,7 +823,7 @@
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 -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 -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n _JSON_OUTPUT_BASE64=$(python -c 'import json,sys,base64;print(base64.b64encode(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"').read())['${_JSON_ROOT}'])))' || 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.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 = "#!/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 \"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_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 \"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";
};
A2BE84E8C8EFD6C81A2B41F1 /* [CP-User] [RNFB] Crashlytics Configuration */ = {
isa = PBXShellScriptBuildPhase;
@@ -812,7 +832,7 @@
);
inputPaths = (
"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}",
- "$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
+ "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
);
name = "[CP-User] [RNFB] Crashlytics Configuration";
runOnlyForDeploymentPostprocessing = 0;
@@ -830,12 +850,20 @@
"${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipCoreResources.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipMessageCenterResources.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/AppAuth/AppAuthCore_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting/FirebaseABTesting_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension/FirebaseCoreExtension_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal/FirebaseCoreInternal_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig/FirebaseRemoteConfig_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth/GTMAppAuth_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher/GTMSessionFetcher_Core_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GoogleSignIn/GoogleSignIn.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises_Privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/PromisesSwift/Promises_Privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle",
"${PODS_ROOT}/../../node_modules/@expensify/react-native-live-markdown/parser/react-native-live-markdown-parser.js",
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle",
@@ -843,6 +871,7 @@
"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb_Privacy.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
@@ -850,12 +879,20 @@
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipCoreResources.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipMessageCenterResources.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppAuthCore_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseABTesting_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseCore_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseCoreExtension_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseCoreInternal_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseCrashlytics_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseInstallations_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FirebaseRemoteConfig_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMAppAuth_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMSessionFetcher_Core_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleDataTransport_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleUtilities_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FBLPromises_Privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Promises_Privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/react-native-live-markdown-parser.js",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle",
@@ -863,6 +900,7 @@
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/nanopb_Privacy.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1051,6 +1089,17 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD = "";
LDPLUSPLUS = "";
@@ -1867,6 +1916,17 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD = "";
LDPLUSPLUS = "";
@@ -1940,6 +2000,17 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD = "";
LDPLUSPLUS = "";
@@ -2021,6 +2092,17 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD = "";
LDPLUSPLUS = "";
@@ -2170,6 +2252,17 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD = "";
LDPLUSPLUS = "";
@@ -2312,6 +2405,17 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD = "";
LDPLUSPLUS = "";
@@ -2451,6 +2555,17 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD = "";
LDPLUSPLUS = "";
diff --git a/ios/NewExpensify.xcodeproj/xcshareddata/xcschemes/New Expensify Dev.xcscheme b/ios/NewExpensify.xcodeproj/xcshareddata/xcschemes/New Expensify Dev.xcscheme
index 93d775217f11..9de4833e7274 100644
--- a/ios/NewExpensify.xcodeproj/xcshareddata/xcschemes/New Expensify Dev.xcscheme
+++ b/ios/NewExpensify.xcodeproj/xcshareddata/xcschemes/New Expensify Dev.xcscheme
@@ -60,6 +60,12 @@
ReferencedContainer = "container:NewExpensify.xcodeproj">
+
+
+
+
linkage.to_sym
-end
+# linkage = ENV['USE_FRAMEWORKS']
+# if linkage != nil
+# Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
+# use_frameworks! :linkage => linkage.to_sym
+# end
+ENV['USE_FRAMEWORKS'] == '1'
+use_frameworks! :linkage => :static
+$RNFirebaseAsStaticFramework = true
# Force pods to match minimum iOS version for React Native
# Fixes build issue on Xcode Cloud where some pods
@@ -113,6 +116,11 @@ target 'NewExpensify' do
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
end
end
+
+ # Define USE_FRAMEWORKS macro for all pods projects to enable our patches that fix some build issues
+ target.build_configurations.each do |config|
+ config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'USE_FRAMEWORKS=1']
+ end
end
end
end
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 1242ab7a5a39..2bb952358e67 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -73,75 +73,90 @@ PODS:
- ReactCommon/turbomodule/core
- Yoga
- FBLazyVector (0.75.2)
- - Firebase/Analytics (8.8.0):
+ - Firebase/Analytics (11.3.0):
- Firebase/Core
- - Firebase/Core (8.8.0):
+ - Firebase/Core (11.3.0):
- Firebase/CoreOnly
- - FirebaseAnalytics (~> 8.8.0)
- - Firebase/CoreOnly (8.8.0):
- - FirebaseCore (= 8.8.0)
- - Firebase/Crashlytics (8.8.0):
+ - FirebaseAnalytics (~> 11.3.0)
+ - Firebase/CoreOnly (11.3.0):
+ - FirebaseCore (= 11.3.0)
+ - Firebase/Crashlytics (11.3.0):
- Firebase/CoreOnly
- - FirebaseCrashlytics (~> 8.8.0)
- - Firebase/Performance (8.8.0):
+ - FirebaseCrashlytics (~> 11.3.0)
+ - Firebase/Performance (11.3.0):
- Firebase/CoreOnly
- - FirebasePerformance (~> 8.8.0)
- - FirebaseABTesting (8.15.0):
- - FirebaseCore (~> 8.0)
- - FirebaseAnalytics (8.8.0):
- - FirebaseAnalytics/AdIdSupport (= 8.8.0)
- - FirebaseCore (~> 8.0)
- - FirebaseInstallations (~> 8.0)
- - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
- - GoogleUtilities/MethodSwizzler (~> 7.4)
- - GoogleUtilities/Network (~> 7.4)
- - "GoogleUtilities/NSData+zlib (~> 7.4)"
- - nanopb (~> 2.30908.0)
- - FirebaseAnalytics/AdIdSupport (8.8.0):
- - FirebaseCore (~> 8.0)
- - FirebaseInstallations (~> 8.0)
- - GoogleAppMeasurement (= 8.8.0)
- - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
- - GoogleUtilities/MethodSwizzler (~> 7.4)
- - GoogleUtilities/Network (~> 7.4)
- - "GoogleUtilities/NSData+zlib (~> 7.4)"
- - nanopb (~> 2.30908.0)
- - FirebaseCore (8.8.0):
- - FirebaseCoreDiagnostics (~> 8.0)
- - GoogleUtilities/Environment (~> 7.4)
- - GoogleUtilities/Logger (~> 7.4)
- - FirebaseCoreDiagnostics (8.15.0):
- - GoogleDataTransport (~> 9.1)
- - GoogleUtilities/Environment (~> 7.7)
- - GoogleUtilities/Logger (~> 7.7)
- - nanopb (~> 2.30908.0)
- - FirebaseCrashlytics (8.8.0):
- - FirebaseCore (~> 8.0)
- - FirebaseInstallations (~> 8.0)
- - GoogleDataTransport (~> 9.0)
- - GoogleUtilities/Environment (~> 7.4)
- - nanopb (~> 2.30908.0)
- - PromisesObjC (< 3.0, >= 1.2)
- - FirebaseInstallations (8.15.0):
- - FirebaseCore (~> 8.0)
- - GoogleUtilities/Environment (~> 7.7)
- - GoogleUtilities/UserDefaults (~> 7.7)
- - PromisesObjC (< 3.0, >= 1.2)
- - FirebasePerformance (8.8.0):
- - FirebaseCore (~> 8.0)
- - FirebaseInstallations (~> 8.0)
- - FirebaseRemoteConfig (~> 8.0)
- - GoogleDataTransport (~> 9.0)
- - GoogleUtilities/Environment (~> 7.4)
- - GoogleUtilities/ISASwizzler (~> 7.4)
- - GoogleUtilities/MethodSwizzler (~> 7.4)
- - nanopb (~> 2.30908.0)
- - FirebaseRemoteConfig (8.15.0):
- - FirebaseABTesting (~> 8.0)
- - FirebaseCore (~> 8.0)
- - FirebaseInstallations (~> 8.0)
- - GoogleUtilities/Environment (~> 7.7)
- - "GoogleUtilities/NSData+zlib (~> 7.7)"
+ - FirebasePerformance (~> 11.3.0)
+ - FirebaseABTesting (11.4.0):
+ - FirebaseCore (~> 11.0)
+ - FirebaseAnalytics (11.3.0):
+ - FirebaseAnalytics/AdIdSupport (= 11.3.0)
+ - FirebaseCore (~> 11.0)
+ - FirebaseInstallations (~> 11.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
+ - GoogleUtilities/MethodSwizzler (~> 8.0)
+ - GoogleUtilities/Network (~> 8.0)
+ - "GoogleUtilities/NSData+zlib (~> 8.0)"
+ - nanopb (~> 3.30910.0)
+ - FirebaseAnalytics/AdIdSupport (11.3.0):
+ - FirebaseCore (~> 11.0)
+ - FirebaseInstallations (~> 11.0)
+ - GoogleAppMeasurement (= 11.3.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
+ - GoogleUtilities/MethodSwizzler (~> 8.0)
+ - GoogleUtilities/Network (~> 8.0)
+ - "GoogleUtilities/NSData+zlib (~> 8.0)"
+ - nanopb (~> 3.30910.0)
+ - FirebaseCore (11.3.0):
+ - FirebaseCoreInternal (~> 11.0)
+ - GoogleUtilities/Environment (~> 8.0)
+ - GoogleUtilities/Logger (~> 8.0)
+ - FirebaseCoreExtension (11.4.1):
+ - FirebaseCore (~> 11.0)
+ - FirebaseCoreInternal (11.4.2):
+ - "GoogleUtilities/NSData+zlib (~> 8.0)"
+ - FirebaseCrashlytics (11.3.0):
+ - FirebaseCore (~> 11.0)
+ - FirebaseInstallations (~> 11.0)
+ - FirebaseRemoteConfigInterop (~> 11.0)
+ - FirebaseSessions (~> 11.0)
+ - GoogleDataTransport (~> 10.0)
+ - GoogleUtilities/Environment (~> 8.0)
+ - nanopb (~> 3.30910.0)
+ - PromisesObjC (~> 2.4)
+ - FirebaseInstallations (11.4.0):
+ - FirebaseCore (~> 11.0)
+ - GoogleUtilities/Environment (~> 8.0)
+ - GoogleUtilities/UserDefaults (~> 8.0)
+ - PromisesObjC (~> 2.4)
+ - FirebasePerformance (11.3.0):
+ - FirebaseCore (~> 11.0)
+ - FirebaseInstallations (~> 11.0)
+ - FirebaseRemoteConfig (~> 11.0)
+ - FirebaseSessions (~> 11.0)
+ - GoogleDataTransport (~> 10.0)
+ - GoogleUtilities/Environment (~> 8.0)
+ - GoogleUtilities/MethodSwizzler (~> 8.0)
+ - GoogleUtilities/UserDefaults (~> 8.0)
+ - nanopb (~> 3.30910.0)
+ - FirebaseRemoteConfig (11.4.0):
+ - FirebaseABTesting (~> 11.0)
+ - FirebaseCore (~> 11.0)
+ - FirebaseInstallations (~> 11.0)
+ - FirebaseRemoteConfigInterop (~> 11.0)
+ - FirebaseSharedSwift (~> 11.0)
+ - GoogleUtilities/Environment (~> 8.0)
+ - "GoogleUtilities/NSData+zlib (~> 8.0)"
+ - FirebaseRemoteConfigInterop (11.4.0)
+ - FirebaseSessions (11.3.0):
+ - FirebaseCore (~> 11.0)
+ - FirebaseCoreExtension (~> 11.0)
+ - FirebaseInstallations (~> 11.0)
+ - GoogleDataTransport (~> 10.0)
+ - GoogleUtilities/Environment (~> 8.0)
+ - GoogleUtilities/UserDefaults (~> 8.0)
+ - nanopb (~> 3.30910.0)
+ - PromisesSwift (~> 2.1)
+ - FirebaseSharedSwift (11.4.0)
- fmt (9.1.0)
- FullStory (1.52.0)
- fullstory_react-native (1.7.1):
@@ -167,62 +182,58 @@ PODS:
- ReactCommon/turbomodule/core
- Yoga
- glog (0.3.5)
- - GoogleAppMeasurement (8.8.0):
- - GoogleAppMeasurement/AdIdSupport (= 8.8.0)
- - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
- - GoogleUtilities/MethodSwizzler (~> 7.4)
- - GoogleUtilities/Network (~> 7.4)
- - "GoogleUtilities/NSData+zlib (~> 7.4)"
- - nanopb (~> 2.30908.0)
- - GoogleAppMeasurement/AdIdSupport (8.8.0):
- - GoogleAppMeasurement/WithoutAdIdSupport (= 8.8.0)
- - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
- - GoogleUtilities/MethodSwizzler (~> 7.4)
- - GoogleUtilities/Network (~> 7.4)
- - "GoogleUtilities/NSData+zlib (~> 7.4)"
- - nanopb (~> 2.30908.0)
- - GoogleAppMeasurement/WithoutAdIdSupport (8.8.0):
- - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
- - GoogleUtilities/MethodSwizzler (~> 7.4)
- - GoogleUtilities/Network (~> 7.4)
- - "GoogleUtilities/NSData+zlib (~> 7.4)"
- - nanopb (~> 2.30908.0)
- - GoogleDataTransport (9.4.1):
- - GoogleUtilities/Environment (~> 7.7)
- - nanopb (< 2.30911.0, >= 2.30908.0)
- - PromisesObjC (< 3.0, >= 1.2)
+ - GoogleAppMeasurement (11.3.0):
+ - GoogleAppMeasurement/AdIdSupport (= 11.3.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
+ - GoogleUtilities/MethodSwizzler (~> 8.0)
+ - GoogleUtilities/Network (~> 8.0)
+ - "GoogleUtilities/NSData+zlib (~> 8.0)"
+ - nanopb (~> 3.30910.0)
+ - GoogleAppMeasurement/AdIdSupport (11.3.0):
+ - GoogleAppMeasurement/WithoutAdIdSupport (= 11.3.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
+ - GoogleUtilities/MethodSwizzler (~> 8.0)
+ - GoogleUtilities/Network (~> 8.0)
+ - "GoogleUtilities/NSData+zlib (~> 8.0)"
+ - nanopb (~> 3.30910.0)
+ - GoogleAppMeasurement/WithoutAdIdSupport (11.3.0):
+ - GoogleUtilities/AppDelegateSwizzler (~> 8.0)
+ - GoogleUtilities/MethodSwizzler (~> 8.0)
+ - GoogleUtilities/Network (~> 8.0)
+ - "GoogleUtilities/NSData+zlib (~> 8.0)"
+ - nanopb (~> 3.30910.0)
+ - GoogleDataTransport (10.1.0):
+ - nanopb (~> 3.30910.0)
+ - PromisesObjC (~> 2.4)
- GoogleSignIn (7.1.0):
- AppAuth (< 2.0, >= 1.7.3)
- GTMAppAuth (< 5.0, >= 4.1.1)
- GTMSessionFetcher/Core (~> 3.3)
- - GoogleUtilities/AppDelegateSwizzler (7.13.3):
+ - GoogleUtilities/AppDelegateSwizzler (8.0.2):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Privacy
- - GoogleUtilities/Environment (7.13.3):
+ - GoogleUtilities/Environment (8.0.2):
- GoogleUtilities/Privacy
- - PromisesObjC (< 3.0, >= 1.2)
- - GoogleUtilities/ISASwizzler (7.13.3):
- - GoogleUtilities/Privacy
- - GoogleUtilities/Logger (7.13.3):
+ - GoogleUtilities/Logger (8.0.2):
- GoogleUtilities/Environment
- GoogleUtilities/Privacy
- - GoogleUtilities/MethodSwizzler (7.13.3):
+ - GoogleUtilities/MethodSwizzler (8.0.2):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- - GoogleUtilities/Network (7.13.3):
+ - GoogleUtilities/Network (8.0.2):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Privacy
- GoogleUtilities/Reachability
- - "GoogleUtilities/NSData+zlib (7.13.3)":
+ - "GoogleUtilities/NSData+zlib (8.0.2)":
- GoogleUtilities/Privacy
- - GoogleUtilities/Privacy (7.13.3)
- - GoogleUtilities/Reachability (7.13.3):
+ - GoogleUtilities/Privacy (8.0.2)
+ - GoogleUtilities/Reachability (8.0.2):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- - GoogleUtilities/UserDefaults (7.13.3):
+ - GoogleUtilities/UserDefaults (8.0.2):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GTMAppAuth (4.1.1):
@@ -281,11 +292,11 @@ PODS:
- MapboxMobileEvents (= 1.0.10)
- Turf (= 2.8.0)
- MapboxMobileEvents (1.0.10)
- - nanopb (2.30908.0):
- - nanopb/decode (= 2.30908.0)
- - nanopb/encode (= 2.30908.0)
- - nanopb/decode (2.30908.0)
- - nanopb/encode (2.30908.0)
+ - nanopb (3.30910.0):
+ - nanopb/decode (= 3.30910.0)
+ - nanopb/encode (= 3.30910.0)
+ - nanopb/decode (3.30910.0)
+ - nanopb/encode (3.30910.0)
- Onfido (29.7.2)
- onfido-react-native-sdk (10.6.0):
- DoubleConversion
@@ -311,6 +322,8 @@ PODS:
- Yoga
- Plaid (5.6.0)
- PromisesObjC (2.4.0)
+ - PromisesSwift (2.4.0):
+ - PromisesObjC (= 2.4.0)
- RCT-Folly (2024.01.01.00):
- boost
- DoubleConversion
@@ -2311,19 +2324,20 @@ PODS:
- React-Core
- React-Core/DevSupport
- React-RCTNetwork
- - RNFBAnalytics (12.9.3):
- - Firebase/Analytics (= 8.8.0)
+ - RNFBAnalytics (21.1.0):
+ - Firebase/Analytics (= 11.3.0)
- React-Core
- RNFBApp
- - RNFBApp (12.9.3):
- - Firebase/CoreOnly (= 8.8.0)
+ - RNFBApp (21.1.0):
+ - Firebase/CoreOnly (= 11.3.0)
- React-Core
- - RNFBCrashlytics (12.9.3):
- - Firebase/Crashlytics (= 8.8.0)
+ - RNFBCrashlytics (21.1.0):
+ - Firebase/Crashlytics (= 11.3.0)
+ - FirebaseCoreExtension
- React-Core
- RNFBApp
- - RNFBPerf (12.9.3):
- - Firebase/Performance (= 8.8.0)
+ - RNFBPerf (21.1.0):
+ - Firebase/Performance (= 11.3.0)
- React-Core
- RNFBApp
- RNFlashList (1.7.1):
@@ -2383,6 +2397,7 @@ PODS:
- React-Core
- React-debug
- React-Fabric
+ - React-FabricComponents
- React-featureflags
- React-graphics
- React-ImageManager
@@ -2405,6 +2420,7 @@ PODS:
- React-Core
- React-debug
- React-Fabric
+ - React-FabricComponents
- React-featureflags
- React-graphics
- React-ImageManager
@@ -2832,11 +2848,15 @@ SPEC REPOS:
- FirebaseABTesting
- FirebaseAnalytics
- FirebaseCore
- - FirebaseCoreDiagnostics
+ - FirebaseCoreExtension
+ - FirebaseCoreInternal
- FirebaseCrashlytics
- FirebaseInstallations
- FirebasePerformance
- FirebaseRemoteConfig
+ - FirebaseRemoteConfigInterop
+ - FirebaseSessions
+ - FirebaseSharedSwift
- GoogleAppMeasurement
- GoogleDataTransport
- GoogleSignIn
@@ -2855,6 +2875,7 @@ SPEC REPOS:
- Onfido
- Plaid
- PromisesObjC
+ - PromisesSwift
- React-Codegen
- SDWebImage
- SDWebImageAVIFCoder
@@ -3117,25 +3138,29 @@ SPEC CHECKSUMS:
ExpoAsset: 323700f291684f110fb55f0d4022a3362ea9f875
ExpoImage: f77df382153d716f332f974438a803c4527f60b0
ExpoImageManipulator: aea99205c66043a00a0af90e345395637b9902fa
- ExpoModulesCore: 335282d855cc34fb5540e170204e729a51464bbb
+ ExpoModulesCore: 30db8f33cc8558cf8c5505e2f7501d2cd5166c52
FBLazyVector: 38bb611218305c3bc61803e287b8a81c6f63b619
- Firebase: 629510f1a9ddb235f3a7c5c8ceb23ba887f0f814
- FirebaseABTesting: 10cbce8db9985ae2e3847ea44e9947dd18f94e10
- FirebaseAnalytics: 5506ea8b867d8423485a84b4cd612d279f7b0b8a
- FirebaseCore: 98b29e3828f0a53651c363937a7f7d92a19f1ba2
- FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb
- FirebaseCrashlytics: 3660c045c8e45cc4276110562a0ef44cf43c8157
- FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd
- FirebasePerformance: 0c01a7a496657d7cea86d40c0b1725259d164c6c
- FirebaseRemoteConfig: 2d6e2cfdb49af79535c8af8a80a4a5009038ec2b
+ Firebase: 5c575140761e22324806f401e38c483d58db2dec
+ FirebaseABTesting: aef1719704fade00b200827e7973f352efc4caee
+ FirebaseAnalytics: ce1593872635a5ebd715d0d3937fab195991ecc9
+ FirebaseCore: 8542de610f35f86196ba26cdb2544565a5157c8e
+ FirebaseCoreExtension: f1bc67a4702931a7caa097d8e4ac0a1b0d16720e
+ FirebaseCoreInternal: 35731192cab10797b88411be84940d2beb33a238
+ FirebaseCrashlytics: ba7b6a55dc10393f6583d87d8600d0d3ab2671d8
+ FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414
+ FirebasePerformance: 83cea3aa69401248317353646d8b63cb315047c9
+ FirebaseRemoteConfig: 7655681d02417bc9b287338edb9d721ff79e1a4a
+ FirebaseRemoteConfigInterop: e76f46ffa4d6a65e273d4dfebb6a79e588cec136
+ FirebaseSessions: 655ff17f3cc1a635cbdc2d69b953878001f9e25b
+ FirebaseSharedSwift: 505dae2d05969dbf6d43749a642bb1bf230f0252
fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120
FullStory: c8a10b2358c0d33c57be84d16e4c440b0434b33d
- fullstory_react-native: 44dc2c85a6316df2713e6cb0048ce5719c3b0bab
+ fullstory_react-native: 150fdc6971ba09d2f1384716b3a7ec34a8c5251f
glog: 69ef571f3de08433d766d614c73a9838a06bf7eb
- GoogleAppMeasurement: 5ba1164e3c844ba84272555e916d0a6d3d977e91
- GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a
+ GoogleAppMeasurement: c8bac5f6ad85d3a0bdf2b9aee7fd484d6615d486
+ GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db
- GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
+ GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d
GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
hermes-engine: 3b6e0717ca847e2fc90a201e59db36caf04dee88
@@ -3143,16 +3168,17 @@ SPEC CHECKSUMS:
libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f
libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009
lottie-ios: 3d98679b41fa6fd6aff2352b3953dbd3df8a397e
- lottie-react-native: e50d25429207f95045253c19fa7463e288594f87
+ lottie-react-native: d6fa677acc01c0a56e4ef6a049480ad53d0df855
MapboxCommon: 0ff437e44988da6856e280d00ffb266564ed0487
MapboxCoreMaps: f1bd9405f5b9d3e343f2fe4138775299699a22fb
MapboxMaps: e76b14f52c54c40b76ddecd04f40448e6f35a864
MapboxMobileEvents: de50b3a4de180dd129c326e09cd12c8adaaa46d6
- nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96
+ nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
Onfido: f3af62ea1c9a419589c133e3e511e5d2c4f3f8af
- onfido-react-native-sdk: 4ccfdeb10f9ccb4a5799d2555cdbc2a068a42c0d
+ onfido-react-native-sdk: 089596d605b6e354f68aee9fd3709b711abeba04
Plaid: c32f22ffce5ec67c9e6147eaf6c4d7d5f8086d89
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
+ PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740
RCTDeprecation: 34cbf122b623037ea9facad2e92e53434c5c7422
RCTRequired: 24c446d7bcd0f517d516b6265d8df04dc3eb1219
@@ -3163,104 +3189,104 @@ SPEC CHECKSUMS:
React-Core: facd883836d8d1cc1949d2053c58eab5fb22eb75
React-CoreModules: f92a2cb11d22f6066823ca547c61e900325dfe44
React-cxxreact: f5595a4cbfe5a4e9d401dffa2c1c78bbbbbe75e4
- React-debug: 4a91c177b5b2efcc546fb50bc2f676f3f589efab
- React-defaultsnativemodule: 6b666572abf5fe7fe87836a42776abd6ad5ed173
- React-domnativemodule: 785d767c4edbb9f011b8c976271077759ca5c4aa
- React-Fabric: a33cc1fdc62a3085774783bb30970531589d2028
- React-FabricComponents: 98de5f94cbd35d407f4fc78855298b562d8289cb
- React-FabricImage: 0ce8fd83844d9edef5825116d38f0e208b9ad786
- React-featureflags: 37a78859ad71db758e2efdcbdb7384afefa8701e
- React-featureflagsnativemodule: f94aacb52c463e200ee185bff90ae3b392e60263
- React-graphics: c16f1bab97a5d473831a79360d84300e93a614e5
+ React-debug: 153b1899b6d9e2fde855577e1cd615f7448a03ac
+ React-defaultsnativemodule: 0145cb30bca08003329edff898818313c09434b7
+ React-domnativemodule: 40e86c0c1dec62f7e8b2e35d51fde8bb821c9de2
+ React-Fabric: 9be6d42b5a1f4353d9e23c2db8532d9e5ccfef4d
+ React-FabricComponents: 897223a1dc15b4e8fa402cba057536cb10852963
+ React-FabricImage: f4aaac50854c2ef195b79d1d4315b9e32c5ca853
+ React-featureflags: 357423aa521ff01107895810f8d9758f8147d64d
+ React-featureflagsnativemodule: 40e83b0832c6f973ffc822d59f93fbb7b9ab4577
+ React-graphics: e41a17337bf4f4dfba8f7315b8ca0a73296800d7
React-hermes: 7801f8c0e12f326524b461dc368d3e74f3d2a385
- React-idlecallbacksnativemodule: d81bb7b5d26cea9852a8edc6ad1979cd7ed0841f
- React-ImageManager: 98a1e5b0b05528dde47ebcd953d916ac66d46c09
- React-jserrorhandler: 08f1c3465a71a6549c27ad82809ce145ad52d4f1
+ React-idlecallbacksnativemodule: d2e95548c8913cb1484544dfa32b473e304e0f1f
+ React-ImageManager: d24c9e2b772504aafde31455c39585a03377dece
+ React-jserrorhandler: 571bbbb4569347172cc4c0985a493b7dade32634
React-jsi: 161428ab2c706d5fcd9878d260ff1513fdb356ab
React-jsiexecutor: abfdc7526151c6755f836235bbaa53b267a0803c
- React-jsinspector: f0786053a1a258a4d8dde859d1a820c26ee686f0
- React-jsitracing: 52b849a77d02e2dc262a3031454c23be8dabb4d9
+ React-jsinspector: 02ca2651458d686f47b0803d420fefc1b9c97213
+ React-jsitracing: a63093da2909d8ee0d5a2224534cf605fa7adecc
React-logger: 8db32983d75dc2ad54f278f344ccb9b256e694fc
- React-Mapbuffer: 1c08607305558666fd16678b85ef135e455d5c96
- React-microtasksnativemodule: f13f03163b6a5ec66665dfe80a0df4468bb766a6
- react-native-airship: e10f6823d8da49bbcb2db4bdb16ff954188afccc
- react-native-blob-util: 221c61c98ae507b758472ac4d2d489119d1a6c44
- react-native-cameraroll: 478a0c1fcdd39f08f6ac272b7ed06e92b2c7c129
- react-native-config: 742a9e0a378a78d0eaff1fb3477d8c0ae222eb51
- react-native-document-picker: e9d83c149bdd72dc01cf8dcb8df0389c6bd5fddb
- react-native-geolocation: b9bd12beaf0ebca61a01514517ca8455bd26fa06
+ React-Mapbuffer: db173bede5ac5cb1c82d4a6a8597477ba87c5648
+ React-microtasksnativemodule: a5cd87542a308060e645d337b036733c327dc01b
+ react-native-airship: dbc9a1d3d781b7bb873c4c28f1f19baa54fb7e1c
+ react-native-blob-util: 44f307d8f17d78804392ae460219b8dbcb7288f3
+ react-native-cameraroll: 5b0c2afb144172b7480321ab58fbf12c256b1aa2
+ react-native-config: 54bf9fbca61cb832fdfbaa088e0d9c94f831c1c7
+ react-native-document-picker: 1e082836a633ca9e7c75758036ff42535baaf36b
+ react-native-geolocation: bc5a6005b2d60254967779d4195360ce56f2977b
react-native-image-picker: f8a13ff106bcc7eb00c71ce11fdc36aac2a44440
- react-native-key-command: aae312752fcdfaa2240be9a015fc41ce54087546
- react-native-keyboard-controller: 902c07f41a415b632583b384427a71770a8b02a3
+ react-native-key-command: c7b6c99216ed3f2b5fe3090069354db6b87bd5eb
+ react-native-keyboard-controller: 8b28a02729bbdc725c8e363111e67bd5a0208481
react-native-launch-arguments: 5f41e0abf88a15e3c5309b8875d6fd5ac43df49d
- react-native-netinfo: fb5112b1fa754975485884ae85a3fb6a684f49d5
- react-native-pager-view: 94195f1bf32e7f78359fa20057c97e632364a08b
- react-native-pdf: dd6ae39a93607a80919bef9f3499e840c693989d
- react-native-performance: 3c608307be10964f8a97d3af462f37125b6d8fa5
- react-native-plaid-link-sdk: f91a22b45b7c3d4cd6c47273200dc57df35068b0
- react-native-quick-sqlite: 7c793c9f5834e756b336257a8d8b8239b7ceb451
- react-native-release-profiler: 131ec5e4145d900b2be2a8d6641e2ce0dd784259
- react-native-safe-area-context: 38fdd9b3c5561de7cabae64bd0cd2ce05d2768a1
+ react-native-netinfo: 2d66dffdb60227c0f5466a98ff89676cab8b4520
+ react-native-pager-view: 121798efbc76a84b241a32a919fccc324b1c5c7e
+ react-native-pdf: f789bb872b221ce61fcf24c00c0d80d337c3e298
+ react-native-performance: a32b0cb33b2719bdae3ad879a904c377ef1ada13
+ react-native-plaid-link-sdk: 05e093af154e90b0c8260506f08c372dd9155fc6
+ react-native-quick-sqlite: d9d0c4b3272d343120443196541bddff660019af
+ react-native-release-profiler: a5854891a4cfe039696c67869f7499c66071a1d0
+ react-native-safe-area-context: 239da0d2f91e1ef34c09aec9a738faebb742cd37
react-native-view-shot: 6b7ed61d77d88580fed10954d45fad0eb2d47688
- react-native-webview: ad29375839c9aa0409ce8e8693291b42bdc067a4
- React-nativeconfig: 57781b79e11d5af7573e6f77cbf1143b71802a6d
- React-NativeModulesApple: 7ff2e2cfb2e5fa5bdedcecf28ce37e696c6ef1e1
+ react-native-webview: 2970cc2077374ff36b5de20bfcdd115b32907230
+ React-nativeconfig: 5fc2b05a590eb704128f5a4fc8ea6fa7b847e6e8
+ React-NativeModulesApple: 88313414ddffd1758f76042733e8f0297acfd502
React-perflogger: 8a360ccf603de6ddbe9ff8f54383146d26e6c936
- React-performancetimeline: 3cfec915adcb3653a5a633b41e711903844c35d8
+ React-performancetimeline: 300691014905e8d25b36415fd2f248a2befcce61
React-RCTActionSheet: 1c0e26a88eec41215089cf4436e38188cfe9f01a
React-RCTAnimation: d87207841b1e2ae1389e684262ea8c73c887cb04
React-RCTAppDelegate: 328e56399c4f1c3d20cfe547ea24ebded2b3a87f
React-RCTBlob: 79b42cb7db55f34079297687a480dbcf37f023f6
- React-RCTFabric: 27636a6a5fa5622159297fce26881945d3658cf6
+ React-RCTFabric: 6d2fa4a49b9f3505c387210d2391122c5f4ea32d
React-RCTImage: 0c10a75de59f7384a2a55545d5f36fe783e6ecda
React-RCTLinking: bf08f4f655bf777af292b8d97449072c8bb196ca
React-RCTNetwork: 1b690846b40fc5685af58e088720657db6814637
React-RCTSettings: 097e420926dd44153fb25174835b572aded224d6
React-RCTText: d8fe2ae9f95b2ccd03b2f534286e938254791992
React-RCTVibration: 976466dba32c0981a836e45ce38bcd4c8d6d924e
- React-rendererconsistency: ee0d6f1b4420e1ad5bb01c02170e7ecbd278e307
- React-rendererdebug: 7fbf02f30d1e0bb0d96d65cf2548219cb53b29b6
- React-rncore: 7ffc5be03adbf0a5cbf1b654483f487a899cff08
- React-RuntimeApple: e623f002e1871de30a443291171d3f2fb134a6ec
- React-RuntimeCore: a67357d4f073b1dbe6fbefc5273072027f201e1c
+ React-rendererconsistency: c6085ef7593a14a3ca07b82c533e8ce368403748
+ React-rendererdebug: 945ef6d8128f429becb3769a81591c96e3802fd2
+ React-rncore: 14846f4dd48ba5056b11ab89f4a5498f6f02f20f
+ React-RuntimeApple: 171b7b35ec9dc97ba358d691bea07fc81795ca3e
+ React-RuntimeCore: 7dcad4be47b656fdd67f7a6a78cf746948a11890
React-runtimeexecutor: 5bb52479abf8081086afb0397dc33dc97202a439
- React-RuntimeHermes: 860cf64708a12a2fa62366fe51fe000121fa031b
- React-runtimescheduler: fff88d51ad2c8815fc75930dbac224d680593e6b
- React-utils: 81a715d9c0a2a49047e77a86f3a2247408540deb
- ReactCodegen: 60973d382704c793c605b9be0fc7f31cb279442f
- ReactCommon: 6ef348087d250257c44c0204461c03f036650e9b
+ React-RuntimeHermes: bfada6b4eb293117496b0b0ef6d31a8142649596
+ React-runtimescheduler: 9577260c8dd7c3c97eb6f5086441784fd5241f62
+ React-utils: f908da1113885e2c08b25247e0ea892c68e2eaf6
+ ReactCodegen: de94475c4712a61ba0b1e1c25eb54db32f56836d
+ ReactCommon: 8da2bad9c1e5901f7b5484e42e59578edeece142
RNAppleAuthentication: 0571c08da8c327ae2afc0261b48b4a515b0286a6
- RNCClipboard: c84275d07e3f73ff296b17e6c27e9ccdc194a0bb
- RNCPicker: 21ae0659666767a5c1253aef985ee5b7c527e345
- RNDeviceInfo: 130237d8e97a89b68f2202d5dd18ac6bb68e7648
+ RNCClipboard: 7c55031f28541af256b2c6de0bc9f666a5c07307
+ RNCPicker: cdfad9f673b997832e83a40721cf8dbcbc06a08f
+ RNDeviceInfo: f44204fbbb6567621fc8d9cd3da7a869bacc33ba
RNDevMenu: 72807568fe4188bd4c40ce32675d82434b43c45d
- RNFBAnalytics: f76bfa164ac235b00505deb9fc1776634056898c
- RNFBApp: 729c0666395b1953198dc4a1ec6deb8fbe1c302e
- RNFBCrashlytics: 2061ca863e8e2fa1aae9b12477d7dfa8e88ca0f9
- RNFBPerf: 389914cda4000fe0d996a752532a591132cbf3f9
- RNFlashList: 6f169ad83e52579b7754cbbcec1b004c27d82c93
+ RNFBAnalytics: a3e995ca52fd93f53ff7a618a070c4eb4ccc0995
+ RNFBApp: 2482cb2239bffb9323f5018b724e8a51b80e077e
+ RNFBCrashlytics: 671ea9b494bec4184e1c33d4e97b8d3accbb4df2
+ RNFBPerf: 9947e2f0d2b270031342f83eea5b8004f2759322
+ RNFlashList: b85e7b9e77c3b6d9169f88d60ed6dca0a479a822
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
- RNGestureHandler: 8781e2529230a1bc3ea8d75e5c3cd071b6c6aed7
+ RNGestureHandler: bc341a72220e8f338891f1757eab29378d81adac
RNGoogleSignin: ccaa4a81582cf713eea562c5dd9dc1961a715fd0
- RNLiveMarkdown: b2bd97a6f1206be16cf6536c092fe39f986aca34
+ RNLiveMarkdown: e48c811c90ba66b383cc5f076e9339462bd7ce61
RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81
- rnmapbox-maps: 460d6ff97ae49c7d5708c3212c6521697c36a0c4
- RNPermissions: 0b1429b55af59d1d08b75a8be2459f65a8ac3f28
- RNReactNativeHapticFeedback: 73756a3477a5a622fa16862a3ab0d0fc5e5edff5
- RNReanimated: 76901886830e1032f16bbf820153f7dc3f02d51d
- RNScreens: de6e57426ba0e6cbc3fb5b4f496e7f08cb2773c2
- RNShare: bd4fe9b95d1ee89a200778cc0753ebe650154bb0
+ rnmapbox-maps: 95513a597d50bd2235f7366888dd748a801657f4
+ RNPermissions: 210b5310778c14dbe907c50fb6708c5954af342f
+ RNReactNativeHapticFeedback: 2db53cf1075a3046227b8131a5cba84f25abccdc
+ RNReanimated: ef0c3a551ea877eeb56faea7c8aff448e4547d8b
+ RNScreens: 47d5b0b48402f5a2da5b2dd543deae3c9083a5ac
+ RNShare: a26d8b58d4de3879c63b8f8c590fff693461ba0b
RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852
- RNSVG: 1079f96b39a35753d481a20e30603fd6fc4f6fa9
+ RNSVG: 37319fae975daec6b51befc9509abb52913b07c1
SDWebImage: 066c47b573f408f18caa467d71deace7c0f8280d
SDWebImageAVIFCoder: 00310d246aab3232ce77f1d8f0076f8c4b021d90
SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c
SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
Turf: aa2ede4298009639d10db36aba1a7ebaad072a5e
- VisionCamera: c6c8aa4b028501fc87644550fbc35a537d4da3fb
- Yoga: a1d7895431387402a674fd0d1c04ec85e87909b8
+ VisionCamera: 8b29292093d9f2321e9ff57960c8a3653a49fad9
+ Yoga: 36d44f1d31d7c11be1067e5c7a70a12c2eed355c
-PODFILE CHECKSUM: a07e55247056ec5d84d1af31d694506efff3cfe2
+PODFILE CHECKSUM: e190dccde16b1105ba59019bd89f60c7dd1c9f62
COCOAPODS: 1.15.2
diff --git a/package-lock.json b/package-lock.json
index a7966885b9d8..3abfd7afe292 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,10 +29,10 @@
"@react-native-clipboard/clipboard": "^1.13.2",
"@react-native-community/geolocation": "3.3.0",
"@react-native-community/netinfo": "11.2.1",
- "@react-native-firebase/analytics": "^12.3.0",
- "@react-native-firebase/app": "^12.3.0",
- "@react-native-firebase/crashlytics": "^12.3.0",
- "@react-native-firebase/perf": "^12.3.0",
+ "@react-native-firebase/analytics": "^21.1.0",
+ "@react-native-firebase/app": "^21.1.0",
+ "@react-native-firebase/crashlytics": "^21.1.0",
+ "@react-native-firebase/perf": "^21.1.0",
"@react-native-google-signin/google-signin": "^10.0.1",
"@react-native-picker/picker": "2.7.6",
"@react-navigation/material-top-tabs": "^6.6.3",
@@ -4199,97 +4199,6 @@
"sucrase": "3.34.0"
}
},
- "node_modules/@expo/config-plugins": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.4.tgz",
- "integrity": "sha512-Hi+xuyNWE2LT4LVbGttHJgl9brnsdWAhEB42gWKb5+8ae86Nr/KwUBQJsJppirBYTeLjj5ZlY0glYnAkDa2jqw==",
- "dependencies": {
- "@expo/config-types": "^51.0.0-unreleased",
- "@expo/json-file": "~8.3.0",
- "@expo/plist": "^0.1.0",
- "@expo/sdk-runtime-versions": "^1.0.0",
- "chalk": "^4.1.2",
- "debug": "^4.3.1",
- "find-up": "~5.0.0",
- "getenv": "^1.0.0",
- "glob": "7.1.6",
- "resolve-from": "^5.0.0",
- "semver": "^7.5.4",
- "slash": "^3.0.0",
- "slugify": "^1.6.6",
- "xcode": "^3.0.1",
- "xml2js": "0.6.0"
- }
- },
- "node_modules/@expo/config-plugins/node_modules/ansi-styles": {
- "version": "4.3.0",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@expo/config-plugins/node_modules/chalk": {
- "version": "4.1.2",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@expo/config-plugins/node_modules/color-convert": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@expo/config-plugins/node_modules/color-name": {
- "version": "1.1.4",
- "license": "MIT"
- },
- "node_modules/@expo/config-plugins/node_modules/has-flag": {
- "version": "4.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@expo/config-plugins/node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@expo/config-plugins/node_modules/supports-color": {
- "version": "7.2.0",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@expo/config-types": {
"version": "51.0.2",
"resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-51.0.2.tgz",
@@ -5481,34 +5390,295 @@
"node": ">=8"
}
},
+ "node_modules/@firebase/analytics": {
+ "version": "0.10.8",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.8.tgz",
+ "integrity": "sha512-CVnHcS4iRJPqtIDc411+UmFldk0ShSK3OB+D0bKD8Ck5Vro6dbK5+APZpkuWpbfdL359DIQUnAaMLE+zs/PVyA==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/installations": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x"
+ }
+ },
+ "node_modules/@firebase/analytics-compat": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.14.tgz",
+ "integrity": "sha512-unRVY6SvRqfNFIAA/kwl4vK+lvQAL2HVcgu9zTrUtTyYDmtIt/lOuHJynBMYEgLnKm39YKBDhtqdapP2e++ASw==",
+ "dependencies": {
+ "@firebase/analytics": "0.10.8",
+ "@firebase/analytics-types": "0.8.2",
+ "@firebase/component": "0.6.9",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/analytics-types": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.2.tgz",
+ "integrity": "sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw=="
+ },
"node_modules/@firebase/app": {
- "version": "0.10.10",
- "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.10.tgz",
- "integrity": "sha512-sDqkdeFdVn5uygQm5EuIKOQ6/wxTcX/qKfm0MR46AiwLRHGLCDUMrXBkc8GhkK3ca2d6mPUSfPmndggo43D6PQ==",
+ "version": "0.10.11",
+ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.11.tgz",
+ "integrity": "sha512-DuI8c+p/ndPmV6V0i+mcSuaU9mK9Pi9h76WOYFkPNsbmkblEy8bpTOazjG7tnfar6Of1Wn5ohvyOHSRqnN6flQ==",
"dependencies": {
- "@firebase/component": "0.6.8",
+ "@firebase/component": "0.6.9",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.7",
+ "@firebase/util": "1.10.0",
"idb": "7.1.1",
"tslib": "^2.1.0"
}
},
+ "node_modules/@firebase/app-check": {
+ "version": "0.8.8",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.8.tgz",
+ "integrity": "sha512-O49RGF1xj7k6BuhxGpHmqOW5hqBIAEbt2q6POW0lIywx7emYtzPDeQI+ryQpC4zbKX646SoVZ711TN1DBLNSOQ==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x"
+ }
+ },
+ "node_modules/@firebase/app-check-compat": {
+ "version": "0.3.15",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.15.tgz",
+ "integrity": "sha512-zFIvIFFNqDXpOT2huorz9cwf56VT3oJYRFjSFYdSbGYEJYEaXjLJbfC79lx/zjx4Fh+yuN8pry3TtvwaevrGbg==",
+ "dependencies": {
+ "@firebase/app-check": "0.8.8",
+ "@firebase/app-check-types": "0.5.2",
+ "@firebase/component": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/app-check-interop-types": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.2.tgz",
+ "integrity": "sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ=="
+ },
+ "node_modules/@firebase/app-check-types": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.2.tgz",
+ "integrity": "sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA=="
+ },
+ "node_modules/@firebase/app-compat": {
+ "version": "0.2.41",
+ "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.41.tgz",
+ "integrity": "sha512-ktJcObWKjlIWq31kXu6sHoqWlhQD5rx0a2F2ZC2JVuEE5A5f7F43VO1Z6lfeRZXMFZbGG/aqIfXqgsP3zD2JYg==",
+ "dependencies": {
+ "@firebase/app": "0.10.11",
+ "@firebase/component": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@firebase/app-types": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.2.tgz",
+ "integrity": "sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ=="
+ },
+ "node_modules/@firebase/auth": {
+ "version": "1.7.9",
+ "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.9.tgz",
+ "integrity": "sha512-yLD5095kVgDw965jepMyUrIgDklD6qH/BZNHeKOgvu7pchOKNjVM+zQoOVYJIKWMWOWBq8IRNVU6NXzBbozaJg==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0",
+ "undici": "6.19.7"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x",
+ "@react-native-async-storage/async-storage": "^1.18.1"
+ },
+ "peerDependenciesMeta": {
+ "@react-native-async-storage/async-storage": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@firebase/auth-compat": {
+ "version": "0.5.14",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.14.tgz",
+ "integrity": "sha512-2eczCSqBl1KUPJacZlFpQayvpilg3dxXLy9cSMTKtQMTQSmondUtPI47P3ikH3bQAXhzKLOE+qVxJ3/IRtu9pw==",
+ "dependencies": {
+ "@firebase/auth": "1.7.9",
+ "@firebase/auth-types": "0.12.2",
+ "@firebase/component": "0.6.9",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0",
+ "undici": "6.19.7"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/auth-interop-types": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.3.tgz",
+ "integrity": "sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ=="
+ },
+ "node_modules/@firebase/auth-types": {
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.2.tgz",
+ "integrity": "sha512-qsEBaRMoGvHO10unlDJhaKSuPn4pyoTtlQuP1ghZfzB6rNQPuhp/N/DcFZxm9i4v0SogjCbf9reWupwIvfmH6w==",
+ "peerDependencies": {
+ "@firebase/app-types": "0.x",
+ "@firebase/util": "1.x"
+ }
+ },
"node_modules/@firebase/component": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.8.tgz",
- "integrity": "sha512-LcNvxGLLGjBwB0dJUsBGCej2fqAepWyBubs4jt1Tiuns7QLbXHuyObZ4aMeBjZjWx4m8g1LoVI9QFpSaq/k4/g==",
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.9.tgz",
+ "integrity": "sha512-gm8EUEJE/fEac86AvHn8Z/QW8BvR56TBw3hMW0O838J/1mThYQXAIQBgUv75EqlCZfdawpWLrKt1uXvp9ciK3Q==",
+ "dependencies": {
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@firebase/database": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.8.tgz",
+ "integrity": "sha512-dzXALZeBI1U5TXt6619cv0+tgEhJiwlUtQ55WNZY7vGAjv7Q1QioV969iYwt1AQQ0ovHnEW0YW9TiBfefLvErg==",
+ "dependencies": {
+ "@firebase/app-check-interop-types": "0.3.2",
+ "@firebase/auth-interop-types": "0.2.3",
+ "@firebase/component": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "faye-websocket": "0.11.4",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@firebase/database-compat": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.8.tgz",
+ "integrity": "sha512-OpeWZoPE3sGIRPBKYnW9wLad25RaWbGyk7fFQe4xnJQKRzlynWeFBSRRAoLE2Old01WXwskUiucNqUUVlFsceg==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/database": "1.0.8",
+ "@firebase/database-types": "1.0.5",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@firebase/database-types": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.5.tgz",
+ "integrity": "sha512-fTlqCNwFYyq/C6W7AJ5OCuq5CeZuBEsEwptnVxlNPkWCo5cTTyukzAHRSO/jaQcItz33FfYrrFk1SJofcu2AaQ==",
+ "dependencies": {
+ "@firebase/app-types": "0.9.2",
+ "@firebase/util": "1.10.0"
+ }
+ },
+ "node_modules/@firebase/firestore": {
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.2.tgz",
+ "integrity": "sha512-WPkL/DEHuJg1PZPyHn81pNUhitG+7WkpLVdXmoYB23Za3eoM8VzuIn7zcD4Cji6wDCGA6eI1rvGYLtsXmE1OaQ==",
"dependencies": {
- "@firebase/util": "1.9.7",
+ "@firebase/component": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "@firebase/webchannel-wrapper": "1.0.1",
+ "@grpc/grpc-js": "~1.9.0",
+ "@grpc/proto-loader": "^0.7.8",
+ "tslib": "^2.1.0",
+ "undici": "6.19.7"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x"
+ }
+ },
+ "node_modules/@firebase/firestore-compat": {
+ "version": "0.3.37",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.37.tgz",
+ "integrity": "sha512-YwjJePx+m2OGnpKTGFTkcRXQZ+z0+8t7/zuwyOsTmKERobn0kekOv8VAQQmITcC+3du8Ul98O2a0vMH3xwt7jQ==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/firestore": "4.7.2",
+ "@firebase/firestore-types": "3.0.2",
+ "@firebase/util": "1.10.0",
"tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/firestore-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.2.tgz",
+ "integrity": "sha512-wp1A+t5rI2Qc/2q7r2ZpjUXkRVPtGMd6zCLsiWurjsQpqPgFin3AhNibKcIzoF2rnToNa/XYtyWXuifjOOwDgg==",
+ "peerDependencies": {
+ "@firebase/app-types": "0.x",
+ "@firebase/util": "1.x"
}
},
+ "node_modules/@firebase/functions": {
+ "version": "0.11.8",
+ "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.8.tgz",
+ "integrity": "sha512-Lo2rTPDn96naFIlSZKVd1yvRRqqqwiJk7cf9TZhUerwnPKgBzXy+aHE22ry+6EjCaQusUoNai6mU6p+G8QZT1g==",
+ "dependencies": {
+ "@firebase/app-check-interop-types": "0.3.2",
+ "@firebase/auth-interop-types": "0.2.3",
+ "@firebase/component": "0.6.9",
+ "@firebase/messaging-interop-types": "0.2.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0",
+ "undici": "6.19.7"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x"
+ }
+ },
+ "node_modules/@firebase/functions-compat": {
+ "version": "0.3.14",
+ "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.14.tgz",
+ "integrity": "sha512-dZ0PKOKQFnOlMfcim39XzaXonSuPPAVuzpqA4ONTIdyaJK/OnBaIEVs/+BH4faa1a2tLeR+Jy15PKqDRQoNIJw==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/functions": "0.11.8",
+ "@firebase/functions-types": "0.6.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/functions-types": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.2.tgz",
+ "integrity": "sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w=="
+ },
"node_modules/@firebase/installations": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.8.tgz",
- "integrity": "sha512-57V374qdb2+wT5v7+ntpLXBjZkO6WRgmAUbVkRfFTM/4t980p0FesbqTAcOIiM8U866UeuuuF8lYH70D3jM/jQ==",
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.9.tgz",
+ "integrity": "sha512-hlT7AwCiKghOX3XizLxXOsTFiFCQnp/oj86zp1UxwDGmyzsyoxtX+UIZyVyH/oBF5+XtblFG9KZzZQ/h+dpy+Q==",
"dependencies": {
- "@firebase/component": "0.6.8",
- "@firebase/util": "1.9.7",
+ "@firebase/component": "0.6.9",
+ "@firebase/util": "1.10.0",
"idb": "7.1.1",
"tslib": "^2.1.0"
},
@@ -5516,6 +5686,29 @@
"@firebase/app": "0.x"
}
},
+ "node_modules/@firebase/installations-compat": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.9.tgz",
+ "integrity": "sha512-2lfdc6kPXR7WaL4FCQSQUhXcPbI7ol3wF+vkgtU25r77OxPf8F/VmswQ7sgIkBBWtymn5ZF20TIKtnOj9rjb6w==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/installations": "0.6.9",
+ "@firebase/installations-types": "0.5.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/installations-types": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.2.tgz",
+ "integrity": "sha512-que84TqGRZJpJKHBlF2pkvc1YcXrtEDOVGiDjovP/a3s6W4nlbohGXEsBJo0JCeeg/UG9A+DEZVDUV9GpklUzA==",
+ "peerDependencies": {
+ "@firebase/app-types": "0.x"
+ }
+ },
"node_modules/@firebase/logger": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.2.tgz",
@@ -5524,29 +5717,183 @@
"tslib": "^2.1.0"
}
},
+ "node_modules/@firebase/messaging": {
+ "version": "0.12.11",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.11.tgz",
+ "integrity": "sha512-zn5zGhF46BmiZ7W9yAUoHlqzJGakmWn1FNp//roXHN62dgdEFIKfXY7IODA2iQiXpmUO3sBdI/Tf+Hsft1mVkw==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/installations": "0.6.9",
+ "@firebase/messaging-interop-types": "0.2.2",
+ "@firebase/util": "1.10.0",
+ "idb": "7.1.1",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x"
+ }
+ },
+ "node_modules/@firebase/messaging-compat": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.11.tgz",
+ "integrity": "sha512-2NCkfE1L9jSn5OC+2n5rGAz5BEAQreK2lQGdPYQEJlAbKB2efoF+2FdiQ+LD8SlioSXz66REfeaEdesoLPFQcw==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/messaging": "0.12.11",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/messaging-interop-types": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.2.tgz",
+ "integrity": "sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA=="
+ },
"node_modules/@firebase/performance": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.8.tgz",
- "integrity": "sha512-F+alziiIZ6Yn8FG47mxwljq+4XkgkT2uJIFRlkyViUQRLzrogaUJW6u/+6ZrePXnouKlKIwzqos3PVJraPEcCA==",
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.9.tgz",
+ "integrity": "sha512-PnVaak5sqfz5ivhua+HserxTJHtCar/7zM0flCX6NkzBNzJzyzlH4Hs94h2Il0LQB99roBqoE5QT1JqWqcLJHQ==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/installations": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x"
+ }
+ },
+ "node_modules/@firebase/performance-compat": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.9.tgz",
+ "integrity": "sha512-dNl95IUnpsu3fAfYBZDCVhXNkASE0uo4HYaEPd2/PKscfTvsgqFAOxfAXzBEDOnynDWiaGUnb5M1O00JQ+3FXA==",
"dependencies": {
- "@firebase/component": "0.6.8",
- "@firebase/installations": "0.6.8",
+ "@firebase/component": "0.6.9",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.7",
+ "@firebase/performance": "0.6.9",
+ "@firebase/performance-types": "0.2.2",
+ "@firebase/util": "1.10.0",
"tslib": "^2.1.0"
},
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/performance-types": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.2.tgz",
+ "integrity": "sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA=="
+ },
+ "node_modules/@firebase/remote-config": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.9.tgz",
+ "integrity": "sha512-EO1NLCWSPMHdDSRGwZ73kxEEcTopAxX1naqLJFNApp4hO8WfKfmEpmjxmP5TrrnypjIf2tUkYaKsfbEA7+AMmA==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/installations": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x"
+ }
+ },
+ "node_modules/@firebase/remote-config-compat": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.9.tgz",
+ "integrity": "sha512-AxzGpWfWFYejH2twxfdOJt5Cfh/ATHONegTd/a0p5flEzsD5JsxXgfkFToop+mypEL3gNwawxrxlZddmDoNxyA==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/remote-config": "0.4.9",
+ "@firebase/remote-config-types": "0.3.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/remote-config-types": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.2.tgz",
+ "integrity": "sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA=="
+ },
+ "node_modules/@firebase/storage": {
+ "version": "0.13.2",
+ "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.2.tgz",
+ "integrity": "sha512-fxuJnHshbhVwuJ4FuISLu+/76Aby2sh+44ztjF2ppoe0TELIDxPW6/r1KGlWYt//AD0IodDYYA8ZTN89q8YqUw==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0",
+ "undici": "6.19.7"
+ },
"peerDependencies": {
"@firebase/app": "0.x"
}
},
+ "node_modules/@firebase/storage-compat": {
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.12.tgz",
+ "integrity": "sha512-hA4VWKyGU5bWOll+uwzzhEMMYGu9PlKQc1w4DWxB3aIErWYzonrZjF0icqNQZbwKNIdh8SHjZlFeB2w6OSsjfg==",
+ "dependencies": {
+ "@firebase/component": "0.6.9",
+ "@firebase/storage": "0.13.2",
+ "@firebase/storage-types": "0.8.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "@firebase/app-compat": "0.x"
+ }
+ },
+ "node_modules/@firebase/storage-types": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.2.tgz",
+ "integrity": "sha512-0vWu99rdey0g53lA7IShoA2Lol1jfnPovzLDUBuon65K7uKG9G+L5uO05brD9pMw+l4HRFw23ah3GwTGpEav6g==",
+ "peerDependencies": {
+ "@firebase/app-types": "0.x",
+ "@firebase/util": "1.x"
+ }
+ },
"node_modules/@firebase/util": {
- "version": "1.9.7",
- "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.7.tgz",
- "integrity": "sha512-fBVNH/8bRbYjqlbIhZ+lBtdAAS4WqZumx03K06/u7fJSpz1TGjEMm1ImvKD47w+xaFKIP2ori6z8BrbakRfjJA==",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.10.0.tgz",
+ "integrity": "sha512-xKtx4A668icQqoANRxyDLBLz51TAbDP9KRfpbKGxiCAW346d0BeJe5vN6/hKxxmWwnZ0mautyv39JxviwwQMOQ==",
"dependencies": {
"tslib": "^2.1.0"
}
},
+ "node_modules/@firebase/vertexai-preview": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/@firebase/vertexai-preview/-/vertexai-preview-0.0.4.tgz",
+ "integrity": "sha512-EBSqyu9eg8frQlVU9/HjKtHN7odqbh9MtAcVz3WwHj4gLCLOoN9F/o+oxlq3CxvFrd3CNTZwu6d2mZtVlEInng==",
+ "dependencies": {
+ "@firebase/app-check-interop-types": "0.3.2",
+ "@firebase/component": "0.6.9",
+ "@firebase/logger": "0.4.2",
+ "@firebase/util": "1.10.0",
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "@firebase/app": "0.x",
+ "@firebase/app-types": "0.x"
+ }
+ },
+ "node_modules/@firebase/webchannel-wrapper": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.1.tgz",
+ "integrity": "sha512-jmEnr/pk0yVkA7mIlHNnxCi+wWzOFUg0WyIotgkKAb2u1J7fAeDBcVNSTjTihbAYNusCLQdW5s9IJ5qwnEufcQ=="
+ },
"node_modules/@formatjs/ecma402-abstract": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz",
@@ -5699,6 +6046,35 @@
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
}
},
+ "node_modules/@grpc/grpc-js": {
+ "version": "1.9.15",
+ "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz",
+ "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==",
+ "dependencies": {
+ "@grpc/proto-loader": "^0.7.8",
+ "@types/node": ">=12.12.47"
+ },
+ "engines": {
+ "node": "^8.13.0 || >=10.10.0"
+ }
+ },
+ "node_modules/@grpc/proto-loader": {
+ "version": "0.7.13",
+ "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz",
+ "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==",
+ "dependencies": {
+ "lodash.camelcase": "^4.3.0",
+ "long": "^5.0.0",
+ "protobufjs": "^7.2.5",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@hapi/hoek": {
"version": "9.3.0",
"license": "BSD-3-Clause"
@@ -7443,6 +7819,60 @@
"integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==",
"dev": true
},
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+ },
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+ },
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+ },
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+ },
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+ },
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+ },
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+ },
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
+ },
"node_modules/@radix-ui/primitive": {
"version": "1.1.0",
"dev": true,
@@ -9095,44 +9525,61 @@
}
},
"node_modules/@react-native-firebase/analytics": {
- "version": "12.9.3",
- "license": "Apache-2.0",
+ "version": "21.1.0",
+ "resolved": "https://registry.npmjs.org/@react-native-firebase/analytics/-/analytics-21.1.0.tgz",
+ "integrity": "sha512-geaZY4OGaxDW0j+5GVKHhFPOpbHDJxhobIgRVRDZLh6ycw56pA5dYA/uKcjf+JIb/OepHs1RVBr9tVKiryb4JA==",
"peerDependencies": {
- "@react-native-firebase/app": "12.9.3"
+ "@react-native-firebase/app": "21.1.0"
}
},
"node_modules/@react-native-firebase/app": {
- "version": "12.9.3",
- "license": "Apache-2.0",
+ "version": "21.1.0",
+ "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-21.1.0.tgz",
+ "integrity": "sha512-nb31yuAUqp39YD5YftdV6sOIjB9rk6J2tKpPiZfCsF70xkRxE+aQ1FhpmlGOorunqvK5Zrsf0rJzlbvLfgHIrQ==",
"dependencies": {
- "@expo/config-plugins": "^4.0.3",
- "opencollective-postinstall": "^2.0.1",
+ "firebase": "10.13.2",
"superstruct": "^0.6.2"
},
"peerDependencies": {
+ "expo": ">=47.0.0",
"react": "*",
"react-native": "*"
+ },
+ "peerDependenciesMeta": {
+ "expo": {
+ "optional": true
+ }
}
},
"node_modules/@react-native-firebase/crashlytics": {
- "version": "12.9.3",
- "license": "Apache-2.0",
+ "version": "21.1.0",
+ "resolved": "https://registry.npmjs.org/@react-native-firebase/crashlytics/-/crashlytics-21.1.0.tgz",
+ "integrity": "sha512-y/6so9qdlGBnpeY0BghD8afWZipOfdZ1LhnB1YlM6GVhBvo5qudorRyLKQQLZ2xoh1PGC7M+1IW9kw/2Qu4lVQ==",
"dependencies": {
- "@expo/config-plugins": "^4.0.3",
- "stacktrace-js": "^2.0.0"
+ "stacktrace-js": "^2.0.2"
},
"peerDependencies": {
- "@react-native-firebase/app": "12.9.3"
+ "@react-native-firebase/app": "21.1.0",
+ "expo": ">=47.0.0"
+ },
+ "peerDependenciesMeta": {
+ "expo": {
+ "optional": true
+ }
}
},
"node_modules/@react-native-firebase/perf": {
- "version": "12.9.3",
- "license": "Apache-2.0",
- "dependencies": {
- "@expo/config-plugins": "^4.0.3"
- },
+ "version": "21.1.0",
+ "resolved": "https://registry.npmjs.org/@react-native-firebase/perf/-/perf-21.1.0.tgz",
+ "integrity": "sha512-u0W6RBPEOTKRzP55b7VQrF18S5YkyP/CFnuWXXoPZvNJTJDcH/68AH2Ih0a+tFths/3ZXDNzVhNE+03BV5uWqA==",
"peerDependencies": {
- "@react-native-firebase/app": "12.9.3"
+ "@react-native-firebase/app": "21.1.0",
+ "expo": ">=47.0.0"
+ },
+ "peerDependenciesMeta": {
+ "expo": {
+ "optional": true
+ }
}
},
"node_modules/@react-native-google-signin/google-signin": {
@@ -24649,7 +25096,6 @@
},
"node_modules/faye-websocket": {
"version": "0.11.4",
- "dev": true,
"license": "Apache-2.0",
"dependencies": {
"websocket-driver": ">=0.5.1"
@@ -24941,6 +25387,40 @@
"micromatch": "^4.0.2"
}
},
+ "node_modules/firebase": {
+ "version": "10.13.2",
+ "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.13.2.tgz",
+ "integrity": "sha512-YeI+TO5rJsoyZsVFx9WiN5ibdVCIigYTWwldRTMfCzrSPrJFVGao4acYj3x0EYGKDIgSgEyVBayD5BffD4Eyow==",
+ "dependencies": {
+ "@firebase/analytics": "0.10.8",
+ "@firebase/analytics-compat": "0.2.14",
+ "@firebase/app": "0.10.11",
+ "@firebase/app-check": "0.8.8",
+ "@firebase/app-check-compat": "0.3.15",
+ "@firebase/app-compat": "0.2.41",
+ "@firebase/app-types": "0.9.2",
+ "@firebase/auth": "1.7.9",
+ "@firebase/auth-compat": "0.5.14",
+ "@firebase/database": "1.0.8",
+ "@firebase/database-compat": "1.0.8",
+ "@firebase/firestore": "4.7.2",
+ "@firebase/firestore-compat": "0.3.37",
+ "@firebase/functions": "0.11.8",
+ "@firebase/functions-compat": "0.3.14",
+ "@firebase/installations": "0.6.9",
+ "@firebase/installations-compat": "0.2.9",
+ "@firebase/messaging": "0.12.11",
+ "@firebase/messaging-compat": "0.2.11",
+ "@firebase/performance": "0.6.9",
+ "@firebase/performance-compat": "0.2.9",
+ "@firebase/remote-config": "0.4.9",
+ "@firebase/remote-config-compat": "0.2.9",
+ "@firebase/storage": "0.13.2",
+ "@firebase/storage-compat": "0.3.12",
+ "@firebase/util": "1.10.0",
+ "@firebase/vertexai-preview": "0.0.4"
+ }
+ },
"node_modules/flat-cache": {
"version": "3.0.4",
"dev": true,
@@ -26145,7 +26625,6 @@
},
"node_modules/http-parser-js": {
"version": "0.5.8",
- "dev": true,
"license": "MIT"
},
"node_modules/http-proxy": {
@@ -30434,6 +30913,11 @@
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
},
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
+ },
"node_modules/lodash.clonedeep": {
"version": "4.5.0",
"dev": true,
@@ -30576,6 +31060,11 @@
"logkitty": "bin/logkitty.js"
}
},
+ "node_modules/long": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
+ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
+ },
"node_modules/loose-envify": {
"version": "1.4.0",
"license": "MIT",
@@ -32699,13 +33188,6 @@
"undici-types": "~5.26.4"
}
},
- "node_modules/opencollective-postinstall": {
- "version": "2.0.3",
- "license": "MIT",
- "bin": {
- "opencollective-postinstall": "index.js"
- }
- },
"node_modules/opener": {
"version": "1.5.2",
"dev": true,
@@ -33748,6 +34230,29 @@
"node": ">= 8"
}
},
+ "node_modules/protobufjs": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
+ "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/protocol-buffers-schema": {
"version": "3.6.0",
"license": "MIT"
@@ -40115,6 +40620,14 @@
"version": "1.13.6",
"license": "MIT"
},
+ "node_modules/undici": {
+ "version": "6.19.7",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.7.tgz",
+ "integrity": "sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==",
+ "engines": {
+ "node": ">=18.17"
+ }
+ },
"node_modules/undici-types": {
"version": "5.26.5",
"license": "MIT"
@@ -41338,7 +41851,6 @@
},
"node_modules/websocket-driver": {
"version": "0.7.4",
- "dev": true,
"license": "Apache-2.0",
"dependencies": {
"http-parser-js": ">=0.5.1",
@@ -41351,7 +41863,6 @@
},
"node_modules/websocket-extensions": {
"version": "0.1.4",
- "dev": true,
"license": "Apache-2.0",
"engines": {
"node": ">=0.8.0"
diff --git a/package.json b/package.json
index 010aaf7ce235..6e75eccc4d74 100644
--- a/package.json
+++ b/package.json
@@ -85,10 +85,10 @@
"@react-native-clipboard/clipboard": "^1.13.2",
"@react-native-community/geolocation": "3.3.0",
"@react-native-community/netinfo": "11.2.1",
- "@react-native-firebase/analytics": "^12.3.0",
- "@react-native-firebase/app": "^12.3.0",
- "@react-native-firebase/crashlytics": "^12.3.0",
- "@react-native-firebase/perf": "^12.3.0",
+ "@react-native-firebase/analytics": "^21.1.0",
+ "@react-native-firebase/app": "^21.1.0",
+ "@react-native-firebase/crashlytics": "^21.1.0",
+ "@react-native-firebase/perf": "^21.1.0",
"@react-native-google-signin/google-signin": "^10.0.1",
"@react-native-picker/picker": "2.7.6",
"@react-navigation/material-top-tabs": "^6.6.3",
@@ -379,4 +379,4 @@
"node": "20.18.0",
"npm": "10.8.2"
}
-}
+}
\ No newline at end of file
diff --git a/patches/@react-native-firebase+analytics+12.9.3+001+hybrid-app.patch b/patches/@react-native-firebase+analytics+21.1.0+001+hybrid-app.patch
similarity index 81%
rename from patches/@react-native-firebase+analytics+12.9.3+001+hybrid-app.patch
rename to patches/@react-native-firebase+analytics+21.1.0+001+hybrid-app.patch
index 74d3e2a8005a..19464c3817d8 100644
--- a/patches/@react-native-firebase+analytics+12.9.3+001+hybrid-app.patch
+++ b/patches/@react-native-firebase+analytics+21.1.0+001+hybrid-app.patch
@@ -1,8 +1,8 @@
diff --git a/node_modules/@react-native-firebase/analytics/android/build.gradle b/node_modules/@react-native-firebase/analytics/android/build.gradle
-index d223ebf..821b730 100644
+index 5cd04f1..ab7ea07 100644
--- a/node_modules/@react-native-firebase/analytics/android/build.gradle
+++ b/node_modules/@react-native-firebase/analytics/android/build.gradle
-@@ -45,6 +45,8 @@ if (coreVersionDetected != coreVersionRequired) {
+@@ -44,6 +44,8 @@ if (coreVersionDetected != coreVersionRequired) {
}
}
@@ -11,7 +11,7 @@ index d223ebf..821b730 100644
project.ext {
set('react-native', [
versions: [
-@@ -144,4 +146,3 @@ dependencies {
+@@ -175,4 +177,3 @@ dependencies {
ReactNative.shared.applyPackageVersion()
ReactNative.shared.applyDefaultExcludes()
ReactNative.module.applyAndroidVersions()
diff --git a/patches/@react-native-firebase+app+12.9.3+001+hybrid-app.patch b/patches/@react-native-firebase+app+21.1.0+001+hybrid-app.patch
similarity index 100%
rename from patches/@react-native-firebase+app+12.9.3+001+hybrid-app.patch
rename to patches/@react-native-firebase+app+21.1.0+001+hybrid-app.patch
diff --git a/patches/@react-native-firebase+crashlytics+12.9.3+001+hybrid-app.patch b/patches/@react-native-firebase+crashlytics+21.1.0+001+hybrid-app.patch
similarity index 100%
rename from patches/@react-native-firebase+crashlytics+12.9.3+001+hybrid-app.patch
rename to patches/@react-native-firebase+crashlytics+21.1.0+001+hybrid-app.patch
diff --git a/patches/@react-native-firebase+perf+12.9.3+001+hybrid-app.patch b/patches/@react-native-firebase+perf+21.1.0+001+hybrid-app.patch
similarity index 100%
rename from patches/@react-native-firebase+perf+12.9.3+001+hybrid-app.patch
rename to patches/@react-native-firebase+perf+21.1.0+001+hybrid-app.patch
diff --git a/src/libs/GoogleTagManager/index.native.ts b/src/libs/GoogleTagManager/index.native.ts
new file mode 100644
index 000000000000..267591d6ef40
--- /dev/null
+++ b/src/libs/GoogleTagManager/index.native.ts
@@ -0,0 +1,15 @@
+import analytics from '@react-native-firebase/analytics';
+import Log from '@libs/Log';
+import type {GoogleTagManagerEvent} from './types';
+import type GoogleTagManagerModule from './types';
+
+function publishEvent(event: GoogleTagManagerEvent, accountID: number) {
+ analytics().logEvent(event, {accountID});
+ Log.info('[GTM] event published', false, {event, accountID});
+}
+
+const GoogleTagManager: GoogleTagManagerModule = {
+ publishEvent,
+};
+
+export default GoogleTagManager;
diff --git a/src/libs/GoogleTagManager/index.ts b/src/libs/GoogleTagManager/index.ts
new file mode 100644
index 000000000000..dec06a6bd157
--- /dev/null
+++ b/src/libs/GoogleTagManager/index.ts
@@ -0,0 +1,30 @@
+import Log from '@libs/Log';
+import type {GoogleTagManagerEvent} from './types';
+import type GoogleTagManagerModule from './types';
+
+/**
+ * The dataLayer is added with a js snippet from Google in web/thirdPartyScripts.js
+ */
+type WindowWithDataLayer = Window & {
+ dataLayer: {
+ push: (params: DataLayerPushParams) => void;
+ };
+};
+
+type DataLayerPushParams = {
+ event: GoogleTagManagerEvent;
+ accountID: number;
+};
+
+declare const window: WindowWithDataLayer;
+
+function publishEvent(event: GoogleTagManagerEvent, accountID: number) {
+ window.dataLayer.push({event, accountID});
+ Log.info('[GTM] event published', false, {event, accountID});
+}
+
+const GoogleTagManager: GoogleTagManagerModule = {
+ publishEvent,
+};
+
+export default GoogleTagManager;
diff --git a/src/libs/GoogleTagManager/types.ts b/src/libs/GoogleTagManager/types.ts
new file mode 100644
index 000000000000..a4af6aa00330
--- /dev/null
+++ b/src/libs/GoogleTagManager/types.ts
@@ -0,0 +1,13 @@
+/**
+ * An event that can be published to Google Tag Manager. New events must be configured in GTM before they can be used
+ * in the app.
+ */
+type GoogleTagManagerEvent = 'sign_up' | 'workspace_created' | 'paid_adoption';
+
+type GoogleTagManagerModule = {
+ publishEvent: (event: GoogleTagManagerEvent, accountID: number) => void;
+};
+
+export default GoogleTagManagerModule;
+
+export type {GoogleTagManagerEvent};