Repository navigation
Conversation
…ult in getPayMoneyRequestParams (Part 8) getPayMoneyRequestParams now takes the report's transactions as an explicit param instead of falling back to the deprecated Onyx.connect-backed global. payMoneyRequest and payInvoice forward it; components and hooks pass the transactions they already have, useHoldMenuSubmit adds useReportTransactions, and bulk pay groups allTransactions by report once before its loop.
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
@DylanDylann Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
| paymentMethodType: type, | ||
| chatReport, | ||
| invoiceReport: moneyRequestReport, | ||
| invoiceReportTransactions: allTransactions, |
There was a problem hiding this comment.
I suggest renaming this to moneyReportTransaction to avoid confusion
Reviewer Checklist
Screenshots/VideosScreen.Recording.2026-10-15.at.11.38.07.mov |
|
🚧 Julesssss has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/Julesssss in version: 9.5.13-0 🚀
|
|
No help site update needed. This PR is an internal refactor: it passes report transactions into the pay functions explicitly instead of reading them through the deprecated |
Explanation of Change
Part 8 of the
getReportTransactionsremoval (#66418).getPayMoneyRequestParamsno longer falls back to the deprecated,Onyx.connect-backedgetReportTransactions(iouReport?.reportID). It now receives the report's transactions as an explicit param, used to decide the amount to pay (held expenses), whether to move scan-failed transactions, and which expenses to optimistically unhold on a full pay.PayMoneyRequest.ts: added requirediouReportTransactions(payMoneyRequest,getPayMoneyRequestParams) andinvoiceReportTransactions(payInvoice); removed thegetReportTransactionsimport and its seatbelt entry.PayPrimaryAction,MoneyReportHeaderSecondaryActions,PayActionButton,PayActionCell,useSelectionModePayment) pass the transactions they already have.useHoldMenuSubmitaddsuseReportTransactions(moneyRequestReport?.reportID).useSearchBulkActionsgroupsallTransactionsby report once before the bulk-pay loop.Search.tsgetPayActionCallbacktakesiouReportTransactionsand forwards it fromhandleActionButtonPress.PayMoneyRequestTest.tspasses the transactions explicitly.Fixed Issues
$ #66418
PROPOSAL: N/A
Tests
Offline tests
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
Screen.Recording.2026-10-14.at.14.37.07.mov
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2026-10-14.at.14.05.05.mov
Screen.Recording.2026-10-14.at.14.05.44.mov
Screen.Recording.2026-10-14.at.14.06.49.mov
Screen.Recording.2026-10-14.at.14.08.45.mov