Skip to content

Commit

Permalink
Merge branch 'Expensify:main' into ts-migration/31988
Browse files Browse the repository at this point in the history
  • Loading branch information
brunovjk authored Feb 7, 2024
2 parents 6d2a697 + f6ba751 commit 97fc609
Show file tree
Hide file tree
Showing 82 changed files with 731 additions and 445 deletions.
2 changes: 1 addition & 1 deletion .github/scripts/createHelpRedirects.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function checkCloudflareResult {

if ! [[ "$RESULT_MESSAGE" == "true" ]]; then
ERROR_MESSAGE=$(echo "$RESULTS" | jq .errors)
error "Error calling Cloudfalre API: $ERROR_MESSAGE"
error "Error calling Cloudflare API: $ERROR_MESSAGE"
exit 1
fi
}
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/e2ePerformanceTests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -200,9 +200,10 @@ jobs:
if: failure()
run: |
echo ${{ steps.schedule-awsdf-main.outputs.data }}
cat "./mainResults/Host_Machine_Files/\$WORKING_DIRECTORY/Test spec output.txt"
unzip "Customer Artifacts.zip" -d mainResults
cat ./mainResults/Host_Machine_Files/\$WORKING_DIRECTORY/debug.log
cat "./mainResults/Host_Machine_Files/\$WORKING_DIRECTORY/logcat.txt" || true
cat ./mainResults/Host_Machine_Files/\$WORKING_DIRECTORY/debug.log || true
cat "./mainResults/Host_Machine_Files/\$WORKING_DIRECTORY/Test spec output.txt" || true
- name: Unzip AWS Device Farm results
if: ${{ always() }}
Expand Down
5 changes: 0 additions & 5 deletions __mocks__/@react-native-community/push-notification-ios.js

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {useIsFocused as realUseIsFocused} from '@react-navigation/native';

// We only want this mocked for storybook, not jest
const useIsFocused = process.env.NODE_ENV === 'test' ? realUseIsFocused : () => true;
const useIsFocused: typeof realUseIsFocused = process.env.NODE_ENV === 'test' ? realUseIsFocused : () => true;

export * from '@react-navigation/core';
export * from '@react-navigation/native';
Expand Down
5 changes: 0 additions & 5 deletions __mocks__/push-notification-ios.js

This file was deleted.

4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001043701
versionName "1.4.37-1"
versionCode 1001043800
versionName "1.4.38-0"
}

flavorDimensions "default"
Expand Down
1 change: 1 addition & 0 deletions android/app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<resources>
<!-- If these colors are changed, we must add them to HybridApp also -->
<color name="bootsplash_background">#03D47C</color>
<color name="white">#FFFFFF</color>
<color name="accent">#03D47C</color>
Expand Down
5 changes: 4 additions & 1 deletion babel.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
require('dotenv').config();

const IS_E2E_TESTING = process.env.E2E_TESTING === 'true';

const defaultPresets = ['@babel/preset-react', '@babel/preset-env', '@babel/preset-flow', '@babel/preset-typescript'];
const defaultPlugins = [
// Adding the commonjs: true option to react-native-web plugin can cause styling conflicts
Expand Down Expand Up @@ -72,7 +74,8 @@ const metro = {
],
env: {
production: {
plugins: [['transform-remove-console', {exclude: ['error', 'warn']}]],
// Keep console logs for e2e tests
plugins: IS_E2E_TESTING ? [] : [['transform-remove-console', {exclude: ['error', 'warn']}]],
},
},
};
Expand Down
4 changes: 2 additions & 2 deletions docs/_data/_routes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ platforms:
icon: /assets/images/accounting.svg
description: From setting up your account to ensuring you get the most out of Expensify’s suite of features, click here to get started on streamlining your expense management journey.

- href: account-settings
title: Account Settings
- href: settings
title: Settings
icon: /assets/images/gears.svg
description: Discover how to personalize your profile, add secondary logins, and grant delegated access to employees with our comprehensive guide on Account Settings.

Expand Down
6 changes: 3 additions & 3 deletions docs/redirects.csv
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ https://help.expensify.com/articles/expensify-classic/expensify-card/Expensify-C
https://help.expensify.com/articles/expensify-classic/expensify-partner-program/How-to-Join-the-ExpensifyApproved!-Partner-Program.html,https://use.expensify.com/accountants-program
https://help.expensify.com/articles/expensify-classic/getting-started/approved-accountants/Card-Revenue-Share-For-Expensify-Approved-Partners, https://use.expensify.com/blog/maximizing-rewards-expensifyapproved-accounting-partners-now-earn-0-5-revenue-share
https://help.expensify.com/articles/expensify-classic/bank-accounts-and-credit-cards/International-Reimbursements,https://help.expensify.com/articles/expensify-classic/bank-accounts-and-credit-cards/Global-Reimbursements
https://community.expensify.com/discussion/4452/how-to-merge-accounts,https://help.expensify.com/articles/expensify-classic/account-settings/Merge-Accounts#gsc.tab=0
https://community.expensify.com/discussion/4783/how-to-add-or-remove-a-copilot#latest,https://help.expensify.com/articles/expensify-classic/account-settings/Copilot#gsc.tab=0
https://community.expensify.com/discussion/4452/how-to-merge-accounts,https://help.expensify.com/articles/expensify-classic/account-settings/Merge-Accounts
https://community.expensify.com/discussion/4783/how-to-add-or-remove-a-copilot,https://help.expensify.com/articles/expensify-classic/account-settings/Copilot
https://community.expensify.com/discussion/4343/expensify-anz-partnership-announcement,https://help.expensify.com/articles/expensify-classic/bank-accounts-and-credit-cards/company-cards/Connect-ANZ
https://community.expensify.com/discussion/7318/deep-dive-company-credit-card-import-options,https://help.expensify.com/articles/expensify-classic/bank-accounts-and-credit-cards/company-cards
https://community.expensify.com/discussion/2673/personalize-your-commercial-card-feed-name,https://help.expensify.com/articles/expensify-classic/bank-accounts-and-credit-cards/company-cards/Commercial-Card-Feeds
Expand All @@ -48,5 +48,5 @@ https://community.expensify.com/discussion/4463/how-to-remove-or-manage-settings
https://community.expensify.com/discussion/5793/how-to-connect-your-personal-card-to-import-expenses,https://help.expensify.com/articles/expensify-classic/bank-accounts-and-credit-cards/Personal-Credit-Cards
https://community.expensify.com/discussion/4826/how-to-set-your-annual-subscription-size,https://help.expensify.com/articles/expensify-classic/billing-and-subscriptions/Annual-Subscription
https://community.expensify.com/discussion/5667/deep-dive-how-does-the-annual-subscription-billing-work,https://help.expensify.com/articles/expensify-classic/billing-and-subscriptions/Annual-Subscription
https://help.expensify.com/expensify-classic/hubs/getting-started/plan-types,https://www.expensify.com/pricing
https://help.expensify.com/expensify-classic/hubs/getting-started/plan-types,https://use.expensify.com/
https://help.expensify.com/articles/expensify-classic/getting-started/Employees,https://help.expensify.com/articles/expensify-classic/getting-started/Join-your-company's-workspace
Binary file modified ios/NewApp_AdHoc.mobileprovision.gpg
Binary file not shown.
Binary file modified ios/NewApp_AdHoc_Notification_Service.mobileprovision.gpg
Binary file not shown.
4 changes: 2 additions & 2 deletions ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.4.37</string>
<string>1.4.38</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -40,7 +40,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.4.37.1</string>
<string>1.4.38.0</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
1 change: 1 addition & 0 deletions ios/NewExpensify/RCTBootSplash.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

@interface RCTBootSplash : NSObject <RCTBridgeModule>

