[$250] Submit Expense - Submit button appears briefly In expense details page
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: 9.0.68-0 Reproducible in staging?: Y Reproducible in production?: Y If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: N/A If this was caught during regression testing, add the test name, ID and link from TestRail: N/A Email or phone of affected tester (no customers): [email protected] Issue reported by: Applause - Internal Team
Action Performed:
- Go to https://staging.new.expensify.com/
- As an admin, create a workspace and add an employee
- As an admin, set delay submission to manually
- As an employee, go to the workspace chat and submit an expense
- As an employee, click on the submit button and then click on the expense preview quickly
Expected Result:
Submit button shouldn't appear
Actual Result:
Submit button appears and then disappears
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
- [ ] Android: Standalone
- [ ] Android: HybridApp
- [x] Android: mWeb Chrome
- [ ] iOS: Standalone
- [ ] iOS: HybridApp
- [ ] iOS: mWeb Safari
- [x] MacOS: Chrome / Safari
- [ ] MacOS: Desktop
Screenshots/Videos
Add any screenshot/video evidence
https://github.com/user-attachments/assets/215f68cb-9289-4c62-b08f-7dd1ed90835e
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~021864310032102390236
- Upwork Job ID: 1864310032102390236
- Last Price Increase: 2024-12-04
Issue Owner
Current Issue Owner: @ntdiary
Triggered auto assignment to @muttmuure (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.
@muttmuure Whoops! This issue is 2 days overdue. Let's get this updated quick!
@muttmuure Eep! 4 days overdue now. Issues have feelings too...
Job added to Upwork: https://www.upwork.com/jobs/~021864310032102390236
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ntdiary (External)
Edited by proposal-police: This proposal was edited at 2024-12-07 01:41:23 UTC.
Proposal
Please re-state the problem that we are trying to solve in this issue.
Submit Expense - Submit button appears briefly In expense details page
What is the root cause of that problem?
- In the MoneyReportHeader component, there is a condition to display the "Submit" button. This condition uses the isOpenExpenseReport function, which checks if the report type is 'expense' and both stateNum and statusNum are 0.
- When Submit Expense, the
SubmitReportAPI is called, andoptimisticDatatemporarily setsstateNumandstatusNumto 2 (APPROVED, CLOSED), which hides the "Submit" button. - The root cause appears to be that the
SubmitReportresponse returns apreviousUpdateIDthat differs from theclientUpdateIDin the request header. As a result, the app detects a conflict and resolves it by making aGetMissingOnyxMessagesrequest with a range that predates theSubmitReportcall withstateNumandstatusNumis 0. As a result, theisOpenExpenseReportcondition evaluates astrue, and theSubmitbutton reappears temporarily.
Look!
What changes do you think we should make in order to solve the problem?
-
Modify the SubmitReport function:
- Add a custom flag,
isSubmitting: trueto the optimisticData. - Add the
finallyDatahere to reset theisSubmittingflag to false.
- Add a custom flag,
-
Update the ReportScreen component:
- Include the
isSubmittingfield in the report
- Include the
-
Update the MoneyReportHeader component:
- Adjust the condition for
shouldShowSubmitButtonto check ifisSubmittingis true. If so, the "Submit" button should not be displayed.
- Adjust the condition for
POC
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
N/A
What alternative solutions did you explore? (Optional)
Fix this issue on the backend by ensuring the previousUpdateID returned matches clientUpdateID in the request. If this is correct, the client will not detect a conflict, and the issue will be resolved.
curious why the stateNum and statusNum values returned by the GetMissingOnyxMessages are still 0. It seems like the SubmitReport request was already sent to the backend, there might be some issues with the backend logic? 🤔
@ntdiary You are correct, the SubmitReport request was already sent to the backend. However, the GetMissingOnyxMessages request was called with the parameters updateIDFrom and updateIDTo, specifying a range that predates the SubmitReport call. (I’m not entirely sure I understand the exact logic in the backend for GetMissingOnyxMessages)
Details
I also noticed that the previousUpdateID of SubmitReport seems unusual. It might be an issue with the backend logic, as you mentioned
@ntdiary You are correct, the
SubmitReportrequest was already sent to the backend. However, theGetMissingOnyxMessagesrequest was called with the parametersupdateIDFromandupdateIDTo, specifying a range that predates theSubmitReportcall. (I’m not entirely sure I understand the exact logic in the backend forGetMissingOnyxMessages)Details
I also reproduced the issue using different steps without opening the Expense details page. The root cause appears to be that the SubmitReport response returns a previousUpdateID that differs from the clientUpdateID in the request header. As a result, the app detects a conflict and resolves it by making a GetMissingOnyxMessages request with a range that predates the SubmitReport call.
Details
Proposal
Update the root cause of the problem and include an alternative solution to fix it via the backend. Updated
@ntdiary, @muttmuure Whoops! This issue is 2 days overdue. Let's get this updated quick!
Hi, @linhvovan29546, thank you very much for your detailed explanation! I'm still researching Onyx's update mechanism, at the moment, can only roughly feel that the issue might be on the backend, will provide an update tomorrow. :)
| Request | Response |
|---|---|
SubmitReport
Request
reportID: 2079267310902332
managerAccountID: 18742492
reportActionID: 8221691778512079875
apiRequestType: write
pusherSocketID: 805486.11716452
shouldRetry: true
canCancel: true
authToken: AE79C4C24E4B82081618B8053D9EC9643D1D401F0A03F3835C5810E580882D4416A0FD94A88FE67E0C85ED40F53C0A220D268B23143E4EAF3DAF9F306EE0B0A94288CA5AC335986AC4133E0D8DB81E965F6A7500D770E4B046378AA65A30EF64A89572CEC1E800E6D05D99BEBE776552E404ED03ABB1A4044A5D9F8A18271763E93221C466D02E2B9FE385C5BFEDB62FC49C53EE3174CF8DB77ED3ECDF590402669289C1906D25CE794884D002B4C7107BEA0CE4665173DC704584F7E73D738629F3609F26984D438113E708F0F3D73731618E789E69E59CD10B8B718C7B0C9F5C87E38EC16B029AD5E7DCE4465C18AA73701C4D7F790B81C591D29B8005528FE2449FBCE240E6F943AA252D6A3F6FEE00D8D09D3C122C48FBD8E4989DBC4713E157964FB08F14F93BD1AFDFF50094039C06B1038655CB145F02DAC0B6D9A1492815CB6919C1A729D08D17B79EF3B0EB56BCE9EDB295C9E561E028F575ADB2F0
referer: ecash
platform: web
api_setCookie: false
email: [email protected]
isFromDevEnv: true
appversion: 9.0.71-2
clientUpdateID: 3326978644
Response
{
"onyxData": [
{
"onyxMethod": "set",
"key": "reportNextStep_2079267310902332",
"value": {
"message": [
{
"text": "Waiting for "
},
{
"text": "no.25",
"type": "strong",
"tooltipText": "[email protected] (click to copy)",
"clickToCopyText": "[email protected]"
},
{
"text": " to "
},
{
"text": "approve expense(s)"
}
],
"title": "Next Step:",
"requiresUserAction": true,
"type": null,
"showUndoSubmit": true,
"showForMobile": true,
"showForExpense": true,
"nextReceiver": "",
"icon": "hourglass"
}
},
{
"onyxMethod": "mergecollection",
"key": "transactionViolations_",
"value": {
"transactionViolations_3007336961270018152": null
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"participants": {
"12136751": {
"notificationPreference": "hidden"
},
"12155382": {
"notificationPreference": "hidden"
},
"12395345": {
"notificationPreference": "hidden"
},
"12395346": {
"notificationPreference": "hidden"
},
"18742492": {
"notificationPreference": "hidden"
}
}
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"lastReadTime": "2024-12-10 03:02:02.143"
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"chatType": "",
"description": "",
"lastActorAccountID": 18742492,
"lastMessageText": "submitted $2.00",
"lastVisibleActionCreated": "2024-12-10 03:02:02.138",
"managerID": 18742492,
"ownerAccountID": 18742492,
"parentReportActionID": "6328382617190002208",
"parentReportID": "5811615857794027",
"policyID": "003E939C143712F8",
"reportID": "2079267310902332",
"reportName": "Expense Report #2079267310902332",
"state": "SUBMITTED",
"stateNum": 1,
"statusNum": 0,
"type": "expense",
"visibility": null
}
},
{
"key": "reportActions_2079267310902332",
"onyxMethod": "merge",
"value": {
"8221691778512079875": {
"actionName": "SUBMITTED",
"actorAccountID": 18742492,
"avatar": "https://d1wpcgnaa73g0y.cloudfront.net/ef748e6e3b8103dac22764fa4e96373dfd860116_128.jpeg",
"created": "2024-12-10 03:02:02.138",
"lastModified": "2024-12-10 03:02:02.138",
"message": [
{
"html": "submitted $2.00",
"text": "submitted $2.00",
"type": "COMMENT",
"whisperedTo": []
}
],
"originalMessage": {
"amount": 200,
"cc": "",
"currency": "USD",
"hasExternalComment": false,
"html": "submitted $2.00",
"isNewDot": true,
"lastModified": "2024-12-10 03:02:02.138",
"message": "",
"to": "[email protected]",
"workflow": "ADVANCED"
},
"person": [
{
"style": "strong",
"text": "no.25",
"type": "TEXT"
}
],
"reportActionID": "8221691778512079875",
"shouldShow": true
}
}
},
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"value": {
"6328382617190002208": {
"actionName": "REPORTPREVIEW",
"actorAccountID": 18742492,
"avatar": "https://d1wpcgnaa73g0y.cloudfront.net/ef748e6e3b8103dac22764fa4e96373dfd860116_128.jpeg",
"childCanHold": true,
"childCanUnhold": false,
"childCommenterCount": 0,
"childLastActorAccountID": 18742492,
"childLastMoneyRequestComment": "",
"childLastReceiptTransactionIDs": "",
"childLastVisibleActionCreated": "",
"childManagerAccountID": 18742492,
"childMoneyRequestCount": 1,
"childOldestFourAccountIDs": "",
"childOwnerAccountID": 18742492,
"childRecentReceiptTransactionIDs": [],
"childReportID": 2079267310902332,
"childReportName": "Expense Report #2079267310902332",
"childReportNotificationPreference": "hidden",
"childStateNum": 1,
"childStatusNum": 0,
"childType": "expense",
"childVisibleActionCount": 0,
"created": "2024-12-10 02:55:52.177",
"lastModified": "2024-12-10 02:55:52.177",
"message": [
{
"html": "No.25's Workspace owes $2.00",
"text": "No.25's Workspace owes $2.00",
"type": "COMMENT",
"whisperedTo": []
}
],
"originalMessage": {
"isNewDot": true,
"lastModified": "2024-12-10 02:55:52.177",
"linkedReportID": "2079267310902332"
},
"person": [
{
"style": "strong",
"text": "no.25",
"type": "TEXT"
}
],
"reportActionID": "6328382617190002208",
"shouldShow": true
}
}
},
{
"key": "personalDetailsList",
"onyxMethod": "merge",
"value": {
"18742492": {
"accountID": 18742492,
"avatar": "https://d1wpcgnaa73g0y.cloudfront.net/ef748e6e3b8103dac22764fa4e96373dfd860116_128.jpeg",
"displayName": "no.25",
"firstName": "no.25",
"lastName": "",
"login": "[email protected]",
"phoneNumber": "",
"pronouns": "__predefined_heHimHis",
"status": {
"clearAfter": "2024-12-10 23:59:59",
"emojiCode": "💬",
"text": "123"
},
"timezone": {
"automatic": true,
"selected": "Asia/Shanghai"
},
"validated": true
}
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"statusNum": 1
}
},
{
"key": "report_5811615857794027",
"onyxMethod": "merge",
"value": {
"participants": {
"18742492": {
"notificationPreference": "always"
}
}
}
},
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"shouldShowPushNotification": true,
"value": {
"4353954628105161485": {
"actionName": "ADDCOMMENT",
"actorAccountID": 11665625,
"avatar": "https://d2k5nsl2zxldvw.cloudfront.net/images/expensify-iconmark-avatar-square.png",
"created": "2024-12-10 03:02:02.145",
"lastModified": "2024-12-10 03:02:02.145",
"message": [
{
"html": "<h1>Please review [email protected]'s report</h1>Heads up! You need to approve <a href=\"https://new.expensify.com/r/2079267310902332\" rel=\"noreferrer noopener\">Expense Report #2079267310902332</a> 👀",
"text": "Please review [email protected]'s report\nHeads up! You need to approve Expense Report #2079267310902332 👀",
"type": "COMMENT",
"whisperedTo": [
18742492
]
}
],
"originalMessage": {
"html": "<h1>Please review [email protected]'s report</h1>Heads up! You need to approve <a href=\"https://new.expensify.com/r/2079267310902332\" rel=\"noreferrer noopener\">Expense Report #2079267310902332</a> 👀",
"isNewDot": true,
"lastModified": "2024-12-10 03:02:02.145",
"whisperedTo": [
18742492
]
},
"person": [
{
"style": "strong",
"text": "Expensify",
"type": "TEXT"
}
],
"reportActionID": "4353954628105161485",
"shouldShow": true,
"whisperedToAccountIDs": [
18742492
]
}
}
},
{
"key": "personalDetailsList",
"onyxMethod": "merge",
"value": {
"11665625": {
"accountID": 11665625,
"avatar": "https://d2k5nsl2zxldvw.cloudfront.net/images/expensify-iconmark-avatar-square.png",
"displayName": "Expensify",
"firstName": "",
"lastName": "Expensify",
"login": "[email protected]",
"phoneNumber": "",
"pronouns": "",
"status": null,
"timezone": {
"automatic": true,
"selected": "Europe/Madrid"
},
"validated": true
}
}
},
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"value": {
"6328382617190002208": {
"childCanHold": true,
"childCanUnhold": false,
"childCommenterCount": 0,
"childLastActorAccountID": 18742492,
"childLastMoneyRequestComment": "",
"childLastReceiptTransactionIDs": "",
"childLastVisibleActionCreated": "",
"childManagerAccountID": 18742492,
"childMoneyRequestCount": 1,
"childOldestFourAccountIDs": "",
"childOwnerAccountID": 18742492,
"childRecentReceiptTransactionIDs": [],
"childReportID": 2079267310902332,
"childReportName": "Expense Report #2079267310902332",
"childReportNotificationPreference": "hidden",
"childStateNum": 1,
"childStatusNum": 1,
"childType": "expense",
"childVisibleActionCount": 0,
"message": [
{
"html": "No.25's Workspace owes $2.00",
"text": "No.25's Workspace owes $2.00",
"type": "COMMENT",
"whisperedTo": []
}
],
"originalMessage": {
"isNewDot": true,
"lastModified": "2024-12-10 02:55:52.177",
"linkedReportID": "2079267310902332"
}
}
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"avatarUrl": null,
"chatReportID": "5811615857794027",
"chatType": "",
"currency": "USD",
"description": "",
"errorFields": {
"export": null,
"notFound": null
},
"fieldList": null,
"hasOutstandingChildRequest": false,
"hasOutstandingChildTask": false,
"hasParentAccess": true,
"invoiceReceiver": null,
"iouReportID": null,
"isCancelledIOU": false,
"isDeletedParentAction": null,
"isOwnPolicyExpenseChat": false,
"isPinned": false,
"isWaitingOnBankAccount": false,
"lastActionType": "SUBMITTED",
"lastActorAccountID": "18742492",
"lastMentionedTime": null,
"lastMessageHtml": "submitted this report",
"lastMessageText": "submitted this report",
"lastReadSequenceNumber": 0,
"lastReadTime": "2024-12-10 03:02:02.143",
"lastVisibleActionCreated": "2024-12-10 03:02:02.138",
"lastVisibleActionLastModified": "2024-12-10 03:02:02.138",
"managerID": 18742492,
"nonReimbursableTotal": 0,
"oldPolicyName": "",
"ownerAccountID": 18742492,
"parentReportActionID": "6328382617190002208",
"parentReportID": "5811615857794027",
"participants": {
"12136751": {
"notificationPreference": "hidden"
},
"12155382": {
"notificationPreference": "hidden"
},
"12395345": {
"notificationPreference": "hidden"
},
"12395346": {
"notificationPreference": "hidden"
},
"18742492": {
"notificationPreference": "hidden"
}
},
"permissions": [],
"policyAvatar": null,
"policyID": "003E939C143712F8",
"policyName": null,
"private_isArchived": "",
"reportID": "2079267310902332",
"reportName": "Expense Report #2079267310902332",
"stateNum": 1,
"statusNum": 1,
"total": -200,
"tripData": null,
"type": "expense",
"unheldNonReimbursableTotal": 0,
"unheldTotal": -200,
"visibility": null,
"welcomeMessage": "",
"writeCapability": "all"
}
},
{
"key": "reportNameValuePairs_2079267310902332",
"onyxMethod": "merge",
"value": {
"type": "expense"
}
},
{
"key": "report_5811615857794027",
"onyxMethod": "merge",
"value": {
"hasOutstandingChildRequest": true
}
},
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"value": {
"6328382617190002208": {
"childCanHold": true,
"childCanUnhold": false,
"childCommenterCount": 0,
"childLastActorAccountID": 18742492,
"childLastMoneyRequestComment": "",
"childLastReceiptTransactionIDs": "",
"childLastVisibleActionCreated": "",
"childManagerAccountID": 18742492,
"childMoneyRequestCount": 1,
"childOldestFourAccountIDs": "",
"childOwnerAccountID": 18742492,
"childRecentReceiptTransactionIDs": [],
"childReportID": 2079267310902332,
"childReportName": "Expense Report #2079267310902332",
"childReportNotificationPreference": "hidden",
"childStateNum": 1,
"childStatusNum": 1,
"childType": "expense",
"childVisibleActionCount": 0,
"message": [
{
"html": "No.25's Workspace owes $2.00",
"text": "No.25's Workspace owes $2.00",
"type": "COMMENT",
"whisperedTo": []
}
],
"originalMessage": {
"isNewDot": true,
"lastModified": "2024-12-10 02:55:52.177",
"linkedReportID": "2079267310902332"
}
}
}
},
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"value": {
"6328382617190002208": {
"childMoneyRequestCount": 1,
"reportActionID": "6328382617190002208"
}
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"chatType": "",
"lastActorAccountID": 18742492,
"lastMessageText": "",
"lastVisibleActionCreated": "2024-12-10 03:02:02.138",
"managerID": 18742492,
"nonReimbursableTotal": 0,
"ownerAccountID": 18742492,
"parentReportActionID": "6328382617190002208",
"parentReportID": "5811615857794027",
"policyID": "003E939C143712F8",
"reportID": "2079267310902332",
"reportName": "Expense Report #2079267310902332",
"stateNum": 1,
"statusNum": 1,
"total": "-200",
"type": "expense",
"visibility": null
}
},
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"value": {
"6328382617190002208": {
"childCanHold": true,
"childCanUnhold": false,
"childCommenterCount": 0,
"childLastActorAccountID": 18742492,
"childLastMoneyRequestComment": "",
"childLastReceiptTransactionIDs": "",
"childLastVisibleActionCreated": "",
"childManagerAccountID": 18742492,
"childMoneyRequestCount": 1,
"childOldestFourAccountIDs": "",
"childOwnerAccountID": 18742492,
"childRecentReceiptTransactionIDs": [],
"childReportID": 2079267310902332,
"childReportName": "Expense Report #2079267310902332",
"childReportNotificationPreference": "hidden",
"childStateNum": 1,
"childStatusNum": 1,
"childType": "expense",
"childVisibleActionCount": 0,
"message": [
{
"html": "No.25's Workspace owes $2.00",
"text": "No.25's Workspace owes $2.00",
"type": "COMMENT",
"whisperedTo": []
}
],
"originalMessage": {
"isNewDot": true,
"lastModified": "2024-12-10 02:55:52.177",
"linkedReportID": "2079267310902332"
}
}
}
},
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"value": {
"6328382617190002208": {
"childMoneyRequestCount": 1,
"reportActionID": "6328382617190002208"
}
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"chatType": "",
"lastActorAccountID": 18742492,
"lastMessageText": "",
"lastVisibleActionCreated": "2024-12-10 03:02:02.138",
"managerID": 18742492,
"nonReimbursableTotal": 0,
"ownerAccountID": 18742492,
"parentReportActionID": "6328382617190002208",
"parentReportID": "5811615857794027",
"policyID": "003E939C143712F8",
"reportID": "2079267310902332",
"reportName": "Expense Report #2079267310902332",
"stateNum": 1,
"statusNum": 1,
"total": "-200",
"type": "expense",
"visibility": null
}
},
{
"key": "userMetadata",
"onyxMethod": "set",
"value": {
"accountID": 18742492,
"email": "[email protected]",
"freeTrial": false,
"planType": "corporate",
"role": "admin",
"tryNewDotDismissed": true
}
},
{
"key": "transactionViolations_",
"onyxMethod": "mergecollection",
"value": {
"transactionViolations_3007336961270018152": null
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"lastActorAccountID": 18742492,
"lastMentionedTime": null,
"lastMessageText": "submitted $2.00",
"lastReadTime": "2024-12-10 03:02:02.138",
"lastVisibleActionCreated": "2024-12-10 03:02:02.138",
"maxSequenceNumber": 2,
"reportID": "2079267310902332"
}
},
{
"key": "reportActions_2079267310902332",
"onyxMethod": "merge",
"shouldNotify": false,
"value": {
"8221691778512079875": {
"actionName": "SUBMITTED",
"actorAccountID": 18742492,
"automatic": false,
"avatar": "https://d1wpcgnaa73g0y.cloudfront.net/ef748e6e3b8103dac22764fa4e96373dfd860116_128.jpeg",
"created": "2024-12-10 03:02:02.138",
"isAttachment": false,
"lastModified": "2024-12-10 03:02:02.138",
"message": [
{
"style": "normal",
"text": "submitted $2.00",
"type": "TEXT"
}
],
"originalMessage": {
"amount": 200,
"cc": "",
"currency": "USD",
"hasExternalComment": false,
"html": "submitted $2.00",
"isNewDot": true,
"lastModified": "2024-12-10 03:02:02.138",
"message": "",
"to": "[email protected]",
"workflow": "ADVANCED"
},
"person": [
{
"style": "strong",
"text": "no.25",
"type": "TEXT"
}
],
"reportActionID": "8221691778512079875",
"reportActionTimestamp": 1733799722138,
"sequenceNumber": 2,
"shouldShow": true,
"timestamp": 1733799722,
"whisperedToAccountIDs": []
}
}
}
],
"jsonCode": 200,
"requestID": "8ef9fe6688229657-SJC",
"previousUpdateID": 3327030705,
"lastUpdateID": 3327030869
}
GetMissingOnyxMessages
Request
updateIDFrom: 3326978644
updateIDTo: 3327030705
apiRequestType: makeRequestWithSideEffects
authToken: AE79C4C24E4B82081618B8053D9EC9643D1D401F0A03F3835C5810E580882D4416A0FD94A88FE67E0C85ED40F53C0A220D268B23143E4EAF3DAF9F306EE0B0A94288CA5AC335986AC4133E0D8DB81E965F6A7500D770E4B046378AA65A30EF64A89572CEC1E800E6D05D99BEBE776552E404ED03ABB1A4044A5D9F8A18271763E93221C466D02E2B9FE385C5BFEDB62FC49C53EE3174CF8DB77ED3ECDF590402669289C1906D25CE794884D002B4C7107BEA0CE4665173DC704584F7E73D738629F3609F26984D438113E708F0F3D73731618E789E69E59CD10B8B718C7B0C9F5C87E38EC16B029AD5E7DCE4465C18AA73701C4D7F790B81C591D29B8005528FE2449FBCE240E6F943AA252D6A3F6FEE00D8D09D3C122C48FBD8E4989DBC4713E157964FB08F14F93BD1AFDFF50094039C06B1038655CB145F02DAC0B6D9A1492815CB6919C1A729D08D17B79EF3B0EB56BCE9EDB295C9E561E028F575ADB2F0
referer: ecash
platform: web
api_setCookie: false
email: [email protected]
isFromDevEnv: true
appversion: 9.0.71-2
clientUpdateID: 3326978644
Response
{
"onyxData": [
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"value": {
"6328382617190002208": {
"childCanHold": true,
"childCanUnhold": false,
"childCommenterCount": 0,
"childLastActorAccountID": 18742492,
"childLastMoneyRequestComment": "",
"childLastReceiptTransactionIDs": "",
"childLastVisibleActionCreated": "",
"childManagerAccountID": 18742492,
"childMoneyRequestCount": 1,
"childOldestFourAccountIDs": "",
"childOwnerAccountID": 18742492,
"childRecentReceiptTransactionIDs": [],
"childReportID": 2079267310902332,
"childReportName": "Expense Report #2079267310902332",
"childReportNotificationPreference": "hidden",
"childStateNum": 0,
"childStatusNum": 0,
"childType": "expense",
"childVisibleActionCount": 0,
"message": [
{
"html": "No.25's Workspace owes $2.00",
"text": "No.25's Workspace owes $2.00",
"type": "COMMENT",
"whisperedTo": []
}
],
"originalMessage": {
"isNewDot": true,
"lastModified": "2024-12-10 02:55:52.177",
"linkedReportID": "2079267310902332"
}
}
}
},
{
"key": "reportActions_5811615857794027",
"onyxMethod": "merge",
"value": {
"6328382617190002208": {
"childMoneyRequestCount": 1,
"reportActionID": "6328382617190002208"
}
}
},
{
"key": "report_2079267310902332",
"onyxMethod": "merge",
"value": {
"chatType": "",
"lastActorAccountID": 18742492,
"lastMessageText": "",
"lastVisibleActionCreated": "2024-12-10 02:55:52.174",
"managerID": 18742492,
"nonReimbursableTotal": 0,
"ownerAccountID": 18742492,
"parentReportActionID": "6328382617190002208",
"parentReportID": "5811615857794027",
"policyID": "003E939C143712F8",
"reportID": "2079267310902332",
"reportName": "Expense Report #2079267310902332",
"stateNum": 0,
"statusNum": 0,
"total": "-200",
"type": "expense",
"visibility": null
}
},
{
"key": "userMetadata",
"onyxMethod": "set",
"value": {
"accountID": 18742492,
"email": "[email protected]",
"freeTrial": false,
"planType": "corporate",
"role": "admin",
"tryNewDotDismissed": true
}
}
],
"lastUpdateID": "3327030705",
"previousUpdateID": "3326978644",
"jsonCode": 200,
"requestID": "8ef9fe705f68f967-SJC"
}
Hi, @muttmuure , can we assign a backend engineer? It would be better to check in the backend, for the SubmitReport API, why the previousUpdateID in the response doesn't match the clientUpdateID in the request, there shouldn't be any other requests interfering, and SubmitReport response already includes all the latest Onyx data returned by the subsequent GetMissingOnyxMessages. 🤔
yep @ntdiary you are right. Unfortunately they have applied a FE workaround here to fix it which I don't feel it is correct but you might not be able to reproduce it anymore.
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
@ntdiary @muttmuure this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!
yep @ntdiary you are right. Unfortunately they have applied a FE workaround here to fix it which I don't feel it is correct but you might not be able to reproduce it anymore.
Interesting. Maybe @rafecolton has already checked the backend logic, and think adding SUBMIT_REPORT to requestsToIgnoreLastUpdateID is sufficient. :)
@ntdiary, @muttmuure Whoops! This issue is 2 days overdue. Let's get this updated quick!
Maybe @rafecolton has already checked the backend logic, and think adding SUBMIT_REPORT to requestsToIgnoreLastUpdateID is sufficient. :)
I did not check this
What needs to happen here? Does the FE PR need to be reverted? Do we need to recruit somebody to investigate a BE change the FE change masked?
Does the FE PR need to be reverted? Do we need to recruit somebody to investigate a BE change the FE change masked?
It sounds like the latter. Nothing has been merged yet
I've added the Internal label and added to Hot Picks
Thanks Matt!
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
Issue not reproducible during KI retests. (First week)
@ntdiary, @muttmuure Eep! 4 days overdue now. Issues have feelings too...
Issue not reproducible during KI retests. (First week)
This issue has been fixed by another PR (a FE workaround), but it still requires an internal engineer to check the backend logic. I have provided clues in the previous comment
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
@ntdiary @muttmuure this issue is now 4 weeks old, please consider:
- Finding a contributor to fix the bug
- Closing the issue if BZ has been unable to add the issue to a VIP or Wave project
- If you have any questions, don't hesitate to start a discussion in #expensify-open-source
Thanks!