Skip to content

Commit 639f700

Browse files
MelvinBotmountiny
andcommitted
Merge remote-tracking branch 'origin/main' into claude-fixFlakyPendingConciergeResponseTest
Co-authored-by: Vit Horacek <mountiny@users.noreply.github.com>
2 parents cb05c49 + d0dd557 commit 639f700

410 files changed

Lines changed: 24137 additions & 17110 deletions

File tree

Some content is hidden

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

.claude/scripts/createInlineComment.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Secure proxy script to create an inline comment on a GitHub PR.
44
set -eu
55

6-
readonly ALLOWED_RULES_FILE="${GITHUB_WORKSPACE}/.claude/allowed-rules.txt"
6+
readonly ALLOWED_RULES_FILE="${ALLOWED_RULES_FILE:-${GITHUB_WORKSPACE}/.claude/allowed-rules.txt}"
77

88
# Print error and exit.
99
die() {

.github/workflows/claude-review.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
run: |
5858
"$GITHUB_WORKSPACE/.github/scripts/extractAllowedRules.sh" \
5959
"$GITHUB_WORKSPACE/.claude/skills/coding-standards/rules" \
60-
"$GITHUB_WORKSPACE/.claude/allowed-rules.txt"
60+
"$RUNNER_TEMP/allowed-rules.txt"
6161
6262
- name: Load code review JSON schema
6363
id: schema
@@ -82,6 +82,7 @@ jobs:
8282
env:
8383
GH_TOKEN: ${{ github.token }}
8484
STRUCTURED_OUTPUT: ${{ steps.code-review.outputs.structured_output }}
85+
ALLOWED_RULES_FILE: ${{ runner.temp }}/allowed-rules.txt
8586
run: |
8687
if [ -z "$STRUCTURED_OUTPUT" ]; then
8788
echo "::error::Claude Code Action returned empty structured output"

Mobile-Expensify

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ android {
111111
minSdkVersion rootProject.ext.minSdkVersion
112112
targetSdkVersion rootProject.ext.targetSdkVersion
113113
multiDexEnabled rootProject.ext.multiDexEnabled
114-
versionCode 1009035701
115-
versionName "9.3.57-1"
114+
versionCode 1009035903
115+
versionName "9.3.59-3"
116116
// Supported language variants must be declared here to avoid from being removed during the compilation.
117117
// This also helps us to not include unnecessary language variants in the APK.
118118
resConfigs "en", "es"
Lines changed: 1 addition & 0 deletions
Loading

docs/articles/new-expensify/expensify-card/Cardholder-Settings-and-Features.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Using Your Expensify Card in New Expensify
33
description: Learn how to activate, use, and manage your physical and virtual Expensify Card, including Smart Limits, notifications, and troubleshooting.
4-
keywords: [New Expensify, Expensify Card, Smart Limit, activate card, virtual card, card notifications, card declined, eReceipts]
4+
keywords: [New Expensify, Expensify Card, Smart Limit, activate card, virtual card, card notifications, card declined, eReceipts, freeze card, unfreeze card]
55
---
66

77
Once you receive your Expensify Visa® Commercial Card, you can activate it and start using it immediately. When you use your Expensify Card, expenses are automatically created, and SmartScanned receipts are matched to the corresponding transactions. For most purchases, excluding lodging, Expensify also generates IRS-compliant eReceipts. If your organization doesn't require itemized receipts, you can rely on eReceipts to meet documentation requirements.
@@ -96,6 +96,30 @@ For more details on adding a card to Apple or Android Pay, see this [guide](http
9696

9797
---
9898

99+
# How to freeze or unfreeze your Expensify Card
100+
101+
Need to temporarily pause spending? You can freeze your Expensify Card at any time - without canceling or reissuing it.
102+
103+
Freezing your card:
104+
- Immediately blocks new purchases on the card
105+
- Keeps your card number, CVV, and expiration date intact
106+
- Can be reversed at any time
107+
108+
## To freeze or unfreeze your card
109+
110+
1. From the navigation tabs (on the left on web, and at the bottom on mobile), go to **Account > Wallet > Expensify Card**.
111+
2. Click your Expensify Card to view its details.
112+
3. Click **Freeze card** or **Unfreeze card**, depending on the card's current state.
113+
4. Click **Confirm** in the dialog that appears.
114+
115+
Once frozen:
116+
- You'll see a **Frozen** badge and a scarf graphic over your card
117+
- All new transactions will be declined until you unfreeze it
118+
119+
**Note:** If your workspace admin froze the card, you'll need to contact them directly via Expensify Chat to request that they unfreeze it.
120+
121+
---
122+
99123
# FAQ
100124

101125
## What if I haven’t received my Expensify Card?

docs/articles/new-expensify/expensify-card/Set-Up-and-Manage-the-Expensify-Card.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,31 @@ If a card reaches its expiration date, it automatically deactivates and declines
9797

9898
---
9999

100+
# How to freeze or unfreeze an Expensify Card
101+
102+
As a Workspace Admin, you can freeze or unfreeze any card in your workspace without needing to cancel or reissue it.
103+
104+
Freezing a card is helpful if:
105+
- You suspect misuse or a policy violation
106+
- You want to temporarily pause employee spending
107+
- You're enforcing a department-wide budget freeze
108+
109+
To freeze or unfreeze a card:
110+
111+
1. Go to **Settings > Workspaces > [Workspace Name] > Expensify Card**.
112+
2. Click a card from the list to open its details pane.
113+
3. Click **Freeze card** or **Unfreeze card**.
114+
4. Confirm the action in the popup modal.
115+
116+
Once frozen:
117+
- The card immediately stops working for purchases
118+
- You'll see a note below the card indicating who froze the card and when
119+
- The employee sees the same message and cannot unfreeze the card themselves
120+
121+
All freeze/unfreeze actions are automatically posted to the workspace chat.
122+
123+
---
124+
100125
# FAQ
101126

102127
## What kind of bank account is required?

docs/articles/new-expensify/reports-and-expenses/Adding-Attendees.md

Lines changed: 41 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,60 @@
22
title: Adding Attendees
33
description: Learn how to add attendees to your expenses and resolve category limit errors by splitting the cost across participants.
44
keywords: [New Expensify, add attendees, expense attendees, split expense, category limit, attendee allocation]
5+
internalScope: Audience is all members. Covers adding attendees to an expense. Does not cover category limit policies member management.
56
---
67

7-
You can add attendees to an expense to indicate who participated in a meal, meeting, or event. This is especially helpful when your company has per-person category limits, as Expensify can split the cost evenly across all attendees to help avoid violations.
8+
# Adding Attendees
9+
10+
Adding attendees to an expense shows who participated in a meal, meeting, or event. Expensify automatically splits the total cost across all attendees, making it easier to track per-person spending and stay within company limits.
811

912
---
1013

11-
# Add Attendees to an Expense
14+
## Who can add attendees to an expense
1215

13-
1. From the navigation tabs (on the left on web, and at the bottom on mobile), head to **Reports > Expenses**.
14-
2. Open the expense and click the **Attendees** caret to expand attendee options.
15-
3. Select participants from your **Recents**, **Contacts**, or use the **Search bar** to find someone by name or email.
16-
4. To add someone new, manually enter their name or email. They’ll be saved to your Contacts for future use.
17-
5. Click on each attendee to add them. A checkmark (✅) will show who’s been selected.
18-
6. Click **Save**.
16+
All members can add attendees to their own expenses.
1917

2018
---
2119

22-
# Resolve Category Limit Errors by Adding Attendees
20+
## How to add attendees to an expense
2321

24-
If an expense exceeds a category limit set by your admin, you can resolve the issue by adding attendees.
22+
1. From the navigation tabs (on the left on web, and at the bottom on mobile), go to **Reports > Expenses**.
23+
2. Open the expense and click **Attendees**.
24+
3. Select attendees from **Recents**, **Contacts**, or enter a name, email, or phone number.
25+
4. Select each attendee to add a checkmark next to their name.
26+
5. Click **Save**.
2527

26-
1. Click the **Attendees** caret to open the attendee selector.
27-
2. Add the attendees involved in the expense.
28-
3. Expensify will automatically split the total cost across all attendees.
29-
4. Once added, a dot will appear between the **Attendees** field and the **per-person amount**, making it easy for approvers to verify the distribution.
28+
The selected attendees are added to the expense.
3029

3130
---
3231

33-
# Audit Trail for Attendees
32+
## What happens after you add attendees to an expense
33+
34+
- The total expense is automatically split evenly across all attendees
35+
- The per-attendee amount updates instantly on the expense
36+
- If your Workspace has per-attendee category limits, adding attendees can reduce the per-attendee amount and help resolve limit violations
37+
- Approvers can review attendee details during the approval process
38+
- All attendee changes are recorded in the expense history for auditing
39+
40+
---
41+
42+
# How to view attendees on a report
43+
44+
When any expense in a report has attendees, the report automatically shows two additional columns:
45+
46+
- **Attendees:** displays the attendees added to each expense.
47+
- **Per attendee:** shows the total amount divided equally among all attendees.
48+
49+
These columns appear in both the report and search results.
50+
51+
---
52+
53+
# FAQ
54+
55+
## Is there an audit trail for attendee changes?
56+
57+
Yes. Expensify automatically records all attendee updates in the expense history. These system records cannot be edited.
3458

35-
🕵️ **Note:** Expensify automatically records attendee changes on the expense report. These system messages cannot be edited, ensuring a clear and secure history of all attendee updates.
59+
## Can I edit attendees on an expense before it's submitted?
3660

61+
Yes. Open the expense, click **Attendees**, update the list, and click **Save**.

docs/articles/new-expensify/reports-and-expenses/How-to-Find-and-Resolve-Flagged-Duplicate-Expenses.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,7 @@ Within the report, duplicate expenses will show the label **Potential duplicate*
3535

3636
---
3737

38-
<!-- SCREENSHOT:
39-
Suggestion: Show Inbox > Chat with red dot
40-
Design request:https://github.com/Expensify/Expensify/issues/614048
41-
-->
38+
![Inbox > Chat with red dot]({{site.url}}/assets/images/ExpensifyHelp-ResolveDuplicates_03.png){:width="100%"}
4239

4340
---
4441

@@ -56,10 +53,9 @@ Design request:https://github.com/Expensify/Expensify/issues/614048
5653

5754
---
5855

59-
<!-- SCREENSHOT:
60-
Suggestion: Show expense with Review Duplicates at the top
61-
Design request:https://github.com/Expensify/Expensify/issues/614048
62-
-->
56+
![expense with Review Duplicates at the top]({{site.url}}/assets/images/ExpensifyHelp-ResolveDuplicates_04.png){:width="100%"}
57+
58+
---
6359

6460
## What happens after you resolve a flagged duplicate
6561

@@ -73,9 +69,11 @@ The hold is removed from the expense. Depending on your choice:
7369
# FAQ
7470

7571
## Can I edit a duplicate expense after resolving it?
72+
7673
Yes, you can edit a duplicate expense as long as it is in the Unreported, Draft or Outstanding state.
7774

7875
## Will two SmartScanned receipts from the same day with the same amount be flagged?
76+
7977
Yes, unless:
8078
- The expenses were split from a single expense.
8179
- They were imported from a credit card.

docs/articles/new-expensify/reports-and-expenses/How-to-Merge-Expenses.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,9 @@ Use this method when both expenses are inside the same report.
7777

7878
---
7979

80-
<!-- SCREENSHOT:
81-
Show 2 expenses selected within a report > Selected button > Merge highlighted
82-
Design request:https://github.com/Expensify/Expensify/issues/614048
83-
-->
80+
![expenses selected within a report > Selected button > Merge highlighted]({{site.url}}/assets/images/ExpensifyHelp-ResolveDuplicates_01){:width="100%"}
81+
82+
---
8483

8584
## How to merge duplicate expenses from an individual expense
8685

@@ -94,10 +93,7 @@ Design request:https://github.com/Expensify/Expensify/issues/614048
9493

9594
---
9695

97-
<!-- SCREENSHOT:
98-
Open one individual expense > More > Merge > one eligible expense selected.
99-
Design request:https://github.com/Expensify/Expensify/issues/614048
100-
-->
96+
![one individual expense > More > Merge > one eligible expense selected]({{site.url}}/assets/images/ExpensifyHelp-ResolveDuplicates_02){:width="100%"}
10197

10298
---
10399

0 commit comments

Comments
 (0)