Manual expense flow UI refactor r1#83695
Conversation
|
@ShridharGoel 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] |
|
Could someone please trigger an ad-hoc build and request applause for testing? This PR implemented inline input for IOU field - |
|
ps. I'd recommit everything with meaningful messages once the component is confirmed to be working as expected. |
|
@ChavdaSachin can you fix that conflict? |
|
🚧 @puneetlath has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
Applause was asked to test this PR right? |
Screen.Recording.2026-03-10.at.11.44.53.PM.mov |
|
@ChavdaSachin Can you add the description and testing steps and also mention that this only handles the amount field? |
Sure. @ShridharGoel for the recording video you posted, is there any bug you want to highlight? |
No, it was just for showing the flow so that others can have a look since screenshots/videos were not there in the description. |
Not that I'm aware of. Given that this is behind a beta, can we ask them to test on staging? Or do you think there's some risk in spite of the beta? |
|
How do I get on the beta for this PR? |
|
@JmillsExpensify you could run following command in console Onyx.merge('betas', ['newManualExpenseFlow']);
|
Then please ask them to test, as this PR would tough some core functions as well, which may have side effects. And just to make sure - @puneetlath the expensifail accounts by default have beta key 'all' added right? |
Are you doing it on 83695.pr-testing.expensify.com ? |
|
Changes are up, ready for review. |
|
@ShridharGoel can you please prioritize another round of review today? |
|
Bug: Expense can be created without any amount instead of showing an error, after the amount is cleared in the inline field. This is because the draft amount is not cleared in Screen.Recording.2026-03-23.at.10.50.47.PM.mov |
|
@ShridharGoel good catch, this bug would be handled in the final PR, if I would patch it up now it's highly likely we might not need those changes during final phase and end up reverting. |
|
Would it be good to add "NoQA" here and get it tested once the whole feature is done? |
|
Yes, I think that makes sense. |
puneetlath
left a comment
There was a problem hiding this comment.
Two super minor comments. Can we address and merge today?
|
@puneetlath I did not add the GH comment link to the code. As To Do list on the parent issue should be self sufficient for the future references. Ready to merge. |
|
🚧 @puneetlath has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/puneetlath in version: 9.3.44-0 🚀
Bundle Size Analysis (Sentry): |
|
Deploy Blocker #86342 was identified to be related to this PR. |
|
Deploy Blocker #86343 was identified to be related to this PR. |
|
This PR failing because of the issue #86343 |
PR Expensify#83695 added isNewManualExpenseFlowEnabled guards that suppressed the amount from the Create/Track button text, but the Split button was not modified — causing an inconsistency where Split shows the amount but Create does not. Remove the isNewManualExpenseFlowEnabled conditions from the button text logic so the Create button always shows the amount (e.g. "Create $500.00 expense") regardless of the flow, consistent with the Split button behavior. Fixes Expensify#86342
|
🚀 Deployed to staging by https://github.com/puneetlath in version: 9.3.47-0 🚀
Bundle Size Analysis (Sentry): |
|
Deploy Blocker #86394 was identified to be related to this PR. |
|
We didn't add NoQA here? #83695 (comment) |
|
🚀 Deployed to production by https://github.com/grgia in version: 9.3.48-2 🚀
|

Explanation of Change
Fixed Issues
$ #82586
PROPOSAL:
Tests
Same as QA.
Offline tests
Same as QA.
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Test using Expensifail account.
Amount.create expense, Verify Field required error is visible.create expense, Verify IOU created is of correct value.Track Distance->Map/Manual/OdometerPR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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.2026-03-16.at.5.30.47.PM.mov
Android: mWeb Chrome
iOS: Native
Uploading Screen Recording 2026-03-16 at 5.37.10 PM.mov…
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2026-03-16.at.5.23.27.PM.mov