Skip to content

Commit df5ff8c

Browse files
committed
Merge branch 'main' into 92752-shared-workspace-menu-source
2 parents fc02e51 + f5c38af commit df5ff8c

391 files changed

Lines changed: 10130 additions & 3081 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.

.github/actions/javascript/isDeployChecklistLocked/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9228,6 +9228,9 @@ const CONST = {
92289228
VALIDATE_ACCOUNT: 'validate_account',
92299229
REVEAL_CARD_DETAILS: 'reveal_card_details',
92309230
REGISTER_AUTHENTICATION_KEY: 'register_authentication_key',
9231+
REPLACE_CARD: 'replace_card',
9232+
SHIP_CARD: 'ship_card',
9233+
REPORT_CARD_FRAUD: 'report_card_fraud',
92319234
},
92329235
EXPENSIFY_CARD: {
92339236
FEED_NAME: 'Expensify Card',

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 1009045402
115-
versionName "9.4.54-2"
114+
versionCode 1009045500
115+
versionName "9.4.55-0"
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"

config/eslint/eslint.seatbelt.tsv

Lines changed: 12 additions & 50 deletions
Large diffs are not rendered by default.

cspell.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,7 @@
456456
"americanexpressfdx",
457457
"bankofamerica",
458458
"Amina",
459+
"anchorless",
459460
"androiddebugkey",
460461
"androidx",
461462
"apksigner",
@@ -484,6 +485,7 @@
484485
"autocorrection",
485486
"autodocs",
486487
"autofilled",
488+
"autofocused",
487489
"automations",
488490
"autoplay",
489491
"autoreleasepool",
@@ -1031,6 +1033,8 @@
10311033
"useblacksmith",
10321034
"usernotifications",
10331035
"utilise",
1036+
"vcfanzfav",
1037+
"vcfcitibank",
10341038
"vcpu",
10351039
"verticalanchor",
10361040
"victoryaxis",

docs/articles/new-expensify/ai-agents/Create-Agent-Rules.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,21 @@ Deleting an Agent rule stops RuleBot from enforcing that rule on future report a
117117

118118
---
119119

120+
## How to remove RuleBot from a workspace
121+
122+
RuleBot enforces your Agent rules, so while a workspace still has Agent rules, RuleBot can't be removed, have its role changed, or be deleted. If you attempt any of these actions while Agent rules exist, Expensify blocks the action and shows a message prompting you to delete the Agent rules first.
123+
124+
The following actions are blocked while the workspace still has Agent rules:
125+
126+
- Removing RuleBot from the workspace using **Remove from workspace** (from the **Members** list or RuleBot's member details page).
127+
- Changing RuleBot's role to **Member** or **Auditor**. Promoting RuleBot to a **Workspace Admin** is still allowed.
128+
- Deleting the RuleBot agent using **Delete agent** on the **Agents** page.
129+
- Closing the RuleBot account.
130+
131+
To remove, demote, or delete RuleBot:
132+
133+
1. Delete every Agent rule in the workspace by following the steps to [delete an Agent rule](#how-to-delete-an-agent-rule) above.
134+
2. Once no Agent rules remain, remove RuleBot from the workspace, change its role, or delete the agent as needed.
120135
## How to review Agent rule changes in the #admins room
121136

122137
Whenever an Agent rule is added, updated, or deleted, Expensify records a system message in your workspace's **#admins** room so admins have a visible history of the change.
@@ -152,6 +167,10 @@ When evaluating a report, RuleBot can review the 50 most recent report actions,
152167

153168
No. RuleBot is created automatically when you add your first Agent rule and is managed by Expensify.
154169

170+
## Why can't I remove RuleBot from the workspace?
171+
172+
RuleBot enforces your Agent rules, so it can't be removed, demoted, or deleted while the workspace still has Agent rules. Delete every Agent rule in the workspace first, and then you can remove RuleBot, change its role, or delete the agent.
173+
155174
## Where can I see a history of Agent rule changes?
156175

157176
In the workspace's #admins room. Expensify posts a system message there each time an Agent rule is added, updated, or deleted.

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,7 @@ Often, but not always. Expensify also compares additional receipt details, such
108108

109109
Expensify may automatically review flagged duplicates in the background. If it determines the expenses are clearly not the same purchase, it dismisses the violation and adds a note that Concierge resolved the duplicate, with an **Explain** link describing why. If Expensify is not confident, the flag stays so you can resolve it manually.
110110

111+
## Why do I see "You can only merge expenses on draft or outstanding reports"?
112+
113+
You can only resolve flagged duplicates when the expense you're keeping is on a report in the Draft or Outstanding state. This message appears when that report is no longer editable — for example, it has been approved, closed, or reimbursed. Retract the report to make it editable again, then reopen **Review duplicates** and try again.
114+

docs/articles/new-expensify/reports-and-expenses/Use-Search-Operators-to-Filter-and-Analyze.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Use Search Operators to Filter and Analyze
33
description: Learn how to use search operators, filters, and grouping to find, organize, and analyze expenses, chats, reports, and tasks in Expensify.
4-
keywords: [New Expensify, search operators, advanced filters, search rules, expense search, report search, chat filters, advanced search, group-by, view, chart, search syntax, bank account filter]
4+
keywords: [New Expensify, search operators, advanced filters, search rules, expense search, report search, chat filters, advanced search, group-by, view, chart, search syntax, bank account filter, custom field, international reimbursement IDs]
55
internalScope: Audience is all Expensify members. Covers search operator syntax for filtering, grouping, and chart views. Does not cover saved search management or Search page UI navigation.
66
---
77

@@ -98,6 +98,9 @@ You can use the following operators to filter reports:
9898
- `withdrawal-type:` – reimbursement, expensify-card, or central-travel-invoicing
9999
- `paid-status:` – how the report was paid: `markedAsPaid`, `withdrawing`, or `confirmed`. Combine multiple values with commas, e.g. `paid-status:markedAsPaid,confirmed`
100100
- `action:` – blocking report action, e.g. `action:approve`
101+
- `submitter-user-id:` – Custom field 1 value set for the report submitter
102+
- `submitter-payroll-id:` – Custom field 2 value set for the report submitter
103+
- `order-deal-numbers:` – International reimbursement IDs on the report
101104

102105
**Example query:**
103106
`status:paid exported<=2026-01-01 exported-to:xero`

ios/NewExpensify/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<key>CFBundlePackageType</key>
2424
<string>APPL</string>
2525
<key>CFBundleShortVersionString</key>
26-
<string>9.4.54</string>
26+
<string>9.4.55</string>
2727
<key>CFBundleSignature</key>
2828
<string>????</string>
2929
<key>CFBundleURLTypes</key>
@@ -44,7 +44,7 @@
4444
</dict>
4545
</array>
4646
<key>CFBundleVersion</key>
47-
<string>9.4.54.2</string>
47+
<string>9.4.55.0</string>
4848
<key>FullStory</key>
4949
<dict>
5050
<key>OrgId</key>

ios/NotificationServiceExtension/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
<key>CFBundleName</key>
1212
<string>$(PRODUCT_NAME)</string>
1313
<key>CFBundleShortVersionString</key>
14-
<string>9.4.54</string>
14+
<string>9.4.55</string>
1515
<key>CFBundleVersion</key>
16-
<string>9.4.54.2</string>
16+
<string>9.4.55.0</string>
1717
<key>NSExtension</key>
1818
<dict>
1919
<key>NSExtensionPointIdentifier</key>

0 commit comments

Comments
 (0)