From 248851b6ae5e322c3f6f58199b6036c341521364 Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Wed, 9 Jun 2021 14:26:52 -0700 Subject: [PATCH 01/45] Merge pull request #3494 from Expensify/version-BUILD-5e041b5536e83a461ebced2d13a489fd7714b8ad (cherry picked from commit 22e586f4680504f2df427acc323a7cb8d2c45e50) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index b810f2c425ea..c0c6e7e3e4e6 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001006600 - versionName "1.0.66-0" + versionCode 1001006603 + versionName "1.0.66-3" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index b1def0197240..ca03582a1f92 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.66.0 + 1.0.66.3 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 1c502a7a7e22..b327c2030571 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.66.0 + 1.0.66.3 diff --git a/package-lock.json b/package-lock.json index 94373a4e006e..2bb24f5aa94f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.66-0", + "version": "1.0.66-3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7c503eccb40f..d60c30ae20ee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.66-0", + "version": "1.0.66-3", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From c0246d824a32f539896678821330f604ba781a45 Mon Sep 17 00:00:00 2001 From: Andrew Gable Date: Wed, 9 Jun 2021 13:27:23 -0600 Subject: [PATCH 02/45] Merge pull request #3486 from Expensify/marcaaron-fixAnchorsInComments Use hrefAttrs for links (cherry picked from commit 8a254ee6396fe62cf8288d28f45ee816519ea790) --- .../AnchorForCommentsOnly/BaseAnchorForCommentsOnly/index.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly/index.js b/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly/index.js index 37faebd2ee02..9082f8ad396b 100644 --- a/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly/index.js +++ b/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly/index.js @@ -17,8 +17,7 @@ const BaseAnchorForCommentsOnly = ({ style={StyleSheet.flatten(style)} accessibilityRole="link" href={href} - rel={rel} - target={target} + hrefAttrs={{rel, target}} // eslint-disable-next-line react/jsx-props-no-spreading {...props} > From 236216af7c9b338183b29e7a236d1f3b5a64854b Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Wed, 9 Jun 2021 15:09:29 -0700 Subject: [PATCH 03/45] Merge pull request #3496 from Expensify/version-BUILD-22e586f4680504f2df427acc323a7cb8d2c45e50 (cherry picked from commit c1858001ab8b80e7d925984ac9c48499b1de1f44) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index c0c6e7e3e4e6..b1476e387479 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001006603 - versionName "1.0.66-3" + versionCode 1001006604 + versionName "1.0.66-4" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index ca03582a1f92..fa0dbed6d62b 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.66.3 + 1.0.66.4 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index b327c2030571..2668ec6f448d 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.66.3 + 1.0.66.4 diff --git a/package-lock.json b/package-lock.json index 2bb24f5aa94f..1d0c8dc34505 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.66-3", + "version": "1.0.66-4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d60c30ae20ee..70587a6bbad1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.66-3", + "version": "1.0.66-4", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From c52109457d9a488e2cab1a26fd953184e38aad4d Mon Sep 17 00:00:00 2001 From: Alexander Mechler Date: Wed, 9 Jun 2021 11:18:39 -0700 Subject: [PATCH 04/45] Merge pull request #3483 from Expensify/jules-bumpOnyxToFixRegression [NO-QA] Bump Onyx commit to fix IOU regression (cherry picked from commit 48e39fb35c387cb77b57ae13cb6ac3dfdc44505f) --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d0c8dc34505..50f74dc083d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33848,8 +33848,8 @@ } }, "react-native-onyx": { - "version": "git+https://github.com/Expensify/react-native-onyx.git#4ff94b6c068582a75f50c6e159d3ff69fa123138", - "from": "git+https://github.com/Expensify/react-native-onyx.git#4ff94b6c068582a75f50c6e159d3ff69fa123138", + "version": "git+https://github.com/Expensify/react-native-onyx.git#52c254fbc4b96224d2ac087e57ef6efc4210ccc1", + "from": "git+https://github.com/Expensify/react-native-onyx.git#52c254fbc4b96224d2ac087e57ef6efc4210ccc1", "requires": { "@react-native-community/async-storage": "^1.12.1", "expensify-common": "git+https://github.com/Expensify/expensify-common.git#2e5cff552cf132da90a3fb9756e6b4fb6ae7b40c", diff --git a/package.json b/package.json index 70587a6bbad1..ac03a46e51ea 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "react-native-image-picker": "^2.3.3", "react-native-keyboard-spacer": "^0.4.1", "react-native-modal": "^11.10.0", - "react-native-onyx": "git+https://github.com/Expensify/react-native-onyx.git#4ff94b6c068582a75f50c6e159d3ff69fa123138", + "react-native-onyx": "git+https://github.com/Expensify/react-native-onyx.git#52c254fbc4b96224d2ac087e57ef6efc4210ccc1", "react-native-pdf": "^6.2.2", "react-native-permissions": "^3.0.1", "react-native-picker-select": "8.0.4", From dd48c8c4b05dd25405976df376d088d1c07c2398 Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Wed, 9 Jun 2021 15:58:49 -0700 Subject: [PATCH 05/45] Merge pull request #3500 from Expensify/version-BUILD-c1858001ab8b80e7d925984ac9c48499b1de1f44 (cherry picked from commit 0a90b0f716114838f1e37f6c636e4da004c1052d) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index b1476e387479..db40e1537e52 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001006604 - versionName "1.0.66-4" + versionCode 1001006605 + versionName "1.0.66-5" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index fa0dbed6d62b..5420ad9ae1eb 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.66.4 + 1.0.66.5 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 2668ec6f448d..eee15df15375 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.66.4 + 1.0.66.5 diff --git a/package-lock.json b/package-lock.json index 50f74dc083d8..6216280967b0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.66-4", + "version": "1.0.66-5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ac03a46e51ea..c63abaee41cb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.66-4", + "version": "1.0.66-5", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From 9b26ab0573bb4c44c59c69055956eb0e36fecf95 Mon Sep 17 00:00:00 2001 From: Rory Abraham <47436092+roryabraham@users.noreply.github.com> Date: Wed, 9 Jun 2021 10:30:12 -0700 Subject: [PATCH 06/45] Merge pull request #3481 from Expensify/jules-iouFixPermissionsRegression Update Permissions logic to fix IOU regression (cherry picked from commit 64f1307f230dada6e79c80452683e4018f626bcc) --- src/libs/Permissions.js | 6 ++++-- src/pages/iou/IOUDetailsModal.js | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/libs/Permissions.js b/src/libs/Permissions.js index 33cfb6084308..f0a981b350b3 100644 --- a/src/libs/Permissions.js +++ b/src/libs/Permissions.js @@ -28,16 +28,18 @@ function canUseIOU(betas) { } /** + * @param {Array} betas * @returns {Boolean} */ -function canUsePayWithExpensify() { +function canUsePayWithExpensify(betas) { return _.contains(betas, CONST.BETAS.PAY_WITH_EXPENSIFY) || canUseAllBetas(); } /** + * @param {Array} betas * @returns {Boolean} */ -function canUseFreePlan() { +function canUseFreePlan(betas) { return _.contains(betas, CONST.BETAS.FREE_PLAN) || canUseAllBetas(); } diff --git a/src/pages/iou/IOUDetailsModal.js b/src/pages/iou/IOUDetailsModal.js index 5b00f2aa5556..878220af9793 100644 --- a/src/pages/iou/IOUDetailsModal.js +++ b/src/pages/iou/IOUDetailsModal.js @@ -67,6 +67,9 @@ const propTypes = { email: PropTypes.string, }).isRequired, + /** Beta features list */ + betas: PropTypes.arrayOf(PropTypes.string).isRequired, + ...withLocalizePropTypes, }; @@ -181,7 +184,7 @@ class IOUDetailsModal extends Component { */ addExpensifyPaymentOptionIfAvailable() { if (lodashGet(this.props, 'iouReport.currency') !== CONST.CURRENCY.USD - || !Permissions.canUsePayWithExpensify()) { + || !Permissions.canUsePayWithExpensify(this.props.betas)) { return; } @@ -286,5 +289,8 @@ export default compose( session: { key: ONYXKEYS.SESSION, }, + betas: { + key: ONYXKEYS.BETAS, + }, }), )(IOUDetailsModal); From d02893c2eb47d3abea05a758527f0fb1dbcc3772 Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Fri, 11 Jun 2021 11:41:01 -0700 Subject: [PATCH 07/45] Merge pull request #3553 from Expensify/version-BUILD-3e2f266c5399022d4f58cd1a36b204c0254edef2 (cherry picked from commit 76648bc228f582928939deb6c35d98341c366c64) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index dccbf50eb39c..279a5c45298c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001006800 - versionName "1.0.68-0" + versionCode 1001006801 + versionName "1.0.68-1" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index ebd206de134d..d425a945d978 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.68.0 + 1.0.68.1 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index e5cd8e21170b..588ac9c44c25 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.68.0 + 1.0.68.1 diff --git a/package-lock.json b/package-lock.json index 26c85346ee6e..7e691fba202a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.68-0", + "version": "1.0.68-1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e58e9ba56665..45e9ce884c7f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.68-0", + "version": "1.0.68-1", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From 636808675c5a2a9f751f3ed894cb0a0491121453 Mon Sep 17 00:00:00 2001 From: Rory Abraham <47436092+roryabraham@users.noreply.github.com> Date: Fri, 11 Jun 2021 11:38:33 -0700 Subject: [PATCH 08/45] Merge pull request #3550 from Expensify/Rory-Upgrade-react-native-document-picker Upgrade react-native-document-picker to 5.1.0 (cherry picked from commit 3e2f266c5399022d4f58cd1a36b204c0254edef2) --- ios/ExpensifyCash.xcodeproj/project.pbxproj | 168 ++++++++++---------- ios/Podfile.lock | 6 +- package-lock.json | 6 +- package.json | 2 +- 4 files changed, 91 insertions(+), 91 deletions(-) diff --git a/ios/ExpensifyCash.xcodeproj/project.pbxproj b/ios/ExpensifyCash.xcodeproj/project.pbxproj index 6b7d7a919afc..3f740ca957f2 100644 --- a/ios/ExpensifyCash.xcodeproj/project.pbxproj +++ b/ios/ExpensifyCash.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ 1E76D5232522316A005A268F /* GTAmericaExp-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = AE65058949E14DA5A2D5435D /* GTAmericaExp-Medium.otf */; }; 1E76D5242522316A005A268F /* GTAmericaExp-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 8C7003903C1E4957824899BB /* GTAmericaExp-Regular.otf */; }; 1E76D5252522316A005A268F /* GTAmericaExp-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = A292718541C841859D97DF2F /* GTAmericaExp-Thin.otf */; }; - 3807535CE8E56AD76DEF8703 /* libPods-ExpensifyCash-ExpensifyCashTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5C9C2B205FECC0A67CA878 /* libPods-ExpensifyCash-ExpensifyCashTests.a */; }; 425866037F4C482AAB46CB8B /* GTAmericaExp-BdIt.otf in Resources */ = {isa = PBXBuildFile; fileRef = A8D6F2F722FD4E66A38EBBB6 /* GTAmericaExp-BdIt.otf */; }; 52477A09739546F4814EA25F /* GTAmericaExpMono-Bd.otf in Resources */ = {isa = PBXBuildFile; fileRef = 0DE5D096095C41EE96746C9E /* GTAmericaExpMono-Bd.otf */; }; 6856B78873B64C44A92E51DB /* GTAmericaExp-MdIt.otf in Resources */ = {isa = PBXBuildFile; fileRef = DB5A1365442D4419AF6F08E5 /* GTAmericaExp-MdIt.otf */; }; 70CF6E82262E297300711ADC /* BootSplash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 70CF6E81262E297300711ADC /* BootSplash.storyboard */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 8821A238A081483FA947BC4E /* GTAmericaExp-RgIt.otf in Resources */ = {isa = PBXBuildFile; fileRef = 918D7FEFF96242E6B5F5E14D /* GTAmericaExp-RgIt.otf */; }; - B4A2C73581BDC3D66F94A3AC /* libPods-ExpensifyCash.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B41FE47F80F455FB6E019B5E /* libPods-ExpensifyCash.a */; }; + A3436007AC25B52D4421EDFE /* libPods-ExpensifyCash-ExpensifyCashTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D9772847002A7309594CFB3C /* libPods-ExpensifyCash-ExpensifyCashTests.a */; }; + DA1351CF1BC4929C869D7874 /* libPods-ExpensifyCash.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19505195D8D4A1D33ACBECCF /* libPods-ExpensifyCash.a */; }; DB77016704074197AB6633BB /* GTAmericaExpMono-RgIt.otf in Resources */ = {isa = PBXBuildFile; fileRef = 5150E5D0D7F74DBA8D7C1914 /* GTAmericaExpMono-RgIt.otf */; }; E9DF872D2525201700607FDC /* AirshipConfig.plist in Resources */ = {isa = PBXBuildFile; fileRef = E9DF872C2525201700607FDC /* AirshipConfig.plist */; }; ED814D34526B415CAFA0451E /* GTAmericaExpMono-BdIt.otf in Resources */ = {isa = PBXBuildFile; fileRef = 3981452A2C7340EBBA2B9BD1 /* GTAmericaExpMono-BdIt.otf */; }; @@ -60,10 +60,11 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ExpensifyCash/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ExpensifyCash/main.m; sourceTree = ""; }; 18D050DF262400AF000D658B /* BridgingFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BridgingFile.swift; sourceTree = ""; }; - 1C3425E20B41643777DE7722 /* Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig"; path = "Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig"; sourceTree = ""; }; + 19505195D8D4A1D33ACBECCF /* libPods-ExpensifyCash.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExpensifyCash.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 3981452A2C7340EBBA2B9BD1 /* GTAmericaExpMono-BdIt.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "GTAmericaExpMono-BdIt.otf"; path = "../assets/fonts/GTAmericaExpMono-BdIt.otf"; sourceTree = ""; }; - 46BF67CDAA47420D541264C2 /* Pods-ExpensifyCash.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExpensifyCash.release.xcconfig"; path = "Target Support Files/Pods-ExpensifyCash/Pods-ExpensifyCash.release.xcconfig"; sourceTree = ""; }; + 40EE174FE0E5010DA25F3180 /* Pods-ExpensifyCash.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExpensifyCash.debug.xcconfig"; path = "Target Support Files/Pods-ExpensifyCash/Pods-ExpensifyCash.debug.xcconfig"; sourceTree = ""; }; 5150E5D0D7F74DBA8D7C1914 /* GTAmericaExpMono-RgIt.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "GTAmericaExpMono-RgIt.otf"; path = "../assets/fonts/GTAmericaExpMono-RgIt.otf"; sourceTree = ""; }; + 5E0275D64694B453A3EE297D /* Pods-ExpensifyCash.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExpensifyCash.release.xcconfig"; path = "Target Support Files/Pods-ExpensifyCash/Pods-ExpensifyCash.release.xcconfig"; sourceTree = ""; }; 67D5C3A6A7FA417C8A853FC1 /* GTAmericaExp-Light.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "GTAmericaExp-Light.otf"; path = "../assets/fonts/GTAmericaExp-Light.otf"; sourceTree = ""; }; 70CF6E81262E297300711ADC /* BootSplash.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = BootSplash.storyboard; path = ExpensifyCash/BootSplash.storyboard; sourceTree = ""; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ExpensifyCash/LaunchScreen.storyboard; sourceTree = ""; }; @@ -74,12 +75,11 @@ A5AAD008CBD84A6CAEB9AC97 /* GTAmericaExp-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "GTAmericaExp-Bold.otf"; path = "../assets/fonts/GTAmericaExp-Bold.otf"; sourceTree = ""; }; A8D6F2F722FD4E66A38EBBB6 /* GTAmericaExp-BdIt.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "GTAmericaExp-BdIt.otf"; path = "../assets/fonts/GTAmericaExp-BdIt.otf"; sourceTree = ""; }; AE65058949E14DA5A2D5435D /* GTAmericaExp-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "GTAmericaExp-Medium.otf"; path = "../assets/fonts/GTAmericaExp-Medium.otf"; sourceTree = ""; }; - B41FE47F80F455FB6E019B5E /* libPods-ExpensifyCash.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExpensifyCash.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - CF8C66EE73F9B503DE3E0D58 /* Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig"; path = "Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig"; sourceTree = ""; }; + B82386231652D749850CFC70 /* Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig"; path = "Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig"; sourceTree = ""; }; + D111222CBD2088E51A5BB624 /* Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig"; path = "Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig"; sourceTree = ""; }; + D9772847002A7309594CFB3C /* libPods-ExpensifyCash-ExpensifyCashTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExpensifyCash-ExpensifyCashTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; DB5A1365442D4419AF6F08E5 /* GTAmericaExp-MdIt.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "GTAmericaExp-MdIt.otf"; path = "../assets/fonts/GTAmericaExp-MdIt.otf"; sourceTree = ""; }; - DDF4204498D793D7FB483440 /* Pods-ExpensifyCash.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExpensifyCash.debug.xcconfig"; path = "Target Support Files/Pods-ExpensifyCash/Pods-ExpensifyCash.debug.xcconfig"; sourceTree = ""; }; E9DF872C2525201700607FDC /* AirshipConfig.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = AirshipConfig.plist; sourceTree = ""; }; - EC5C9C2B205FECC0A67CA878 /* libPods-ExpensifyCash-ExpensifyCashTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExpensifyCash-ExpensifyCashTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 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; }; /* End PBXFileReference section */ @@ -89,7 +89,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3807535CE8E56AD76DEF8703 /* libPods-ExpensifyCash-ExpensifyCashTests.a in Frameworks */, + A3436007AC25B52D4421EDFE /* libPods-ExpensifyCash-ExpensifyCashTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -97,7 +97,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B4A2C73581BDC3D66F94A3AC /* libPods-ExpensifyCash.a in Frameworks */, + DA1351CF1BC4929C869D7874 /* libPods-ExpensifyCash.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -145,8 +145,8 @@ children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */, - B41FE47F80F455FB6E019B5E /* libPods-ExpensifyCash.a */, - EC5C9C2B205FECC0A67CA878 /* libPods-ExpensifyCash-ExpensifyCashTests.a */, + 19505195D8D4A1D33ACBECCF /* libPods-ExpensifyCash.a */, + D9772847002A7309594CFB3C /* libPods-ExpensifyCash-ExpensifyCashTests.a */, ); name = Frameworks; sourceTree = ""; @@ -206,10 +206,10 @@ EC29677F0A49C2946A495A33 /* Pods */ = { isa = PBXGroup; children = ( - 46BF67CDAA47420D541264C2 /* Pods-ExpensifyCash.release.xcconfig */, - CF8C66EE73F9B503DE3E0D58 /* Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig */, - 1C3425E20B41643777DE7722 /* Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig */, - DDF4204498D793D7FB483440 /* Pods-ExpensifyCash.debug.xcconfig */, + 40EE174FE0E5010DA25F3180 /* Pods-ExpensifyCash.debug.xcconfig */, + 5E0275D64694B453A3EE297D /* Pods-ExpensifyCash.release.xcconfig */, + B82386231652D749850CFC70 /* Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig */, + D111222CBD2088E51A5BB624 /* Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -221,12 +221,12 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ExpensifyCashTests" */; buildPhases = ( - 39ECFD0897ADA7A0E34E0C36 /* [CP] Check Pods Manifest.lock */, + 538F0530BD355DE69016FC8D /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - 97ED3CCB9FD5A5A2AB20CC03 /* [CP] Embed Pods Frameworks */, - E3E26870421B0A221D65F7A4 /* [CP] Copy Pods Resources */, + DC5669E1DEB80DD839FDB293 /* [CP] Embed Pods Frameworks */, + D91BC49ED9E5B6C37CAABCC6 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -242,16 +242,16 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ExpensifyCash" */; buildPhases = ( - ED5B8E90A3384FC6A128FB95 /* [CP] Check Pods Manifest.lock */, + BD50DAA2FC45BE14BFB945D0 /* [CP] Check Pods Manifest.lock */, FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 7466D6D5FFFCE8DCCD1EB333 /* [CP] Copy Pods Resources */, - F928D8F3D996EB54A782A79C /* [CP-User] [RNFB] Core Configuration */, - DA4F8CF5B777BDB8DD1EB45D /* [CP-User] [RNFB] Crashlytics Configuration */, - DBBB399CCB345652E314C5BC /* [CP] Embed Pods Frameworks */, + 8575AEF2E98CE400DE51E589 /* [CP] Embed Pods Frameworks */, + 1FE23122F2FCC35F85E0E2F7 /* [CP] Copy Pods Resources */, + CF6C6C97851DBF01CDAE664E /* [CP-User] [RNFB] Core Configuration */, + 5717025076C7AEA43883A0AC /* [CP-User] [RNFB] Crashlytics Configuration */, ); buildRules = ( ); @@ -350,29 +350,7 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; - 39ECFD0897ADA7A0E34E0C36 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ExpensifyCash-ExpensifyCashTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 7466D6D5FFFCE8DCCD1EB333 /* [CP] Copy Pods Resources */ = { + 1FE23122F2FCC35F85E0E2F7 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -500,29 +478,29 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExpensifyCash/Pods-ExpensifyCash-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 97ED3CCB9FD5A5A2AB20CC03 /* [CP] Embed Pods Frameworks */ = { + 538F0530BD355DE69016FC8D /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests-frameworks.sh", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Onfido/Onfido.framework/Onfido", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/LinkKit/LinkKit.framework/LinkKit", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Onfido.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LinkKit.framework", + "$(DERIVED_FILE_DIR)/Pods-ExpensifyCash-ExpensifyCashTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - DA4F8CF5B777BDB8DD1EB45D /* [CP-User] [RNFB] Crashlytics Configuration */ = { + 5717025076C7AEA43883A0AC /* [CP-User] [RNFB] Crashlytics Configuration */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -532,7 +510,7 @@ shellPath = /bin/sh; shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\nif [[ ${PODS_ROOT} ]]; then\n echo \"info: Exec FirebaseCrashlytics Run from Pods\"\n \"${PODS_ROOT}/FirebaseCrashlytics/run\"\nelse\n echo \"info: Exec FirebaseCrashlytics Run from framework\"\n \"${PROJECT_DIR}/FirebaseCrashlytics.framework/run\"\nfi\n"; }; - DBBB399CCB345652E314C5BC /* [CP] Embed Pods Frameworks */ = { + 8575AEF2E98CE400DE51E589 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -554,7 +532,39 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExpensifyCash/Pods-ExpensifyCash-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E3E26870421B0A221D65F7A4 /* [CP] Copy Pods Resources */ = { + BD50DAA2FC45BE14BFB945D0 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ExpensifyCash-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + CF6C6C97851DBF01CDAE664E /* [CP-User] [RNFB] Core Configuration */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + 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 | 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.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.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\n\n # config.admob_delay_app_measurement_init\n _ADMOB_DELAY_APP_MEASUREMENT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"admob_delay_app_measurement_init\")\n if [[ $_ADMOB_DELAY_APP_MEASUREMENT == \"true\" ]]; then\n _PLIST_ENTRY_KEYS+=(\"GADDelayAppMeasurementInit\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"YES\")\n fi\n\n # config.admob_ios_app_id\n _ADMOB_IOS_APP_ID=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"admob_ios_app_id\")\n if [[ $_ADMOB_IOS_APP_ID ]]; then\n _PLIST_ENTRY_KEYS+=(\"GADApplicationIdentifier\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_ADMOB_IOS_APP_ID\")\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"; + }; + D91BC49ED9E5B6C37CAABCC6 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -682,38 +692,28 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - ED5B8E90A3384FC6A128FB95 /* [CP] Check Pods Manifest.lock */ = { + DC5669E1DEB80DD839FDB293 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Onfido/Onfido.framework/Onfido", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/LinkKit/LinkKit.framework/LinkKit", ); + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ExpensifyCash-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Onfido.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LinkKit.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExpensifyCash-ExpensifyCashTests/Pods-ExpensifyCash-ExpensifyCashTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - F928D8F3D996EB54A782A79C /* [CP-User] [RNFB] Core Configuration */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - 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 | 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.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.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\n\n # config.admob_delay_app_measurement_init\n _ADMOB_DELAY_APP_MEASUREMENT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"admob_delay_app_measurement_init\")\n if [[ $_ADMOB_DELAY_APP_MEASUREMENT == \"true\" ]]; then\n _PLIST_ENTRY_KEYS+=(\"GADDelayAppMeasurementInit\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"YES\")\n fi\n\n # config.admob_ios_app_id\n _ADMOB_IOS_APP_ID=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"admob_ios_app_id\")\n if [[ $_ADMOB_IOS_APP_ID ]]; then\n _PLIST_ENTRY_KEYS+=(\"GADApplicationIdentifier\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_ADMOB_IOS_APP_ID\")\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"; - }; FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -769,7 +769,7 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CF8C66EE73F9B503DE3E0D58 /* Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig */; + baseConfigurationReference = B82386231652D749850CFC70 /* Pods-ExpensifyCash-ExpensifyCashTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -794,7 +794,7 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C3425E20B41643777DE7722 /* Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig */; + baseConfigurationReference = D111222CBD2088E51A5BB624 /* Pods-ExpensifyCash-ExpensifyCashTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -817,7 +817,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DDF4204498D793D7FB483440 /* Pods-ExpensifyCash.debug.xcconfig */; + baseConfigurationReference = 40EE174FE0E5010DA25F3180 /* Pods-ExpensifyCash.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -850,7 +850,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 46BF67CDAA47420D541264C2 /* Pods-ExpensifyCash.release.xcconfig */; + baseConfigurationReference = 5E0275D64694B453A3EE297D /* Pods-ExpensifyCash.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 1c15b664a4af..67f3f46f4a70 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -351,7 +351,7 @@ PODS: - react-native-config/App (= 1.4.1) - react-native-config/App (1.4.1): - React-Core - - react-native-document-picker (4.0.0): + - react-native-document-picker (5.1.0): - React-Core - react-native-image-picker (2.3.4): - React-Core @@ -728,7 +728,7 @@ SPEC CHECKSUMS: CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: fc439e6acc4ae4bb40105318e8ee1d099f4932d2 + FBReactNativeSpec: 7c304782592aaf95fe9fc6add0746906d6562739 Firebase: c23a36d9e4cdf7877dfcba8dd0c58add66358999 FirebaseAnalytics: 3bb096873ee0d7fa4b6c70f5e9166b6da413cc7f FirebaseCore: d3a978a3cfa3240bf7e4ba7d137fdf5b22b628ec @@ -768,7 +768,7 @@ SPEC CHECKSUMS: React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 react-native-config: d8b45133fd13d4f23bd2064b72f6e2c08b2763ed - react-native-document-picker: b3e78a8f7fef98b5cb069f20fc35797d55e68e28 + react-native-document-picker: 0e3602a4064da040321bafad6848d8b0edcb1d55 react-native-image-picker: 32d1ad2c0024ca36161ae0d5c2117e2d6c441f11 react-native-netinfo: 52cf0ee8342548a485e28f4b09e56b477567244d react-native-pdf: 4b5a9e4465a6a3b399e91dc4838eb44ddf716d1f diff --git a/package-lock.json b/package-lock.json index 7e691fba202a..dc29d642259b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33773,9 +33773,9 @@ "integrity": "sha512-isK9z1ibzG0Z8HPRhCk0krmvtLknONCpEHLGSpBtf+oQ02PllAXljGMFN/XJCnq3G3MdmP1CffZh3vm4e/A50w==" }, "react-native-document-picker": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/react-native-document-picker/-/react-native-document-picker-4.0.0.tgz", - "integrity": "sha512-tjIOBBcyjv4j5E1MDL2OvEKNpXxQybLNkjjfpTyDUzek7grZ5eOvSlp6i/Y3EfuIGLByeaw++9R1SZtOij6R7w==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-native-document-picker/-/react-native-document-picker-5.1.0.tgz", + "integrity": "sha512-XMSDibp1GX0UMlVdsmAgjmf4/FJ+TCvVLWdKjV4QkTIO3TbDKsWSAS1+9jgUYcqIwQpO87SFBkvJ5cjOwx9vNA==" }, "react-native-gesture-handler": { "version": "1.9.0", diff --git a/package.json b/package.json index 45e9ce884c7f..37537508e8e3 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "react-native": "0.64.1", "react-native-bootsplash": "^3.2.0", "react-native-config": "^1.4.0", - "react-native-document-picker": "^4.0.0", + "react-native-document-picker": "^5.1.0", "react-native-gesture-handler": "1.9.0", "react-native-image-pan-zoom": "^2.1.12", "react-native-image-picker": "^2.3.3", From c66c5b2eee5cbcd3f20a5ac8f870ff41164e425b Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Fri, 11 Jun 2021 12:36:21 -0700 Subject: [PATCH 09/45] Merge pull request #3556 from Expensify/version-BUILD-584183f77615d2e07fe7a0247624cc10fc243cc4 (cherry picked from commit a0e0ad467c315111b3cdd66919769ca9e1acd27c) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 279a5c45298c..985a814d7ddc 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001006801 - versionName "1.0.68-1" + versionCode 1001006802 + versionName "1.0.68-2" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index d425a945d978..db5c11963078 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.68.1 + 1.0.68.2 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 588ac9c44c25..5d606f393e67 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.68.1 + 1.0.68.2 diff --git a/package-lock.json b/package-lock.json index dc29d642259b..a706fc144fe7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.68-1", + "version": "1.0.68-2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 37537508e8e3..b21d8bf4082e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.68-1", + "version": "1.0.68-2", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From f7b3699aaab7a52b990a5fa6a95d0c8a37eb64f5 Mon Sep 17 00:00:00 2001 From: Marc Glasser Date: Fri, 11 Jun 2021 09:33:07 -1000 Subject: [PATCH 10/45] Merge pull request #3555 from Expensify/Rory-FixHotkeys Add capturing event listeners to the KeyboardShortcut library (cherry picked from commit 584183f77615d2e07fe7a0247624cc10fc243cc4) --- src/libs/KeyboardShortcut/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/KeyboardShortcut/index.js b/src/libs/KeyboardShortcut/index.js index c1496ce9c815..250fa9c9c3d4 100644 --- a/src/libs/KeyboardShortcut/index.js +++ b/src/libs/KeyboardShortcut/index.js @@ -51,8 +51,8 @@ function bindHandlerToKeyupEvent(event) { } // Make sure we don't add multiple listeners -document.removeEventListener('keydown', bindHandlerToKeyupEvent); -document.addEventListener('keydown', bindHandlerToKeyupEvent); +document.removeEventListener('keydown', bindHandlerToKeyupEvent, {capture: true}); +document.addEventListener('keydown', bindHandlerToKeyupEvent, {capture: true}); /** * Module storing the different keyboard shortcut From 5e9f5426a051f9dccc19ad8962c60ef27b42e3e2 Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Fri, 11 Jun 2021 14:31:31 -0700 Subject: [PATCH 11/45] Merge pull request #3563 from Expensify/version-BUILD-be7fee0ddc56a5388ea0f576c2ddfe81669f977b (cherry picked from commit 1ceed16f8d963e2d9a7565c930a93d22bb1ce33d) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 985a814d7ddc..83b20adf0501 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001006802 - versionName "1.0.68-2" + versionCode 1001006803 + versionName "1.0.68-3" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index db5c11963078..2d6afbfb3d78 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.68.2 + 1.0.68.3 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 5d606f393e67..5db2e3f79789 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.68.2 + 1.0.68.3 diff --git a/package-lock.json b/package-lock.json index a706fc144fe7..87416bf4a04f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.68-2", + "version": "1.0.68-3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b21d8bf4082e..181e074ff744 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.68-2", + "version": "1.0.68-3", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From a7cfb183af8c45070a1003df53cc01ff6211f220 Mon Sep 17 00:00:00 2001 From: Marc Glasser Date: Fri, 11 Jun 2021 10:02:24 -1000 Subject: [PATCH 12/45] Merge pull request #3535 from Expensify/amechler-fix-signout Fix infinite spinner when signing into an account after signing out (cherry picked from commit fad0d88c8d23f2b3b91e5ce5c032384210f0ef89) --- package-lock.json | 4 ++-- package.json | 2 +- src/libs/actions/Session.js | 22 ++++++++++------------ 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 87416bf4a04f..f8f6d15ddce2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33843,8 +33843,8 @@ } }, "react-native-onyx": { - "version": "git+https://github.com/Expensify/react-native-onyx.git#52c254fbc4b96224d2ac087e57ef6efc4210ccc1", - "from": "git+https://github.com/Expensify/react-native-onyx.git#52c254fbc4b96224d2ac087e57ef6efc4210ccc1", + "version": "git+https://github.com/Expensify/react-native-onyx.git#1e82e592032c6d0ede8e40f08beb6be790d149e8", + "from": "git+https://github.com/Expensify/react-native-onyx.git#1e82e592032c6d0ede8e40f08beb6be790d149e8", "requires": { "@react-native-community/async-storage": "^1.12.1", "expensify-common": "git+https://github.com/Expensify/expensify-common.git#2e5cff552cf132da90a3fb9756e6b4fb6ae7b40c", diff --git a/package.json b/package.json index 181e074ff744..3dff0a1a5b89 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "react-native-image-picker": "^2.3.3", "react-native-keyboard-spacer": "^0.4.1", "react-native-modal": "^11.10.0", - "react-native-onyx": "git+https://github.com/Expensify/react-native-onyx.git#52c254fbc4b96224d2ac087e57ef6efc4210ccc1", + "react-native-onyx": "git+https://github.com/Expensify/react-native-onyx.git#1e82e592032c6d0ede8e40f08beb6be790d149e8", "react-native-pdf": "^6.2.2", "react-native-permissions": "^3.0.1", "react-native-picker-select": "8.0.4", diff --git a/src/libs/actions/Session.js b/src/libs/actions/Session.js index afceefe5a092..efbb82abe602 100644 --- a/src/libs/actions/Session.js +++ b/src/libs/actions/Session.js @@ -58,21 +58,19 @@ function createAccount(login) { * Clears the Onyx store and redirects user to the sign in page */ function signOut() { + if (credentials && credentials.autoGeneratedLogin) { + // Clean up the login that we created + API.DeleteLogin({ + partnerUserID: credentials.autoGeneratedLogin, + partnerName: CONFIG.EXPENSIFY.PARTNER_NAME, + partnerPassword: CONFIG.EXPENSIFY.PARTNER_PASSWORD, + doNotRetry: true, + }) + .catch(error => Onyx.merge(ONYXKEYS.SESSION, {error: error.message})); + } Timing.clearData(); redirectToSignIn(); - console.debug('Redirecting to Sign In because signOut() was called'); - if (!credentials || !credentials.autoGeneratedLogin) { - return; - } - - API.DeleteLogin({ - partnerUserID: credentials.autoGeneratedLogin, - partnerName: CONFIG.EXPENSIFY.PARTNER_NAME, - partnerPassword: CONFIG.EXPENSIFY.PARTNER_PASSWORD, - doNotRetry: true, - }) - .catch(error => Onyx.merge(ONYXKEYS.SESSION, {error: error.message})); } /** From a0ea7db6bcc75e4edc01817a435051ff371c03bc Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Mon, 14 Jun 2021 15:02:55 -0700 Subject: [PATCH 13/45] Merge pull request #3583 from Expensify/version-BUILD-5a043715a7d670b4182f39cd182ae3e66a806971 (cherry picked from commit 11b781540f89c0b19aa56280c02bcca10f7399f6) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 83b20adf0501..5f58d28bd8b7 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001006803 - versionName "1.0.68-3" + versionCode 1001006804 + versionName "1.0.68-4" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index 2d6afbfb3d78..6b15df09344f 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.68.3 + 1.0.68.4 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 5db2e3f79789..f7f50226c806 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.68.3 + 1.0.68.4 diff --git a/package-lock.json b/package-lock.json index f8f6d15ddce2..4797f907e560 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.68-3", + "version": "1.0.68-4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 3dff0a1a5b89..741cdffa9b48 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.68-3", + "version": "1.0.68-4", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From 258744fb92f8e4310c00a8dc946b4c64e79bc09c Mon Sep 17 00:00:00 2001 From: Chris Kosuke Tseng Date: Mon, 14 Jun 2021 15:00:38 -0700 Subject: [PATCH 14/45] Merge pull request #3581 from parasharrajat/attachment-picker fix: Document Picker crash on IOS (cherry picked from commit 5a043715a7d670b4182f39cd182ae3e66a806971) --- src/components/AttachmentPicker/index.native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/AttachmentPicker/index.native.js b/src/components/AttachmentPicker/index.native.js index c51efab7dee9..a35dcf63a51c 100644 --- a/src/components/AttachmentPicker/index.native.js +++ b/src/components/AttachmentPicker/index.native.js @@ -227,7 +227,7 @@ class AttachmentPicker extends Component { .then(this.pickAttachment) .catch(console.error) .finally(() => delete this.onModalHide), - 10, + 200, ); this.close(); From a817803b21f1fb8cbfdf7a12fddfa48f00b42a0d Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Tue, 22 Jun 2021 12:16:02 -0700 Subject: [PATCH 15/45] Merge pull request #3722 from Expensify/version-BUILD-c94c24a6e16fbf3614c72cbc9c225cafb5a188f1 (cherry picked from commit 6fa4c8a9f642a9a91d2202bb54ec008158bf9be9) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index f757a08cf089..858d9976148b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007300 - versionName "1.0.73-0" + versionCode 1001007301 + versionName "1.0.73-1" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index 07553310a4a4..ff317bba22ae 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.73.0 + 1.0.73.1 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index afacefdfbfd9..c35f3be5b15d 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.73.0 + 1.0.73.1 diff --git a/package-lock.json b/package-lock.json index ccddf1960b39..915609709b57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.73-0", + "version": "1.0.73-1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a388bd8d524f..ae03afeeb9e0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.73-0", + "version": "1.0.73-1", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From fd10c63e63a9c13c812e600cbf8d78b4e5311ab4 Mon Sep 17 00:00:00 2001 From: Tim Golen Date: Tue, 22 Jun 2021 13:13:50 -0600 Subject: [PATCH 16/45] Merge pull request #3719 from Expensify/Rory-FixPhoneNumberPageAutoFocus Don't focus input until screen transition has ended (cherry picked from commit c94c24a6e16fbf3614c72cbc9c225cafb5a188f1) --- src/pages/settings/AddSecondaryLoginPage.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/pages/settings/AddSecondaryLoginPage.js b/src/pages/settings/AddSecondaryLoginPage.js index 2e0bf3a35a11..cf65b4b4ad65 100755 --- a/src/pages/settings/AddSecondaryLoginPage.js +++ b/src/pages/settings/AddSecondaryLoginPage.js @@ -72,6 +72,8 @@ class AddSecondaryLoginPage extends Component { this.formType = props.route.params.type; this.submitForm = this.submitForm.bind(this); this.validateForm = this.validateForm.bind(this); + + this.phoneNumberInputRef = null; } componentWillUnmount() { @@ -102,7 +104,12 @@ class AddSecondaryLoginPage extends Component { render() { return ( - + { + if (this.phoneNumberInputRef) { + this.phoneNumberInputRef.focus(); + } + }} + > this.phoneNumberInputRef = el} style={styles.textInput} value={this.state.login} onChangeText={login => this.setState({login})} - autoFocus keyboardType={this.formType === CONST.LOGIN_TYPE.PHONE ? CONST.KEYBOARD_TYPE.PHONE_PAD : undefined} returnKeyType="done" From 5375c76bfd7a00985d2d37e62558e00590075122 Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Tue, 22 Jun 2021 14:01:33 -0700 Subject: [PATCH 17/45] Merge pull request #3725 from Expensify/version-BUILD-2c831b06e70b19a932165921416741d8b5561d56 (cherry picked from commit 59c130d6de0c2ad3fca6240af66c9c46913bf6e2) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 858d9976148b..7b7ccd84e745 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007301 - versionName "1.0.73-1" + versionCode 1001007302 + versionName "1.0.73-2" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index ff317bba22ae..31493baf5a57 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.73.1 + 1.0.73.2 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index c35f3be5b15d..c867fb76eee9 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.73.1 + 1.0.73.2 diff --git a/package-lock.json b/package-lock.json index 915609709b57..a4aa235392e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.73-1", + "version": "1.0.73-2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ae03afeeb9e0..42ca0339f87c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.73-1", + "version": "1.0.73-2", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From d9413ff442b3906d05020c8d91c785be78a2bb63 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Mon, 21 Jun 2021 16:59:27 -0600 Subject: [PATCH 18/45] Merge pull request #3713 from Expensify/cmartins-android-add-venmo-support Add Venmo to intent filter list in AndroidManifest.xml (cherry picked from commit 4de0c4490ac03cb78ba1d1a45a3a7a7883e7cf8f) --- android/app/src/main/AndroidManifest.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index e4799c6dac97..95162a30af5a 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -7,6 +7,15 @@ + + + + + + + + Date: Thu, 24 Jun 2021 17:46:11 -0700 Subject: [PATCH 19/45] Merge pull request #3750 from Expensify/version-BUILD-20312dee35b88cdf59a0d6020db6182596d3765c (cherry picked from commit 00379e55e93380240340f6284e77ed7a6045c919) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 7b7ccd84e745..2c18f654ff58 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007302 - versionName "1.0.73-2" + versionCode 1001007303 + versionName "1.0.73-3" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index 31493baf5a57..91af5a7e6539 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.73.2 + 1.0.73.3 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index c867fb76eee9..af17f9f263f4 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.73.2 + 1.0.73.3 diff --git a/package-lock.json b/package-lock.json index a4aa235392e4..7c896e7d24ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.73-2", + "version": "1.0.73-3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 42ca0339f87c..f7d841f3a164 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.73-2", + "version": "1.0.73-3", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From 3fd28177ebb7ad3e427d25dc3b44d9b659c0cb2c Mon Sep 17 00:00:00 2001 From: Rory Abraham <47436092+roryabraham@users.noreply.github.com> Date: Thu, 24 Jun 2021 17:40:07 -0700 Subject: [PATCH 20/45] Merge pull request #3749 from Expensify/Rory-FixLanguagePicker Preload locales to fix native crash (cherry picked from commit 20312dee35b88cdf59a0d6020db6182596d3765c) --- src/libs/DateUtils.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libs/DateUtils.js b/src/libs/DateUtils.js index 84b44f501a15..7b9e77d9c919 100644 --- a/src/libs/DateUtils.js +++ b/src/libs/DateUtils.js @@ -1,5 +1,8 @@ -import moment from 'moment'; -import 'moment-timezone'; +import moment from 'moment-timezone'; + +// IMPORTANT: load any locales (other than english) that might be passed to moment.locale() +import 'moment/locale/es'; + import _ from 'underscore'; import Onyx from 'react-native-onyx'; import ONYXKEYS from '../ONYXKEYS'; From b79d047faabf440321e9f165147aa1fffb4c209c Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:02:52 -0700 Subject: [PATCH 21/45] Merge pull request #3833 from Expensify/version-BUILD-454664cb514079ca9fcc1ce825da21a0e4473f27 (cherry picked from commit 1957af2510d15549af3370131707395d3f269a98) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index d77ee1bc2492..dafac174539b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007500 - versionName "1.0.75-0" + versionCode 1001007502 + versionName "1.0.75-2" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index 19f65bdea2b5..91cdf887ca30 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.75.0 + 1.0.75.2 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 2617420f5642..978173d3cfe9 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.75.0 + 1.0.75.2 diff --git a/package-lock.json b/package-lock.json index 4cf1c894e489..7614679d28de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.75-0", + "version": "1.0.75-2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7e83d9159043..f650c80ac7e3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.75-0", + "version": "1.0.75-2", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From 6c495894fb3be7128533bc71bcb612a32c366410 Mon Sep 17 00:00:00 2001 From: Rory Abraham <47436092+roryabraham@users.noreply.github.com> Date: Wed, 30 Jun 2021 10:58:26 -0700 Subject: [PATCH 22/45] Merge pull request #3816 from Expensify/Rory-RevertSuppressTouch Revert suppression of touchstart to fix regressions (cherry picked from commit af376d2fc4d5971ebe96ca3a4327e233694d2922) --- .../PressableWithSecondaryInteraction/index.js | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/components/PressableWithSecondaryInteraction/index.js b/src/components/PressableWithSecondaryInteraction/index.js index a4eb910f07b7..30480e0143ba 100644 --- a/src/components/PressableWithSecondaryInteraction/index.js +++ b/src/components/PressableWithSecondaryInteraction/index.js @@ -15,7 +15,6 @@ class PressableWithSecondaryInteraction extends Component { super(props); this.executeSecondaryInteractionOnContextMenu = this.executeSecondaryInteractionOnContextMenu.bind(this); - this.preventDefault = this.preventDefault.bind(this); } componentDidMount() { @@ -23,20 +22,10 @@ class PressableWithSecondaryInteraction extends Component { this.props.forwardedRef(this.pressableRef); } this.pressableRef.addEventListener('contextmenu', this.executeSecondaryInteractionOnContextMenu); - this.pressableRef.addEventListener('touchstart', this.preventDefault); } componentWillUnmount() { this.pressableRef.removeEventListener('contextmenu', this.executeSecondaryInteractionOnContextMenu); - this.pressableRef.removeEventListener('touchstart', this.preventDefault); - } - - /** - * @param {touchstart} e - TouchEvent. - * https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent - */ - preventDefault(e) { - e.preventDefault(); } /** From a5e6d46a67c7fccc8fbe35a4201c63dd65df8499 Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:34:34 -0700 Subject: [PATCH 23/45] Merge pull request #3836 from Expensify/version-BUILD-5c24bd600944b84e8007e0174e09e925bd9cbbe0 (cherry picked from commit b330b3da015703a0e3ceacfb3c946bf565019752) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index dafac174539b..b9568466dc72 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007502 - versionName "1.0.75-2" + versionCode 1001007504 + versionName "1.0.75-4" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index 91cdf887ca30..fd244c259eee 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.75.2 + 1.0.75.4 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 978173d3cfe9..eb505675b99f 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.75.2 + 1.0.75.4 diff --git a/package-lock.json b/package-lock.json index 7614679d28de..71bb3b94ba96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.75-2", + "version": "1.0.75-4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f650c80ac7e3..25f96fcbc058 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.75-2", + "version": "1.0.75-4", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From 80c64513818860f03218da32143d3896d84ed6ee Mon Sep 17 00:00:00 2001 From: Tim Golen Date: Wed, 30 Jun 2021 11:57:17 -0600 Subject: [PATCH 24/45] Merge pull request #3824 from Expensify/revert-3760-thibault-FixSearchPageSlowIssue(CMD+K) [CP Staging] Revert "Fix Desktop - CMD + K is slow and laggy #3601" (cherry picked from commit 312e645644c368e1cd219b077962f59130c037c9) --- src/components/OptionsSelector.js | 39 +++------ src/pages/SearchPage.js | 140 ++++++++++++++++-------------- 2 files changed, 87 insertions(+), 92 deletions(-) mode change 100644 => 100755 src/components/OptionsSelector.js mode change 100644 => 100755 src/pages/SearchPage.js diff --git a/src/components/OptionsSelector.js b/src/components/OptionsSelector.js old mode 100644 new mode 100755 index 651992c16032..d03519c43de1 --- a/src/components/OptionsSelector.js +++ b/src/components/OptionsSelector.js @@ -13,12 +13,6 @@ const propTypes = { /** Callback to fire when a row is tapped */ onSelectRow: PropTypes.func, - /** Function to get a filtered result as list */ - searchSections: PropTypes.func, - - /** Function to get header message from parent component */ - getCustomHeaderMessage: PropTypes.func, - /** Sections for the section list */ sections: PropTypes.arrayOf(PropTypes.shape({ /** Title of the section */ @@ -34,12 +28,21 @@ const propTypes = { shouldShow: PropTypes.bool, })).isRequired, + /** Value in the search input field */ + value: PropTypes.string.isRequired, + + /** Callback fired when text changes */ + onChangeText: PropTypes.func.isRequired, + /** Optional placeholder text for the selector */ placeholderText: PropTypes.string, /** Options that have already been selected */ selectedOptions: PropTypes.arrayOf(optionPropTypes), + /** Optional header message */ + headerMessage: PropTypes.string, + /** Whether we can select multiple options */ canSelectMultipleOptions: PropTypes.bool, @@ -66,10 +69,9 @@ const propTypes = { const defaultProps = { onSelectRow: () => {}, - searchSections: () => {}, - getCustomHeaderMessage: () => {}, placeholderText: '', selectedOptions: [], + headerMessage: '', canSelectMultipleOptions: false, hideSectionHeaders: false, disableArrowKeysActions: false, @@ -84,14 +86,11 @@ class OptionsSelector extends Component { super(props); this.handleKeyPress = this.handleKeyPress.bind(this); - this.onChangeText = this.onChangeText.bind(this); this.selectRow = this.selectRow.bind(this); this.viewableItems = []; - this.searchValue = ''; this.state = { focusedIndex: 0, - sections: props.sections, }; } @@ -99,17 +98,6 @@ class OptionsSelector extends Component { this.textInput.focus(); } - /** - * Updates sections filtered by searchValue - * - * @param {String} searchValue - */ - onChangeText(searchValue) { - const sections = this.props.searchSections(searchValue); - this.searchValue = searchValue; - this.setState({sections}); - } - /** * Scrolls to the focused index within the SectionList * @@ -207,8 +195,9 @@ class OptionsSelector extends Component { styleFocusIn={[styles.textInputReversedFocus]} ref={el => this.textInput = el} style={[styles.textInput]} + value={this.props.value} + onChangeText={this.props.onChangeText} onKeyPress={this.handleKeyPress} - onChangeText={this.onChangeText} placeholder={this.props.placeholderText || this.props.translate('optionsSelector.nameEmailOrPhoneNumber')} placeholderTextColor={themeColors.placeholderText} @@ -218,12 +207,12 @@ class OptionsSelector extends Component { ref={el => this.list = el} optionHoveredStyle={styles.hoveredComponentBG} onSelectRow={this.selectRow} - sections={this.state.sections} + sections={this.props.sections} focusedIndex={this.state.focusedIndex} selectedOptions={this.props.selectedOptions} canSelectMultipleOptions={this.props.canSelectMultipleOptions} hideSectionHeaders={this.props.hideSectionHeaders} - headerMessage={this.props.getCustomHeaderMessage(this.searchValue)} + headerMessage={this.props.headerMessage} disableFocusOptions={this.props.disableArrowKeysActions} hideAdditionalOptionStates={this.props.hideAdditionalOptionStates} forceTextUnreadStyle={this.props.forceTextUnreadStyle} diff --git a/src/pages/SearchPage.js b/src/pages/SearchPage.js old mode 100644 new mode 100755 index 6b224722de81..564e0181679c --- a/src/pages/SearchPage.js +++ b/src/pages/SearchPage.js @@ -1,3 +1,4 @@ +import _ from 'underscore'; import React, {Component} from 'react'; import {View} from 'react-native'; import PropTypes from 'prop-types'; @@ -64,74 +65,53 @@ class SearchPage extends Component { Timing.start(CONST.TIMING.SEARCH_RENDER); this.selectReport = this.selectReport.bind(this); - this.searchSections = this.searchSections.bind(this); - this.getCustomHeaderMessage = this.getCustomHeaderMessage.bind(this); - } + this.onChangeText = this.onChangeText.bind(this); + this.debouncedUpdateOptions = _.debounce(this.updateOptions.bind(this), 300); - componentDidMount() { - Timing.end(CONST.TIMING.SEARCH_RENDER); - } - - /** - * Returns header message given searchValue - * @param {String} searchValue - * @returns {String} header messae - */ - getCustomHeaderMessage(searchValue = '') { const { recentReports, personalDetails, userToInvite, } = getSearchOptions( - this.props.reports, - this.props.personalDetails, + props.reports, + props.personalDetails, '', - this.props.betas, - ); - return getHeaderMessage( - (recentReports.length + personalDetails.length) !== 0, - Boolean(userToInvite), - searchValue, + props.betas, ); + + this.state = { + searchValue: '', + recentReports, + personalDetails, + userToInvite, + }; } - /** - * Returns the sections needed for the OptionsSelector - * - * @returns {Array} - */ - getSections() { - // getSections is same to searchSections given empty searchValue - return this.searchSections(); + componentDidMount() { + Timing.end(CONST.TIMING.SEARCH_RENDER); + } + + onChangeText(searchValue = '') { + this.setState({searchValue}, this.debouncedUpdateOptions); } /** * Returns the sections needed for the OptionsSelector - * @param {String} searchValue + * * @returns {Array} */ - searchSections(searchValue = '') { - const { - recentReports, - personalDetails, - userToInvite, - } = getSearchOptions( - this.props.reports, - this.props.personalDetails, - searchValue, - this.props.betas, - ); + getSections() { const sections = [{ title: this.props.translate('common.recents'), - data: recentReports.concat(personalDetails), + data: this.state.recentReports.concat(this.state.personalDetails), shouldShow: true, indexOffset: 0, }]; - if (userToInvite) { + if (this.state.userToInvite) { sections.push(({ undefined, - data: [userToInvite], + data: [this.state.userToInvite], shouldShow: true, indexOffset: 0, })); @@ -140,6 +120,24 @@ class SearchPage extends Component { return sections; } + updateOptions() { + const { + recentReports, + personalDetails, + userToInvite, + } = getSearchOptions( + this.props.reports, + this.props.personalDetails, + this.state.searchValue, + this.props.betas, + ); + this.setState({ + userToInvite, + recentReports, + personalDetails, + }); + } + /** * Reset the search value and redirect to the selected report * @@ -151,7 +149,11 @@ class SearchPage extends Component { } if (option.reportID) { - Navigation.navigate(ROUTES.getReportRoute(option.reportID)); + this.setState({ + searchValue: '', + }, () => { + Navigation.navigate(ROUTES.getReportRoute(option.reportID)); + }); } else { fetchOrCreateChatReport([ this.props.session.email, @@ -162,32 +164,36 @@ class SearchPage extends Component { render() { const sections = this.getSections(); + const headerMessage = getHeaderMessage( + (this.state.recentReports.length + this.state.personalDetails.length) !== 0, + Boolean(this.state.userToInvite), + this.state.searchValue, + ); return ( {({didScreenTransitionEnd}) => ( - didScreenTransitionEnd && ( - <> - Navigation.dismissModal(true)} + <> + Navigation.dismissModal(true)} + /> + + + {didScreenTransitionEnd && ( + - - - {didScreenTransitionEnd && ( - - )} - - - - ) + )} + + + )} ); From e7effde71569ae3030a85e5e6803fa62178be8a2 Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Wed, 30 Jun 2021 15:18:09 -0700 Subject: [PATCH 25/45] Merge pull request #3842 from Expensify/version-BUILD-d627947ae5a8d6cbfeab1b7be11453f60dd68b4c (cherry picked from commit 55a8ec450645e661254e3b869b2ff109ab098d46) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index b9568466dc72..5d2c429a6b75 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007504 - versionName "1.0.75-4" + versionCode 1001007505 + versionName "1.0.75-5" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index fd244c259eee..7cd4c8ffac22 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.75.4 + 1.0.75.5 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index eb505675b99f..de94ee5b2b07 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.75.4 + 1.0.75.5 diff --git a/package-lock.json b/package-lock.json index 71bb3b94ba96..b2f0d2b2a700 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.75-4", + "version": "1.0.75-5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 25f96fcbc058..c2000481fd39 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.75-4", + "version": "1.0.75-5", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From e03643cd2cbeddaeb9467d8960a6196fb2b09a20 Mon Sep 17 00:00:00 2001 From: Yuwen Memon Date: Wed, 30 Jun 2021 15:16:03 -0700 Subject: [PATCH 26/45] Merge pull request #3840 from Expensify/yuwen-sidebarOptionsBetas Start including betas in the call to getSidebarOptions (cherry picked from commit d627947ae5a8d6cbfeab1b7be11453f60dd68b4c) --- src/libs/OptionsListUtils.js | 11 ++++++++++- src/pages/home/sidebar/SidebarLinks.js | 4 ++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index 1b3666d56c64..66c1d76e024e 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -551,9 +551,17 @@ function getNewGroupOptions( * @param {Object} draftComments * @param {Number} activeReportID * @param {String} priorityMode + * @param {Array} betas * @returns {Object} */ -function getSidebarOptions(reports, personalDetails, draftComments, activeReportID, priorityMode) { +function getSidebarOptions( + reports, + personalDetails, + draftComments, + activeReportID, + priorityMode, + betas, +) { let sideBarOptions = { prioritizePinnedReports: true, }; @@ -565,6 +573,7 @@ function getSidebarOptions(reports, personalDetails, draftComments, activeReport } return getOptions(reports, personalDetails, draftComments, activeReportID, { + betas, includeRecentReports: true, includeMultipleParticipantReports: true, maxRecentReportsToShow: 0, // Unlimited diff --git a/src/pages/home/sidebar/SidebarLinks.js b/src/pages/home/sidebar/SidebarLinks.js index 7fa678b444cd..48a9c30b842e 100644 --- a/src/pages/home/sidebar/SidebarLinks.js +++ b/src/pages/home/sidebar/SidebarLinks.js @@ -112,6 +112,7 @@ class SidebarLinks extends React.Component { this.props.draftComments, activeReportID, this.props.priorityMode, + this.props.betas, ); const sections = [{ @@ -218,5 +219,8 @@ export default compose( isSyncingData: { key: ONYXKEYS.IS_LOADING_AFTER_RECONNECT, }, + betas: { + key: ONYXKEYS.BETAS, + }, }), )(SidebarLinks); From 5512d06e7a07d19cdae2d8019d7fc9e1cd0e821f Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Thu, 8 Jul 2021 11:08:49 -0700 Subject: [PATCH 27/45] Merge pull request #3934 from Expensify/version-BUILD-1cc22a1340b5e8c0ae72a9c1c0e6d7363d48d690 (cherry picked from commit fea7789a5db1944914aa2a30a8a34190c7232c96) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index bc59ec1cbe5e..ea27891555d7 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007600 - versionName "1.0.76-0" + versionCode 1001007601 + versionName "1.0.76-1" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index 9af657c4ac01..38e304c3f1d5 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.76.0 + 1.0.76.1 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 5325f0562117..8d4d2455e09b 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.76.0 + 1.0.76.1 diff --git a/package-lock.json b/package-lock.json index 27cffd546bd0..1ffc3b2610ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.76-0", + "version": "1.0.76-1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ee3d8c277e48..0ab95bfd8b56 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.76-0", + "version": "1.0.76-1", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From cf0c46cd1328a3e5c11aef887f252ac1d7e2eac4 Mon Sep 17 00:00:00 2001 From: Carlos Alvarez Date: Thu, 8 Jul 2021 11:05:32 -0700 Subject: [PATCH 28/45] Merge pull request #3932 from Expensify/Rory-FixIOUCurrencyRoutes Fix IOU currency routes (cherry picked from commit 1cc22a1340b5e8c0ae72a9c1c0e6d7363d48d690) --- src/ROUTES.js | 19 +++++++++++-------- src/libs/Navigation/linkingConfig.js | 4 ++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/ROUTES.js b/src/ROUTES.js index 9a70098921ce..d8ba76beb458 100644 --- a/src/ROUTES.js +++ b/src/ROUTES.js @@ -10,6 +10,9 @@ const IOU_REQUEST = 'iou/request'; const IOU_BILL = 'iou/split'; const IOU_SEND = 'iou/send'; const IOU_DETAILS = 'iou/details'; +const IOU_REQUEST_CURRENCY = `${IOU_REQUEST}/currency`; +const IOU_BILL_CURRENCY = `${IOU_BILL}/currency`; +const IOU_SEND_CURRENCY = `${IOU_SEND}/currency`; export default { BANK_ACCOUNT: 'bank-account/:stepToOpen?', @@ -35,17 +38,17 @@ export default { IOU_BILL, IOU_SEND, IOU_REQUEST_WITH_REPORT_ID: `${IOU_REQUEST}/:reportID?`, - IOU_BILL_WITH_REPORTID: `${IOU_BILL}/:reportID?`, - IOU_SEND_WITH_REPORTID: `${IOU_SEND}/:reportID?`, + IOU_BILL_WITH_REPORT_ID: `${IOU_BILL}/:reportID?`, + IOU_SEND_WITH_REPORT_ID: `${IOU_SEND}/:reportID?`, getIouRequestRoute: reportID => `${IOU_REQUEST}/${reportID}`, getIouSplitRoute: reportID => `${IOU_BILL}/${reportID}`, getIOUSendRoute: reportID => `${IOU_SEND}/${reportID}`, - IOU_BILL_CURRENCY: `${IOU_BILL}/:reportID/currency`, - IOU_REQUEST_CURRENCY: `${IOU_REQUEST}/:reportID/currency`, - IOU_SEND_CURRENCY: `${IOU_SEND}/:reportID/currency`, - getIouRequestCurrencyRoute: reportID => `${IOU_REQUEST}/${reportID}/currency`, - getIouBillCurrencyRoute: reportID => `${IOU_BILL}/${reportID}/currency`, - getIouSendCurrencyRoute: reportID => `${IOU_SEND}/${reportID}/currency`, + IOU_BILL_CURRENCY: `${IOU_BILL_CURRENCY}/:reportID?`, + IOU_REQUEST_CURRENCY: `${IOU_REQUEST_CURRENCY}/:reportID?`, + IOU_SEND_CURRENCY: `${IOU_SEND_CURRENCY}/:reportID?`, + getIouRequestCurrencyRoute: reportID => `${IOU_REQUEST_CURRENCY}/${reportID}`, + getIouBillCurrencyRoute: reportID => `${IOU_BILL_CURRENCY}/${reportID}`, + getIouSendCurrencyRoute: reportID => `${IOU_SEND_CURRENCY}/${reportID}`, IOU_DETAILS, IOU_DETAILS_WITH_IOU_REPORT_ID: `${IOU_DETAILS}/:chatReportID/:iouReportID/`, getIouDetailsRoute: (chatReportID, iouReportID) => `iou/details/${chatReportID}/${iouReportID}`, diff --git a/src/libs/Navigation/linkingConfig.js b/src/libs/Navigation/linkingConfig.js index 5f804531a4ca..e5e0648ac027 100644 --- a/src/libs/Navigation/linkingConfig.js +++ b/src/libs/Navigation/linkingConfig.js @@ -104,13 +104,13 @@ export default { }, IOU_Bill: { screens: { - IOU_Bill_Root: ROUTES.IOU_BILL_WITH_REPORTID, + IOU_Bill_Root: ROUTES.IOU_BILL_WITH_REPORT_ID, IOU_Bill_Currency: ROUTES.IOU_BILL_CURRENCY, }, }, IOU_Send: { screens: { - IOU_Send_Root: ROUTES.IOU_SEND_WITH_REPORTID, + IOU_Send_Root: ROUTES.IOU_SEND_WITH_REPORT_ID, IOU_Send_Currency: ROUTES.IOU_SEND_CURRENCY, }, }, From 38a852c6639d09510cd0cd3fd88fe59a0bedb91a Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Fri, 9 Jul 2021 09:39:32 -0700 Subject: [PATCH 29/45] Merge pull request #3948 from Expensify/version-BUILD-2db53ecdca5e2762a5c394aef895123fb0f5f332 (cherry picked from commit 263ce68a2fc2df530ac88c047c71d4609dbc5ae0) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index ea27891555d7..e0c4ad0ef2b4 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007601 - versionName "1.0.76-1" + versionCode 1001007602 + versionName "1.0.76-2" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index 38e304c3f1d5..a4c2a01c027f 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.76.1 + 1.0.76.2 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 8d4d2455e09b..d54a7ac013cf 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.76.1 + 1.0.76.2 diff --git a/package-lock.json b/package-lock.json index 1ffc3b2610ad..599741eada21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.76-1", + "version": "1.0.76-2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 0ab95bfd8b56..1ccf92470989 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.76-1", + "version": "1.0.76-2", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From 28814e5a3de7b2c7d60e17597700bae5d2fb5292 Mon Sep 17 00:00:00 2001 From: Rory Abraham <47436092+roryabraham@users.noreply.github.com> Date: Thu, 8 Jul 2021 11:10:25 -0700 Subject: [PATCH 30/45] Merge pull request #3908 from rdjuric/transitionFix Improves transition when changing chats (cherry picked from commit b1f09a3b276ea6b4771f285879d0ffa161f707ce) --- src/pages/home/ReportScreen.js | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/pages/home/ReportScreen.js b/src/pages/home/ReportScreen.js index 259ccaf20de5..0020eebdc831 100644 --- a/src/pages/home/ReportScreen.js +++ b/src/pages/home/ReportScreen.js @@ -34,15 +34,6 @@ class ReportScreen extends React.Component { this.storeCurrentlyViewedReport(); } - componentDidUpdate(prevProps) { - const reportChanged = this.props.route.params.reportID !== prevProps.route.params.reportID; - - if (reportChanged) { - this.prepareTransition(); - this.storeCurrentlyViewedReport(); - } - } - componentWillUnmount() { clearTimeout(this.loadingTimerId); } @@ -73,7 +64,7 @@ class ReportScreen extends React.Component { this.setState({isLoading: true}); clearTimeout(this.loadingTimerId); - this.loadingTimerId = setTimeout(() => this.setState({isLoading: false}), 300); + this.loadingTimerId = setTimeout(() => this.setState({isLoading: false}), 150); } /** @@ -94,7 +85,7 @@ class ReportScreen extends React.Component { - + {!this.shouldShowLoader() && } ); } From 7365dc36478d6fcf6bd4376ce8d7582d38802a01 Mon Sep 17 00:00:00 2001 From: OSBotify <76178356+OSBotify@users.noreply.github.com> Date: Mon, 12 Jul 2021 15:28:00 -0700 Subject: [PATCH 31/45] Merge pull request #3990 from Expensify/version-BUILD-bb042f5810d4861abdc59b42177348d86233390f (cherry picked from commit 5b90ea6638788d9f9b5fed52bef4961d17e07c11) --- android/app/build.gradle | 4 ++-- ios/ExpensifyCash/Info.plist | 2 +- ios/ExpensifyCashTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 77993f699b9f..d09f167b777e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001007700 - versionName "1.0.77-0" + versionCode 1001007701 + versionName "1.0.77-1" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index b82035c98fe4..7cb33316c03d 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.77.0 + 1.0.77.1 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index f8e8e19a9d3d..1799afe57673 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.77.0 + 1.0.77.1 diff --git a/package-lock.json b/package-lock.json index f1601bc4657d..5268181d5c86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.77-0", + "version": "1.0.77-1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 6288ed1701f7..b2ae56e4c99c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.77-0", + "version": "1.0.77-1", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", From 4885078331b8d9648f783a3c1e4134ca9c4bdf52 Mon Sep 17 00:00:00 2001 From: Andrew Gable Date: Mon, 12 Jul 2021 16:25:35 -0600 Subject: [PATCH 32/45] Merge pull request #3989 from Expensify/Rory-FixMobileInviteForm Make button visible in WorkspaceInvitePage (cherry picked from commit bb042f5810d4861abdc59b42177348d86233390f) --- src/pages/workspace/WorkspaceInvitePage.js | 96 +++++++++++----------- 1 file changed, 50 insertions(+), 46 deletions(-) diff --git a/src/pages/workspace/WorkspaceInvitePage.js b/src/pages/workspace/WorkspaceInvitePage.js index 0fbf26c490fa..8a6e47a66203 100644 --- a/src/pages/workspace/WorkspaceInvitePage.js +++ b/src/pages/workspace/WorkspaceInvitePage.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import {TextInput, View} from 'react-native'; +import {ScrollView, TextInput, View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; import Str from 'expensify-common/lib/str'; import withLocalize, {withLocalizePropTypes} from '../../components/withLocalize'; @@ -17,6 +17,8 @@ import TextLink from '../../components/TextLink'; import getEmailKeyboardType from '../../libs/getEmailKeyboardType'; import themeColors from '../../styles/themes/default'; import Growl from '../../libs/Growl'; +import KeyboardAvoidingView from '../../components/KeyboardAvoidingView'; +import FixedFooter from '../../components/FixedFooter'; const propTypes = { ...withLocalizePropTypes, @@ -83,51 +85,53 @@ class WorkspaceInvitePage extends React.Component { render() { return ( - - - - - {this.props.translate('workspace.invite.invitePeoplePrompt')} - - - - {this.props.translate('workspace.invite.enterEmailOrPhone')} + + + + + + {this.props.translate('workspace.invite.invitePeoplePrompt')} - this.setState({emailOrPhone: text})} - /> + + + {this.props.translate('workspace.invite.enterEmailOrPhone')} + + this.setState({emailOrPhone: text})} + /> + + + + {this.props.translate('workspace.invite.personalMessagePrompt')} + + this.setState({welcomeNote: text})} + /> + + {this.props.translate('common.privacy')} + + - - - {this.props.translate('workspace.invite.personalMessagePrompt')} - - this.setState({welcomeNote: text})} - /> - - {this.props.translate('common.privacy')} - - - - + +