Skip to content

Commit 36b877d

Browse files
committed
Merge branch 'main' into kureev/update-react-native-blob-util
2 parents 31b27c5 + 362571e commit 36b877d

545 files changed

Lines changed: 16289 additions & 5153 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/agents/code-inline-reviewer.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -228,21 +228,23 @@ const {amountColumnSize, dateColumnSize, taxAmountColumnSize} = useMemo(() => {
228228
- `body`: Concise and actionable description of the violation and fix, following the below Comment Format
229229
4. **Each comment must reference exactly one Rule ID.**
230230
5. **Output must consist exclusively of calls to mcp__github_inline_comment__create_inline_comment in the required format.** No other text, Markdown, or prose is allowed.
231-
6. **If no violations are found, output exactly** (with no quotes, markdown, or additional text):
231+
6. **If no violations are found, create a comment** (with no quotes, markdown, or additional text):
232232
LGTM :feelsgood:. Thank you for your hard work!
233233
7. **Output LGTM if and only if**:
234234
- You examined EVERY line of EVERY changed file
235235
- You checked EVERY changed file against ALL rules
236236
- You found ZERO violations matching the exact rule criteria
237237
- You verified no false negatives by checking each rule systematically
238-
If you found even ONE violation or have ANY uncertainty do NOT output LGTM - create inline comments instead.
238+
If you found even ONE violation or have ANY uncertainty do NOT create LGTM comment - create inline comments instead.
239239
8. **DO NOT invent new rules, stylistic preferences, or commentary outside the listed rules.**
240-
9. **DO NOT describe what you are doing, output any summaries, explanations, extra content, comments on rules that are NOT violated or ANYTHING ELSE except from rules violations or LGTM message.**
240+
9. **DO NOT describe what you are doing, create comments with a summary, explanations, extra content, comments on rules that are NOT violated or ANYTHING ELSE.**
241+
Only inline comments regarding rules violations or general comment with LGTM message are allowed.
241242
EXCEPTION: If you believe something MIGHT be a Rule violation but are uncertain, err on the side of creating an inline comment with your concern rather than skipping it.
242243

243244
## Tool Usage Example
244245

245-
For each violation, call the tool like this:
246+
For each violation, call the mcp__github_inline_comment__create_inline_comment tool like this.
247+
CRITICAL: **DO NOT** use the Bash tool for inline comments:
246248

247249
```
248250
mcp__github_inline_comment__create_inline_comment:
@@ -251,6 +253,12 @@ mcp__github_inline_comment__create_inline_comment:
251253
body: "<Body of the comment according to the Comment Format>"
252254
```
253255

256+
If ZERO violations are found, use the Bash tool to create a top-level PR comment.:
257+
258+
```bash
259+
gh pr comment --body "LGTM :feelsgood:. Thank you for your hard work!"
260+
```
261+
254262
## Comment Format
255263

256264
```

.github/workflows/remote-build-ios.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
build:
2020
runs-on: ${{ github.repository_owner == 'Expensify' && 'macos-15-xlarge' || 'macos-15' }}
2121
env:
22-
DEVELOPER_DIR: /Applications/Xcode_16.4.0.app/Contents/Developer
22+
DEVELOPER_DIR: /Applications/Xcode_26.0.app/Contents/Developer
2323
strategy:
2424
fail-fast: false
2525
matrix:
@@ -51,7 +51,7 @@ jobs:
5151
git fetch origin pull/${{ github.event.inputs.mobile_expensify_pr }}/head:pr-${{ github.event.inputs.mobile_expensify_pr }}
5252
git checkout pr-${{ github.event.inputs.mobile_expensify_pr }}
5353
echo "Checked out Mobile-Expensify PR #${{ github.event.inputs.mobile_expensify_pr }}"
54-
54+
5555
- name: Rock Remote Build - iOS
5656
# rock v3
5757
uses: callstackincubator/ios@08a533dbeda6adec39f94d08d820091514d1f7af

.github/workflows/testBuild.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
fi
7474
env:
7575
GITHUB_TOKEN: ${{ github.token }}
76-
76+
7777
getMobileExpensifyPR:
7878
runs-on: ubuntu-latest
7979
needs: [prep]
@@ -369,7 +369,7 @@ jobs:
369369
if: ${{ inputs.IOS }}
370370
needs: [prep, getMobileExpensifyPR, getMobileExpensifyRef]
371371
env:
372-
DEVELOPER_DIR: /Applications/Xcode_16.4.0.app/Contents/Developer
372+
DEVELOPER_DIR: /Applications/Xcode_26.0.app/Contents/Developer
373373
runs-on: macos-15-xlarge
374374
outputs:
375375
IOS_PATH: ${{ steps.export-ios-path.outputs.IOS_PATH }}

Mobile-Expensify

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,8 @@ to help run our Unit tests.
100100
## Performance tests
101101
We use Reassure for monitoring performance regression. More detailed information can be found [here](tests/perf-test/README.md):
102102

103+
## CodeCov
104+
105+
[CodeCov] is the service we use to measure and track code coverage. You can find out more about it [here](contributingGuides/CodeCov.md)
106+
103107
----

__mocks__/Illustrations.ts

Lines changed: 0 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,22 @@
11
const Abracadabra = 'Abracadabra';
2-
const BankArrowPink = 'BankArrowPink';
3-
const BankMouseGreen = 'BankMouseGreen';
4-
const BankUserGreen = 'BankUserGreen';
5-
const BigRocket = 'BigRocket';
62
const BrokenMagnifyingGlass = 'BrokenMagnifyingGlass';
73
const ChatBubbles = 'ChatBubbles';
8-
const CoffeeMug = 'CoffeeMug';
9-
const ConciergeBlue = 'ConciergeBlue';
10-
const ConciergeExclamation = 'ConciergeExclamation';
11-
const CreditCardsBlue = 'CreditCardsBlue';
124
const EmailAddress = 'EmailAddress';
135
const EmptyCardState = 'EmptyCardState';
146
const EmptyStateExpenses = 'EmptyStateExpenses';
157
const EnvelopeReceipt = 'EnvelopeReceipt';
168
const FolderOpen = 'FolderOpen';
179
const HandCard = 'HandCard';
18-
const HotDogStand = 'HotDogStand';
19-
const InvoiceOrange = 'InvoiceOrange';
20-
const JewelBoxBlue = 'JewelBoxBlue';
21-
const JewelBoxGreen = 'JewelBoxGreen';
2210
const PaymentHands = 'PaymentHands';
23-
const JewelBoxPink = 'JewelBoxPink';
24-
const JewelBoxYellow = 'JewelBoxYellow';
2511
const MagicCode = 'MagicCode';
2612
const Mailbox = 'Mailbox';
27-
const MoneyEnvelopeBlue = 'MoneyEnvelopeBlue';
28-
const MoneyMousePink = 'MoneyMousePink';
2913
const MushroomTopHat = 'MushroomTopHat';
30-
const ReceiptsSearchYellow = 'ReceiptsSearchYellow';
31-
const ReceiptYellow = 'ReceiptYellow';
3214
const ReceiptWrangler = 'ReceiptWrangler';
3315
const RocketBlue = 'RocketBlue';
34-
const RocketOrange = 'RocketOrange';
35-
const SanFrancisco = 'SanFrancisco';
36-
const SafeBlue = 'SafeBlue';
37-
const SmallRocket = 'SmallRocket';
38-
const TadaYellow = 'TadaYellow';
39-
const TadaBlue = 'TadaBlue';
4016
const ToddBehindCloud = 'ToddBehindCloud';
4117
const ToddWithPhones = 'ToddWithPhones';
42-
const GpsTrackOrange = 'GpsTrackOrange';
4318
const ShieldYellow = 'ShieldYellow';
4419
const MoneyReceipts = 'MoneyReceipts';
45-
const PinkBill = 'PinkBill';
4620
const CreditCardsNew = 'CreditCardsNew';
4721
const CreditCardsNewGreen = 'CreditCardsNewGreen';
4822
const InvoiceBlue = 'InvoiceBlue';
@@ -51,20 +25,13 @@ const LockOpen = 'LockOpen';
5125
const Luggage = 'Luggage';
5226
const MoneyIntoWallet = 'MoneyIntoWallet';
5327
const MoneyWings = 'MoneyWings';
54-
const OpenSafe = 'OpenSafe';
55-
const TrackShoe = 'TrackShoe';
56-
const BankArrow = 'BankArrow';
5728
const ConciergeBubble = 'ConciergeBubble';
58-
const ConciergeNew = 'ConciergeNew';
59-
const MoneyBadge = 'MoneyBadge';
6029
const TreasureChest = 'TreasureChest';
6130
const ThumbsUpStars = 'ThumbsUpStars';
6231
const Hands = 'Hands';
63-
const HandEarth = 'HandEarth';
6432
const SmartScan = 'SmartScan';
6533
const Hourglass = 'Hourglass';
6634
const CommentBubbles = 'CommentBubbles';
67-
const CommentBubblesBlue = 'CommentBubblesBlue';
6835
const TrashCan = 'TrashCan';
6936
const TeleScope = 'TeleScope';
7037
const Profile = 'Profile';
@@ -75,9 +42,7 @@ const Gears = 'Gears';
7542
const QRCode = 'QRCode';
7643
const RealtimeReport = 'RealtimeReport';
7744
const HoldExpense = 'HoldExpense';
78-
const ReceiptEnvelope = 'ReceiptEnvelope';
7945
const Approval = 'Approval';
80-
const WalletAlt = 'WalletAlt';
8146
const Workflows = 'Workflows';
8247
const PendingBank = 'PendingBank';
8348
const ThreeLeggedLaptopWoman = 'ThreeLeggedLaptopWoman';
@@ -102,12 +67,10 @@ const Tag = 'Tag';
10267
const CarIce = 'CarIce';
10368
const ReceiptLocationMarker = 'ReceiptLocationMarker';
10469
const Lightbulb = 'Lightbulb';
105-
const EmptyStateTravel = 'EmptyStateTravel';
10670
const Stopwatch = 'Stopwatch';
10771
const SubscriptionAnnual = 'SubscriptionAnnual';
10872
const SubscriptionPPU = 'SubscriptionPPU';
10973
const ExpensifyApprovedLogo = 'ExpensifyApprovedLogo';
110-
const ExpensifyApprovedLogoLight = 'ExpensifyApprovedLogoLight';
11174
const SendMoney = 'SendMoney';
11275
const CheckmarkCircle = 'CheckmarkCircle';
11376
const CreditCardEyes = 'CreditCardEyes';
@@ -116,14 +79,10 @@ const EmptyState = 'EmptyState';
11679
const FolderWithPapers = 'FolderWithPapers';
11780
const VirtualCard = 'VirtualCard';
11881
const Tire = 'Tire';
119-
const BigVault = 'BigVault';
12082
const Filters = 'Filters';
12183
const MagnifyingGlassMoney = 'MagnifyingGlassMoney';
12284
const Rules = 'Rules';
12385
const CompanyCardsEmptyState = 'CompanyCardsEmptyState';
124-
const AmexCompanyCards = 'AmexCompanyCards';
125-
const MasterCardCompanyCards = 'MasterCardCompanyCards';
126-
const VisaCompanyCards = 'VisaCompanyCards';
12786
const CompanyCardsPendingState = 'CompanyCardsPendingState';
12887
const VisaCompanyCardDetail = 'VisaCompanyCardDetail';
12988
const MasterCardCompanyCardDetail = 'MasterCardCompanyCardDetail';
@@ -153,50 +112,24 @@ const ReportReceipt = 'ReportReceipt';
153112

154113
export {
155114
Abracadabra,
156-
BankArrowPink,
157-
BankMouseGreen,
158-
BankUserGreen,
159-
BigRocket,
160115
BrokenMagnifyingGlass,
161116
ChatBubbles,
162-
CoffeeMug,
163-
ConciergeBlue,
164-
ConciergeExclamation,
165-
CreditCardsBlue,
166117
EmailAddress,
167118
EmptyCardState,
168119
EmptyStateExpenses,
169120
EnvelopeReceipt,
170121
FolderOpen,
171122
HandCard,
172-
HotDogStand,
173-
InvoiceOrange,
174-
JewelBoxBlue,
175-
JewelBoxGreen,
176123
PaymentHands,
177-
JewelBoxPink,
178-
JewelBoxYellow,
179124
MagicCode,
180125
Mailbox,
181-
MoneyEnvelopeBlue,
182-
MoneyMousePink,
183126
MushroomTopHat,
184-
ReceiptsSearchYellow,
185-
ReceiptYellow,
186127
ReceiptWrangler,
187128
RocketBlue,
188-
RocketOrange,
189-
SanFrancisco,
190-
SafeBlue,
191-
SmallRocket,
192-
TadaYellow,
193-
TadaBlue,
194129
ToddBehindCloud,
195130
ToddWithPhones,
196-
GpsTrackOrange,
197131
ShieldYellow,
198132
MoneyReceipts,
199-
PinkBill,
200133
CreditCardsNew,
201134
CreditCardsNewGreen,
202135
InvoiceBlue,
@@ -205,20 +138,13 @@ export {
205138
Luggage,
206139
MoneyIntoWallet,
207140
MoneyWings,
208-
OpenSafe,
209-
TrackShoe,
210-
BankArrow,
211141
ConciergeBubble,
212-
ConciergeNew,
213-
MoneyBadge,
214142
TreasureChest,
215143
ThumbsUpStars,
216144
Hands,
217-
HandEarth,
218145
SmartScan,
219146
Hourglass,
220147
CommentBubbles,
221-
CommentBubblesBlue,
222148
TrashCan,
223149
TeleScope,
224150
Profile,
@@ -229,9 +155,7 @@ export {
229155
QRCode,
230156
RealtimeReport,
231157
HoldExpense,
232-
ReceiptEnvelope,
233158
Approval,
234-
WalletAlt,
235159
Workflows,
236160
PendingBank,
237161
ThreeLeggedLaptopWoman,
@@ -256,12 +180,10 @@ export {
256180
CarIce,
257181
ReceiptLocationMarker,
258182
Lightbulb,
259-
EmptyStateTravel,
260183
Stopwatch,
261184
SubscriptionAnnual,
262185
SubscriptionPPU,
263186
ExpensifyApprovedLogo,
264-
ExpensifyApprovedLogoLight,
265187
SendMoney,
266188
CheckmarkCircle,
267189
CreditCardEyes,
@@ -270,14 +192,10 @@ export {
270192
FolderWithPapers,
271193
VirtualCard,
272194
Tire,
273-
BigVault,
274195
Filters,
275196
MagnifyingGlassMoney,
276197
Rules,
277198
CompanyCardsEmptyState,
278-
AmexCompanyCards,
279-
MasterCardCompanyCards,
280-
VisaCompanyCards,
281199
CompanyCardsPendingState,
282200
VisaCompanyCardDetail,
283201
MasterCardCompanyCardDetail,

__mocks__/react-native.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jest.doMock('react-native', () => {
4545
NativeModules: {
4646
...ReactNative.NativeModules,
4747
BootSplash: {
48-
hide: jest.fn(),
48+
hide: jest.fn().mockResolvedValue(undefined),
4949
logoSizeRatio: 1,
5050
navigationBarHeight: 0,
5151
},

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
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 1009022800
118-
versionName "9.2.28-0"
117+
versionCode 1009023100
118+
versionName "9.2.31-0"
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"

android/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,4 @@ org.gradle.parallel=true
6262
patchedArtifacts.packageName=react-standalone
6363

6464
# Change this property to false if you want to use prebuilt react-native artifacts.
65-
patchedArtifacts.forceBuildFromSource=true
65+
patchedArtifacts.forceBuildFromSource=false

assets/images/arrows-updown.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)