Navigate to singleExpenseReport#46324
Conversation
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2024-08-13.at.12.51.59.AM.movAndroid: mWeb ChromeScreen.Recording.2024-08-13.at.12.50.22.AM.moviOS: NativeSimulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2024-08-13.at.00.50.10.mp4iOS: mWeb SafariSimulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2024-08-13.at.00.48.35.mp4MacOS: DesktopScreen.Recording.2024-08-13.at.12.45.32.AM.mov |
|
@luacmartins - Backend is returning Screen.Recording.2024-08-06.at.4.41.11.PM.movHere is my onyx state: onyx-state.txt API response{
"accountID": 18064690,
"authToken": "",
"email": "rayanetesting1+456688@gmail.com",
"onyxData": [
{
"key": "snapshot_422547233",
"onyxMethod": "merge",
"value": {
"data": {
"personalDetailsList": {
"17822766": {
"accountID": 17822766,
"avatar": "https:\/\/d2k5nsl2zxldvw.cloudfront.net\/images\/avatars\/default-avatar_7.png",
"displayName": "Test",
"firstName": "Test",
"lastName": "",
"login": "rayanetesting1+1@gmail.com"
},
"17822775": {
"accountID": 17822775,
"avatar": "https:\/\/d2k5nsl2zxldvw.cloudfront.net\/images\/avatars\/default-avatar_16.png",
"displayName": "Test",
"firstName": "Test",
"lastName": "",
"login": "rayanetesting1+2@gmail.com"
},
"18064690": {
"accountID": 18064690,
"avatar": "https:\/\/d2k5nsl2zxldvw.cloudfront.net\/images\/avatars\/default-avatar_11.png",
"displayName": "Test",
"firstName": "Test",
"lastName": "",
"login": "rayanetesting1+456688@gmail.com"
}
},
"report_4203351885235509": {
"accountID": 18064690,
"action": "view",
"created": "2024-08-06 13:15:30",
"currency": "DZD",
"managerID": 17822766,
"policyID": "C4E664368DE59EEE",
"reportID": "4203351885235509",
"reportName": "IOU",
"total": 300,
"type": "iou"
},
"report_7085201317468860": {
"accountID": 18064690,
"action": "view",
"created": "2024-08-06 13:15:18",
"currency": "DZD",
"managerID": 17822775,
"policyID": "C4E664368DE59EEE",
"reportID": "7085201317468860",
"reportName": "IOU",
"total": 100,
"type": "iou"
},
"transactions_3410334514555133836": {
"accountID": 18064690,
"action": "view",
"amount": 100,
"canDelete": true,
"canHold": true,
"canUnhold": false,
"category": "",
"comment": {
"comment": ""
},
"created": "2024-08-06",
"currency": "DZD",
"hasEReceipt": false,
"isFromSingleExpenseReport": false,
"managerID": 17822766,
"merchant": "(none)",
"modifiedAmount": 0,
"modifiedCreated": "",
"modifiedCurrency": "",
"modifiedMerchant": "",
"parentTransactionID": "",
"policyID": "C4E664368DE59EEE",
"reportID": "4203351885235509",
"reportType": "iou",
"tag": "",
"transactionID": "3410334514555133836",
"transactionThreadReportID": "6715848638806335",
"transactionType": "cash"
},
"transactions_4414662765998918427": {
"accountID": 18064690,
"action": "view",
"amount": 100,
"canDelete": true,
"canHold": true,
"canUnhold": false,
"category": "",
"comment": {
"comment": ""
},
"created": "2024-08-06",
"currency": "DZD",
"hasEReceipt": false,
"isFromSingleExpenseReport": false,
"managerID": 17822775,
"merchant": "(none)",
"modifiedAmount": 0,
"modifiedCreated": "",
"modifiedCurrency": "",
"modifiedMerchant": "",
"parentTransactionID": "",
"policyID": "C4E664368DE59EEE",
"reportID": "7085201317468860",
"reportType": "iou",
"tag": "",
"transactionID": "4414662765998918427",
"transactionThreadReportID": "1096493056793",
"transactionType": "cash"
},
"transactions_5598384376207739393": {
"accountID": 18064690,
"action": "view",
"amount": 200,
"canDelete": true,
"canHold": true,
"canUnhold": false,
"category": "",
"comment": {
"comment": ""
},
"created": "2024-08-06",
"currency": "DZD",
"hasEReceipt": false,
"isFromSingleExpenseReport": false,
"managerID": 17822766,
"merchant": "(none)",
"modifiedAmount": 0,
"modifiedCreated": "",
"modifiedCurrency": "",
"modifiedMerchant": "",
"parentTransactionID": "",
"policyID": "C4E664368DE59EEE",
"reportID": "4203351885235509",
"reportType": "iou",
"tag": "",
"transactionID": "5598384376207739393",
"transactionThreadReportID": "5314195857522704",
"transactionType": "cash"
}
},
"search": {
"columnsToShow": {
"shouldShowCategoryColumn": true,
"shouldShowTagColumn": false,
"shouldShowTaxColumn": false
},
"hasMoreResults": false,
"offset": 0,
"statusToShow": {
"expense": {
"all": true,
"approved": false,
"drafts": false,
"outstanding": true,
"paid": true
}
},
"type": "transaction"
}
}
}
],
"httpCode": 200,
"jsonCode": 200,
"authResponseMessage": "200 OK",
"requestID": "8af0300cdc6eb6c5-AAE"
} |
|
Ah nice catch! There was a bug in the backend that returned false for transactions that were initially created before their report. I put up a PR to fix that. |
|
Please let me know when this is ready for another review |
|
PR should be deployed in a few hours. I'll ping it here once it's ready. |
|
The PR was not deployed yesterday, so the next deploy will be on Monday. I'll ping this PR once that's ready. |
|
This is ready to be tested again |
|
@yuwenmemon 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] |
NikkiWines
left a comment
There was a problem hiding this comment.
Looks good - but iirc we were previously using oneTransactionReport to denote reports with only one expense on them. Either works, but we should be consistent with the terminology
|
hmm makes sense, we can rename that. |
|
Ok, API PR renaming the param is merged. It should be deployed today. Meanwhile, I updated this PR to use the new name. @NikkiWines could you please review again? 🙇 |
|
Backend is deployed. Removing hold and merging. |
|
🚀 Deployed to staging by https://github.com/luacmartins in version: 9.0.21-0 🚀
|
|
🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.21-4 🚀
|
|
🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.21-4 🚀
|


Details
If the selected transaction is on a single expense report, we should navigate the user to the expense report, instead of the transaction thread
Fixed Issues
$ #45408
$ #46192
$ #46772
Tests
Note: you can verify that by comparing the reportIDs in the onyxData response from Search OR the report header subtitle
Offline tests
N/A
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))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
Screen.Recording.2024-07-26.at.1.48.30.PM.mov
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop