Skip to content

Commit 50d128f

Browse files
committed
Merge branch 'main' into jsys/upgrade-pager-view
2 parents 6120017 + 38e6d72 commit 50d128f

File tree

270 files changed

+5487
-2835
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

270 files changed

+5487
-2835
lines changed

.eslintrc.js

+7
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,13 @@ module.exports = {
244244
property: 'getSize',
245245
message: 'Usage of Image.getImage is restricted. Please use the `react-native-image-size`.',
246246
},
247+
// Disallow direct HybridAppModule.isHybridApp() usage, because it requires a native call
248+
// Use CONFIG.IS_HYBRID_APP, which keeps cached value instead
249+
{
250+
object: 'HybridAppModule',
251+
property: 'isHybridApp',
252+
message: 'Use CONFIG.IS_HYBRID_APP instead.',
253+
},
247254
],
248255
'no-restricted-imports': [
249256
'error',

.github/workflows/cherryPick.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
AUTHOR_CHECKLIST=$(sed -n '/### PR Author Checklist/,$p' .github/PULL_REQUEST_TEMPLATE.md)
9999
100100
PR_DESCRIPTION=$(cat <<EOF
101-
🍒 Cherry pick https://github.com/Expensify/App/pull/56382 to staging 🍒
101+
🍒 Cherry pick https://github.com/Expensify/App/pull/${{ github.event.inputs.PULL_REQUEST_NUMBER }} to staging 🍒
102102
103103
This PR had conflicts when we tried to cherry-pick it to staging. You'll need to manually perform the cherry-pick, using the following steps:
104104

.github/workflows/e2ePerformanceTests.yml

+2
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ jobs:
113113

114114
- name: Setup Node
115115
uses: ./.github/actions/composite/setupNode
116+
with:
117+
IS_DESKTOP_BUILD: 'true'
116118

117119
- name: Make zip directory for everything to send to AWS Device Farm
118120
run: mkdir zip

.github/workflows/testBuild.yml

+1
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ jobs:
301301
needs: [prep]
302302
secrets: inherit
303303
with:
304+
APP_PR_NUMBER: ${{ github.event.inputs.PULL_REQUEST_NUMBER }}
304305
APP_REF: ${{ needs.prep.outputs.REF }}
305306
IOS_HYBRID: ${{ inputs.IOS_HYBRID }}
306307
ANDROID_HYBRID: ${{ inputs.ANDROID_HYBRID }}

.github/workflows/testBuildHybrid.yml

+9-8
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ on:
1313
default: ''
1414
workflow_call:
1515
inputs:
16+
APP_PR_NUMBER:
17+
description: Pull Request number from App repo needed for download link construction
18+
type: string
19+
required: true
1620
APP_REF:
1721
description: Git ref to checkout in App
1822
type: string
@@ -34,8 +38,8 @@ on:
3438

3539

3640
env:
37-
# This variable is needed for fastlane to construct correct path
38-
PULL_REQUEST_NUMBER: ${{ github.event.inputs.APP_PULL_REQUEST_NUMBER || github.event.inputs.HYBRIDAPP_PULL_REQUEST_NUMBER }}
41+
# This variable is needed for fastlane to construct correct path, -hybrid suffix is needed to distinguish hybrid apps from standalone New Dot
42+
PULL_REQUEST_NUMBER: ${{ github.event.inputs.APP_PULL_REQUEST_NUMBER || github.event.inputs.HYBRIDAPP_PULL_REQUEST_NUMBER || inputs.APP_PR_NUMBER}}-hybrid
3943

4044
jobs:
4145
prep:
@@ -45,18 +49,15 @@ jobs:
4549
uses: actions/checkout@v4
4650

4751
- name: Validate that user is an Expensify employee
48-
if: ${{ github.event_name == 'workflow_dispatch' }}
52+
if: ${{ inputs.APP_REF == '' }}
4953
uses: ./.github/actions/composite/validateActor
5054
with:
5155
REQUIRE_APP_DEPLOYER: false
5256
OS_BOTIFY_TOKEN: ${{ secrets.OS_BOTIFY_COMMIT_TOKEN }}
5357

5458
- name: Validate input
59+
if: ${{ inputs.APP_REF == '' }}
5560
run: |
56-
if [[ "${{ github.event_name }}" == "workflow_call" ]]; then
57-
exit 0
58-
fi
59-
6061
if [[ -z "${{ github.event.inputs.APP_PULL_REQUEST_NUMBER }}" && -z "${{ github.event.inputs.HYBRIDAPP_PULL_REQUEST_NUMBER }}" ]]; then
6162
echo "Invalid input. You have to pass at least one PR number"
6263
exit 1
@@ -76,7 +77,7 @@ jobs:
7677
run: |
7778
set -e
7879
79-
if [[ "${{ github.event_name }}" == "workflow_call " ]]; then
80+
if [[ -n "${{ inputs.APP_REF }}" ]]; then
8081
echo "REF=${{ inputs.APP_REF }}" >> "$GITHUB_OUTPUT"
8182
exit 0
8283
fi

Mobile-Expensify

android/app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ android {
114114
minSdkVersion rootProject.ext.minSdkVersion
115115
targetSdkVersion rootProject.ext.targetSdkVersion
116116
multiDexEnabled rootProject.ext.multiDexEnabled
117-
versionCode 1009011004
118-
versionName "9.1.10-4"
117+
versionCode 1009011205
118+
versionName "9.1.12-5"
119119
// Supported language variants must be declared here to avoid from being removed during the compilation.
120120
// This also helps us to not include unnecessary language variants in the APK.
121121
resConfigs "en", "es"

desktop/package-lock.json

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

desktop/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"dependencies": {
77
"electron-context-menu": "^2.3.0",
88
"electron-log": "^4.4.8",
9-
"electron-updater": "^6.5.0",
9+
"electron-updater": "^6.6.0",
1010
"mime-types": "^2.1.35",
1111
"node-machine-id": "^1.1.12"
1212
},
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,44 @@
11
---
2-
title: Add personal Australian bank account
2+
title: Add a Personal Australian Bank Account
33
description: Receive AUD reimbursements from an Australian employer by adding your banking information
44
---
5+
56
<div id="expensify-classic" markdown="1">
67

7-
{% include info.html %}
8-
The workspace must be set to AUD to use ABA batch reimbursements. For businesses that will also be reimbursing employees in other countries outside of Australia, you’ll need to set up Global Reimbursement instead.
9-
{% include end-info.html %}
8+
Australian employees can connect a personal deposit-only bank account to receive reimbursements for their expense reports.
9+
10+
**Important Notes:**
11+
- The workspace currency must be set to AUD to use ABA batch reimbursements.
12+
- If your company reimburses employees in multiple countries, set up **[Global Reimbursement](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Enable-Global-Reimbursements)** instead.
13+
14+
---
15+
16+
# Add the Bank Account
17+
18+
1. Click your profile picture and select the workspace you want set as your default workspace.
19+
2. Hover over **Settings**, then click **Account**.
20+
3. Click the **Payments** tab.
21+
4. Click **Add Deposit-Only Bank Account**.
22+
5. Enter the required details:
23+
- **Account Holder Information**: Name, address, city, and country.
24+
- **Bank Details**: SWIFT code, bank name, address, and city.
25+
- **Account Information**: Account number and BSB number.
26+
6. Click **Save & Continue**.
1027

11-
Australian employees can connect a personal deposit-only bank account to receive reimbursements for their expense reports.
28+
## Troubleshooting Steps
1229

13-
1. Click your profile picture and select the workspace you want to set as your default workspace.
14-
2. Hover over **Settings**, then click **Account**.
15-
3. Click the **Payments** tab on the left.
16-
4. Click **Add Deposit-Only Bank Account**.
17-
5. Enter the company information.
18-
- Enter the account holder’s name, address, city, and country.
19-
- Enter the swift code.
20-
- Enter the bank’s name, address, and city.
21-
- Enter the account number.
22-
- Enter the BSB number.
30+
- If you don’t know your **Bank User ID/Direct Entry ID/APCA Number**, contact your bank.
31+
- If you don’t see the required fields, your company hasn’t enabled reimbursements through Expensify. Contact your administrator for next steps.
32+
33+
---
2334

24-
{% include info.html %}
25-
If you don’t know your Bank User ID/Direct Entry ID/APCA Number, contact your bank for this information.
35+
# FAQ
2636

27-
If your screen does not contain the listed fields, your company hasn’t enabled reimbursements through Expensify. Contact your administrator for next steps.
28-
{% include end-info.html %}
37+
## Why don’t I see the option to add a deposit-only bank account?
38+
If your company hasn’t enabled reimbursements in Expensify, you won’t see this option. Contact your administrator for assistance.
2939

30-
{:start="6"}
31-
6. Click **Save & Continue**.
40+
## What if I don’t know my Bank User ID?
41+
Your bank can provide this information. Contact them to confirm your **Bank User ID/Direct Entry ID/APCA Number**.
3242

33-
</div>
43+
## Can I add multiple bank accounts?
44+
No, you can only add one deposit-only bank account per workspace for reimbursements.

docs/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-Personal-Bank-Account.md

+27-20
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,47 @@
22
title: Connect personal bank account
33
description: Receive reimbursements for expense reports submitted to your employer
44
---
5+
56
<div id="expensify-classic" markdown="1">
67

7-
Employees can connect a personal deposit-only bank account to receive reimbursements for their expense reports.
8+
Employees can connect a personal deposit-only bank account to receive reimbursements for their expense reports.
9+
10+
---
811

9-
To connect a deposit-only account,
12+
# Connect a Deposit-only Bank Account
1013

1114
1. Hover over **Settings**, then click **Account**.
1215
2. Click the **Payments** tab on the left.
1316
3. Click **Add Deposit-Only Bank Account**, then click **Connect to your bank**.
1417
4. Click **Continue**.
15-
5. Search for your bank account in the list of banks and follow the prompts to sign in to your bank account.
16-
- If your bank doesn’t appear, click the X in the right corner of the Plaid pop-up window, then click **Connect Manually**. You’ll then manually enter your account information and click **Save & Continue**.
17-
6. Click **Save & Continue**.
18-
7. Enter the name, address, and phone number associated with the account. Then click **Save & Continue**.
18+
5. Search for your bank account in the list of banks
19+
6. Follow the prompts to sign in to your bank account using the corresponding username and password.
20+
- If your bank doesn’t appear, click the **X** in the right corner of the Plaid pop-up window, then click **Connect Manually**. You’ll then manually enter your account information and click **Save & Continue**.
21+
7. Enter the name, address, and phone number associated with the account
22+
8. Click **Save & Continue**.
1923

20-
You’ll now receive reimbursements for your expense reports and invoices directly to this bank account.
2124

22-
{% include info.html %}
23-
If your organization has global reimbursement enabled and you want to add a bank account outside of the US, you can do so by following the steps above. However, after clicking on **Add Deposit-Only Bank Account**, look for a button that says **Switch Country**. This will allow you to add a deposit account from a supported country and receive reimbursements in your local currency.
24-
{% include end-info.html %}
25+
Once the bank account is connected to your Expensify account, future reimbursements will be deposited directly.
2526

26-
{% include faq-begin.md %}
27+
## Using Global Reimbursement
2728

28-
**I connected my deposit-only bank account. Why haven’t I received my reimbursement?**
29+
If your organization has global reimbursement enabled and you want to add a bank account outside the US, follow the steps above.
2930

30-
There are a few reasons why you might not have received a reimbursement:
31-
- The estimated deposit date on the report has not arrived yet.
32-
- The bank account information is incorrect. If you believe you may have entered the wrong account, contact the Concierge and provide the Report ID for the missing reimbursement.
33-
- Your account wasn’t set up for Direct Deposit/ACH. You can contact your bank to confirm.
31+
After clicking **Add Deposit-Only Bank Account**, under **Settings > Accounts > Payments**, click **Switch Country** at the top of the bank selection screen. This will allow you to add a deposit account from a supported country and receive reimbursements in your local currency.
3432

35-
**What happens if my bank requires an additional security check before adding it to a third party?**
33+
---
34+
35+
# FAQ
36+
37+
## I connected my deposit-only bank account. Why haven’t I received my reimbursement?
38+
39+
Check the following possible issues:
40+
- The estimated deposit date on the report has not arrived yet.
41+
- The bank account information is incorrect. If you believe you may have entered the wrong account, contact **Concierge (Expensify’s support team)** and provide the **Report ID** for the missing reimbursement.
42+
- Your bank account isn’t set up for **Direct Deposit/ACH** — please contact your bank to confirm.
3643

37-
If your bank account has two-factor authentication (2FA) or another security step enabled, you should be prompted to complete this authentication step when connecting the account to Expensify. However, if you encounter an error during this process, you can close the pop-up window and select Connect Manually to add the account manually.
44+
## What happens if my bank requires an additional security check before adding it to a third party?
3845

39-
{% include faq-end.md %}
46+
If your bank account has **two-factor authentication (2FA)** or another security step enabled, you should be prompted to complete this authentication step when connecting the account to Expensify.
4047

41-
</div>
48+
However, if you encounter an error during this process, you can close the pop-up window and select **Connect Manually** to add the account manually.

docs/articles/expensify-classic/bank-accounts-and-payments/payments/Receive-and-Pay-Bills.md

+20-13
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
---
22
title: Receive and Pay Bills
33
description: Expensify bill management and payment methods.
4+
keywords: Bill pay, pay vendors, invoice, vendor bills
45
---
56

6-
Easily receive and pay vendor or supplier bills directly in Expensify. Your vendors don’t even need an Expensify account! Manage everything seamlessly in one place.
7+
Easily receive and pay vendor or supplier bills directly in Expensify. Your vendors don’t need an Expensify account to manage everything in one place!
8+
9+
---
710

811
# Receiving Bills
912

1013
Expensify makes it easy to receive bills in three simple ways:
1114

12-
### 1. Directly from Vendors
15+
## 1. Directly from Vendors
1316
Share your Expensify billing email with vendors to receive bills automatically.
1417

1518
- Set a Primary Contact under **Settings > Domains > Domain Admins**.
@@ -18,14 +21,14 @@ Share your Expensify billing email with vendors to receive bills automatically.
1821

1922
![Setting the Primary Contact at Domain Admins > Primary Contact](https://help.expensify.com/assets/images/OldDot%20-%20Create%20%26%20Pay%20Bills%201.png){:width="100%"}
2023

21-
### 2. Forwarding Emails
22-
Received a bill in your email? Forward it to Expensify.
24+
## 2. Forwarding Emails
25+
If you received a bill in via email, you can forward it directly to Expensify.
2326

2427
- Ensure your Primary Contact is set under **Settings > Domains > Domain Admins**.
2528
- Forward bills to `domainname@expensify.cash`. Example: `domainname@expensify.cash` (e.g., for *expensicorp.com*, use `expensicorp@expensify.cash`).
2629
- Expensify will create a bill automatically, ready for payment.
2730

28-
### 3. Manual Upload
31+
## 3. Manual Upload
2932
Got a paper bill? Create a bill manually in [Expensify](https://www.expensify.com/):
3033

3134
1. Log in to [Expensify](https://www.expensify.com).
@@ -35,6 +38,8 @@ Got a paper bill? Create a bill manually in [Expensify](https://www.expensify.co
3538

3639
![Manually Create a Bill](https://help.expensify.com/assets/images/OldDot%20-%20Create%20%26%20Pay%20Bills%202.png){:width="100%"}
3740

41+
---
42+
3843
# Paying Bills in Expensify
3944

4045
Expensify makes it easy to manage and pay vendor bills with a straightforward workflow and flexible payment options. Here’s how it works:
@@ -49,11 +54,13 @@ Expensify makes it easy to manage and pay vendor bills with a straightforward wo
4954

5055
![Paying a Bill](https://help.expensify.com/assets/images/OldDot%20-%20Create%20%26%20Pay%20Bills%203.png){:width="100%"}
5156

52-
## Payment Methods
57+
---
58+
59+
# Payment Methods
5360

5461
Expensify offers several ways to pay bills. Choose the method that works best for you:
5562

56-
### 1. ACH Bank-to-Bank Transfer
63+
## 1. ACH Bank-to-Bank Transfer
5764

5865
Fast and fee-free, this method requires a connected [business bank account](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/bank-accounts/Connect-US-Business-Bank-Account).
5966

@@ -66,7 +73,7 @@ Fast and fee-free, this method requires a connected [business bank account](http
6673

6774
---
6875

69-
### 2. Credit or Debit Card
76+
## 2. Credit or Debit Card
7077

7178
Pay vendors using a credit or debit card. This option is available for US and international customers paying US vendors with a US business bank account.
7279

@@ -79,15 +86,15 @@ Pay vendors using a credit or debit card. This option is available for US and in
7986

8087
---
8188

82-
### 3. Venmo
89+
## 3. Venmo
8390

8491
If both you and the vendor have Venmo accounts connected to Expensify, you can pay through Venmo. Learn how to set up Venmo [here](https://help.expensify.com/articles/expensify-classic/bank-accounts-and-payments/Third-Party-Payments#setting-up-third-party-payments).
8592

8693
**Fees:** Venmo charges a 3% sender’s fee.
8794

8895
---
8996

90-
### 4. Pay Outside Expensify
97+
## 4. Pay Outside Expensify
9198

9299
If you prefer to pay outside Expensify, you can still track the payment within the platform.
93100

@@ -98,7 +105,9 @@ If you prefer to pay outside Expensify, you can still track the payment within t
98105

99106
**Fees:** None.
100107

101-
{% include faq-begin.md %}
108+
---
109+
110+
# FAQ
102111

103112
## Who receives vendor bills in Expensify?
104113

@@ -119,5 +128,3 @@ Currently, payments are only supported in USD.
119128
## What's the difference between a bill and an Invoice in Expensify?
120129

121130
A bill represents a payable amount owed to a vendor, while an Invoice is a receivable amount owed to you.
122-
123-
{% include faq-end.md %}

0 commit comments

Comments
 (0)