Render optimistic transaction thread#72001
Conversation
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread
…transaction-thread # Conflicts: # src/components/MoneyRequestReportView/MoneyRequestReportTransactionsNavigation.tsx # src/pages/home/ReportScreen.tsx
src/components/SelectionListWithSections/Search/TransactionListItem.tsx
Outdated
Show resolved
Hide resolved
src/components/SelectionListWithSections/Search/TransactionGroupListItem.tsx
Outdated
Show resolved
Hide resolved
…nsaction-thread # Conflicts: # tests/actions/ReportTest.ts
|
🚧 @mountiny 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, Desktop, and Web. Happy testing! 🧪🧪
|
c3024
left a comment
There was a problem hiding this comment.
LGTM
ScreenRecording_10-13-2025.14-18-20_1.MP4
renderChrome.mov
Screenrecorder-2025-10-13-14-12-16-870.mp4
|
@VickyStash conflicts please |
…nsaction-thread # Conflicts: # src/libs/actions/Search.ts
|
@mountiny resolved! |
mountiny
left a comment
There was a problem hiding this comment.
Moving this ahead before the deploy
| reportActionID: moneyRequestReportActionID, | ||
| linkedExpenseReportAction: {childReportID: transactionThreadReportID} as ReportAction, | ||
| }); | ||
| optimisticIOUAction.pendingAction = undefined; |
There was a problem hiding this comment.
Should it be removed instead completely in this case?
|
✋ 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/mountiny in version: 9.2.30-0 🚀
|
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.2.30-6 🚀
|
| onyxUpdates.push({ | ||
| onyxMethod: Onyx.METHOD.MERGE, | ||
| key: `${ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, | ||
| value: item, |
There was a problem hiding this comment.
item should not be set on Transaction key as it includes props that shouldn't exist on transaction, like formattedMerchant, so we fixed it in here.
|
|
||
| // Set optimistic parent report action | ||
| if (!hasParentReportAction) { | ||
| const optimisticIOUAction = buildOptimisticIOUReportAction({ |
There was a problem hiding this comment.
the iou action's actorAccountID should be set to from of the search item so fixed here.
Explanation of Change
We aim to ensure that when opening the transaction thread, we render the transaction details optimistically.
Re-created from: #69073
Fixed Issues
$ #63253
PROPOSAL: N/A
Tests
InboxReports -> ExpenseReports -> ReportsOffline tests
Same, as in the Tests section
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same, as in the Tests section
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
android.mp4
Android: mWeb Chrome
android_web.mp4
iOS: Native
ios.mp4
iOS: mWeb Safari
ios_web.mp4
MacOS: Chrome / Safari
web.mp4
MacOS: Desktop
desktop.mp4