+ (void)invalidateBootSplash;
+ (void)initWithStoryboard:(NSString * _Nonnull)storyboardName
rootView:(RCTRootView * _Nullable)rootView;

Expand Down
9 changes: 9 additions & 0 deletions ios/NewExpensify/RCTBootSplash.m
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@ - (dispatch_queue_t)methodQueue {
return dispatch_get_main_queue();
}

+ (void)invalidateBootSplash {
_resolverQueue = nil;
_rootView = nil;
_nativeHidden = false;
}

+ (void)initWithStoryboard:(NSString * _Nonnull)storyboardName
rootView:(RCTRootView * _Nullable)rootView {
if (rootView == nil || _rootView != nil || RCTRunningInAppExtension())
Expand Down Expand Up @@ -102,6 +108,9 @@ + (void)onContentDidAppear {
block:^(NSTimer * _Nonnull timer) {
[timer invalidate];

if (_rootView == nil)
return;

if (_resolverQueue == nil)
_resolverQueue = [[NSMutableArray alloc] init];

Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.4.37</string>
<string>1.4.38</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.4.37.1</string>
<string>1.4.38.0</string>
</dict>
</plist>
4 changes: 2 additions & 2 deletions ios/NotificationServiceExtension/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleShortVersionString</key>
<string>1.4.37</string>
<string>1.4.38</string>
<key>CFBundleVersion</key>
<string>1.4.37.1</string>
<string>1.4.38.0</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
Expand Down
6 changes: 3 additions & 3 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1453,7 +1453,7 @@ PODS:
- SDWebImage/Core (~> 5.17)
- SocketRocket (0.6.1)
- Turf (2.7.0)
- VisionCamera (2.16.2):
- VisionCamera (2.16.5):
- React
- React-callinvoker
- React-Core
Expand Down Expand Up @@ -1980,8 +1980,8 @@ SPEC CHECKSUMS:
SDWebImageWebPCoder: af09429398d99d524cae2fe00f6f0f6e491ed102
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
Turf: 13d1a92d969ca0311bbc26e8356cca178ce95da2
VisionCamera: 7d13aae043ffb38b224a0f725d1e23ca9c190fe7
Yoga: e64aa65de36c0832d04e8c7bd614396c77a80047
VisionCamera: fda554d8751e395effcc87749f8b7c198c1031be
Yoga: 13c8ef87792450193e117976337b8527b49e8c03

PODFILE CHECKSUM: 0ccbb4f2406893c6e9f266dc1e7470dcd72885d2

Expand Down
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
"version": "1.4.37-1",
"version": "1.4.38-0",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
Expand Down Expand Up @@ -73,7 +73,7 @@
"@kie/mock-github": "^1.0.0",
"@oguzhnatly/react-native-image-manipulator": "github:Expensify/react-native-image-manipulator#5cdae3d4455b03a04c57f50be3863e2fe6c92c52",
"@onfido/react-native-sdk": "8.3.0",
"@react-native-async-storage/async-storage": "^1.19.5",
"@react-native-async-storage/async-storage": "1.21.0",
"@react-native-camera-roll/camera-roll": "5.4.0",
"@react-native-clipboard/clipboard": "^1.12.1",
"@react-native-community/geolocation": "^3.0.6",
Expand Down Expand Up @@ -161,7 +161,7 @@
"react-native-tab-view": "^3.5.2",
"react-native-url-polyfill": "^2.0.0",
"react-native-view-shot": "3.8.0",
"react-native-vision-camera": "^2.16.2",
"react-native-vision-camera": "2.16.5",
"react-native-web": "^0.19.9",
"react-native-web-linear-gradient": "^1.1.2",
"react-native-webview": "13.6.3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ index 3a1a548..fe030bb 100644

android {
- compileSdkVersion 28
+ compileSdkVersion 30
+ compileSdkVersion 34
buildToolsVersion "28.0.3"

defaultConfig {
minSdkVersion 16
- targetSdkVersion 28
+ targetSdkVersion 30
+ targetSdkVersion 34
versionCode 1
versionName "1.0"
}
15 changes: 15 additions & 0 deletions patches/@react-native-camera-roll+camera-roll+5.4.0.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
diff --git a/node_modules/@react-native-camera-roll/camera-roll/android/build.gradle b/node_modules/@react-native-camera-roll/camera-roll/android/build.gradle
index 3f76132..63dc946 100644
--- a/node_modules/@react-native-camera-roll/camera-roll/android/build.gradle
+++ b/node_modules/@react-native-camera-roll/camera-roll/android/build.gradle
@@ -81,7 +81,9 @@ def findNodeModulePath(baseDir, packageName) {
}

def resolveReactNativeDirectory() {
- def reactNative = file("${findNodeModulePath(rootProject.projectDir, "react-native")}")
+ def projectDir = this.hasProperty('reactNativeProject') ? this.reactNativeProject : rootProject.projectDir
+ def modulePath = file(projectDir);
+ def reactNative = file("${findNodeModulePath(modulePath, 'react-native')}")
if (reactNative.exists()) {
return reactNative
}
52 changes: 52 additions & 0 deletions patches/@react-native-community+cli-platform-android+12.3.0.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
diff --git a/node_modules/@react-native-community/cli-platform-android/native_modules.gradle b/node_modules/@react-native-community/cli-platform-android/native_modules.gradle
index bbfa7f7..ed53872 100644
--- a/node_modules/@react-native-community/cli-platform-android/native_modules.gradle
+++ b/node_modules/@react-native-community/cli-platform-android/native_modules.gradle
@@ -140,6 +140,7 @@ class ReactNativeModules {
private Logger logger
private String packageName
private File root
+ private File rnRoot
private ArrayList<HashMap<String, String>> reactNativeModules
private ArrayList<String> unstable_reactLegacyComponentNames
private HashMap<String, ArrayList> reactNativeModulesBuildVariants
@@ -147,9 +148,10 @@ class ReactNativeModules {

private static String LOG_PREFIX = ":ReactNative:"

- ReactNativeModules(Logger logger, File root) {
+ ReactNativeModules(Logger logger, File root, File rnRoot) {
this.logger = logger
this.root = root
+ this.rnRoot = rnRoot

def (nativeModules, reactNativeModulesBuildVariants, androidProject, reactNativeVersion) = this.getReactNativeConfig()
this.reactNativeModules = nativeModules
@@ -416,10 +418,10 @@ class ReactNativeModules {
*/
def cliResolveScript = "try {console.log(require('@react-native-community/cli').bin);} catch (e) {console.log(require('react-native/cli').bin);}"
String[] nodeCommand = ["node", "-e", cliResolveScript]
- def cliPath = this.getCommandOutput(nodeCommand, this.root)
+ def cliPath = this.getCommandOutput(nodeCommand, this.rnRoot)

String[] reactNativeConfigCommand = ["node", cliPath, "config"]
- def reactNativeConfigOutput = this.getCommandOutput(reactNativeConfigCommand, this.root)
+ def reactNativeConfigOutput = this.getCommandOutput(reactNativeConfigCommand, this.rnRoot)

def json
try {
@@ -486,7 +488,13 @@ class ReactNativeModules {
*/
def projectRoot = rootProject.projectDir

-def autoModules = new ReactNativeModules(logger, projectRoot)
+def autoModules
+
+if(this.hasProperty('reactNativeProject')){
+ autoModules = new ReactNativeModules(logger, projectRoot, new File(projectRoot, reactNativeProject))
+} else {
+ autoModules = new ReactNativeModules(logger, projectRoot, projectRoot)
+}

def reactNativeVersionRequireNewArchEnabled(autoModules) {
def rnVersion = autoModules.reactNativeVersion
Loading

0 comments on commit 97fc609

Please sign in to comment.