[Hold on #723] Fix/reports old amount and pay button after move#77330
[Hold on #723] Fix/reports old amount and pay button after move#77330nabi-ebrahimi wants to merge 30 commits intoExpensify:mainfrom
Conversation
|
@sobitneupane 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] |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@nabi-ebrahimi The report with pending total is not being grayed-out as expected. Screen.Recording.2025-12-16.at.17.00.52.mov |
|
@sobitneupane Thanks for the review. can you please take a look at the following questions when you get a chance.
|
Not the individual expense. However, if there is a total, we should gray out the total when its value is outdated.
Yes. We should gray out the report row from which the expense was moved, as well as the destination report row, if any value is outdated and waiting for a backend update (e.g., currency conversion). |
|
@sobitneupane, thanks for your patience i have covered all cases, the PR is ready for your review. |
|
@sobitneupane, kindly bump. |
|
@sobitneupane, pr is ready for review. thanks. |
|
Sorry for the delay. I will review the PR by EOD tomorrow. In the meantime, could you please merge main. |
|
@nabi-ebrahimi Could you please check the following screen recording? I am still able to reproduce the issue. I created three expenses(two in NPR and one in AED) and then moved two of them (one NPR and one AED). However, the calculation and actual result still seems off. Screen.Recording.2026-03-11.at.15.44.58.mov |
|
Also, please make sure to add test steps and screen recordings covering different possible cases. |
|
sorry for the delay, i will check this today. |
|
@sobitneupane, currently looking into this to find the root cause and fix it. thanks. |
|
Sorry for the delay, i was OOO, i will update this tomorrow. thanks. |
…ency partial moves. - track stale source/destination reports in changeTransactionsReport() - stop accumulating optimistic totals once a report becomes stale - preserve convertedAmount behavior for single-currency destination flows - consolidate report pendingFields merges so Search snapshots keep preview/total/nextStep together - treat pendingFields.total and pendingFields.preview as offline-pending in ReportUtils - add regressions for the mixed-currency partial move and pending helper
|
@sobitneupane, thanks for your patience, the pr is ready for your review. please take another look, when you get a chance. thanks. |
|
@sobitneupane, kindly bump. thanks. |
|
@sobitneupane, kindly bump. |
|
Sorry for the delay @nabi-ebrahimi I would try to get it done by EOD. In the meantime, could you please address this comment? |
|
@sobitneupane, I've addressed all your comments, it's all yours. thanks. |
|
@nabi-ebrahimi Could you please resolve the merge conflicts? |
Following doesn't meet the first expectaion. Screen.Recording.2026-04-01.at.14.28.44.mov |
|
@nabi-ebrahimi This is getting a bit large. Do you think we should split it into multiple PRs? |
@sobitneupane, these are in different currencies. Could you please clarify how this is expected to be handled on the frontend? |
@sobitneupane, I agree, but how could we split it? |
What do you propose? What would be easier for you to implement? IMO,
|
|
@sobitneupane, should i create new pr? |
Sure |


Explanation of Change
This PR fixes the issue where the previous report continued to display the old total and a
Paybutton even after all expenses were moved to a new report. The expected behavior is that once the expenses are moved, the previous report should show a total of0.00and display aViewbutton instead.These conditions should be respected when performing the move:
Fixed Issues
$ #75091
PROPOSAL: #75091 (Comment)
Tests
Flow 1:
amount 0.00and theViewbutton after moving expenses to a new reportFlow 2:
a. Go to staging.new.expensify.com
b. Go to workspace chat
b. Create one expense
c. Open the expense details
d. Go offline
e. Click the " More " button > Move to report
f. Click Create report
g. Go to Report > Reports
h. Verify that the previous report shows
amount 0.00and theViewbutton after moving expenses to a new reportFlow 3:
amount 0.00and theViewbutton after moving expenses to a new reportFlow 4:
amount 0.00and theViewbutton after moving expenses to a new reportFlow5:
a. Go to staging.new.expensify.com
b. Go to workspace chat
c. Create two expenses with two different currencies
d. Go to Reports > Reports
e. Go offline
f. Select the expenses from Step 3 via the checkbox
g. Click move to report > create report
i. Verify that the previous report shows
amount 0.00and theViewbutton after moving expenses to a new reportOffline tests
Same as Tests
QA Steps
Same as Tests.
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as Tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))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.ScrollViewcomponent to make it scrollable when more elements are added to the page.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
Screen.Recording.1404-09-20.at.12.08.19.PM.mov
Android: mWeb Chrome
Screen.Recording.1404-09-20.at.12.13.09.PM.mov
iOS: Native
Screen.Recording.1404-09-20.at.12.16.51.PM.mov
iOS: mWeb Safari
Screen.Recording.1404-09-20.at.12.21.00.PM.mov
MacOS: Chrome / Safari
Screen.Recording.1404-09-20.at.11.55.47.AM.mov
create.two.expenses.reports.expenses.move.report.reports.mov
one.expense.open.expense.move.report.go.to.reports.reports.mov
two.expense.various.currencies.reports.reports.move.expense.mov
online.test.mov