Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[$500] Workspace - In #announceroom, split bill reports display as loading for workspace members. #27154

Closed
1 of 6 tasks
izarutskaya opened this issue Sep 11, 2023 · 40 comments
Closed
1 of 6 tasks
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering Internal Requires API changes or must be handled by Expensify staff

Comments

@izarutskaya
Copy link

izarutskaya commented Sep 11, 2023

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Action Performed:

  1. Login with user A's account.
  2. Open workspace
  3. Invite user B to the workspace.
  4. Open the #announceroom chat.
  5. Spilt bill with workspace members
  6. Login with user B's account.
  7. Open the #announceroom chat in B's workspace.
  8. Notice that the split bill reports are stuck on the loading screen for workspace members.

Expected Result:

after splitting bills, the split bill report should not be displayed as loading for workspace members.

Actual Result:

after splitting the bill, the split bill report is displayed as loading for workspace members.

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: v1.3.67-1

Reproducible in staging?: Y

Reproducible in production?: Y

If this was caught during regression testing, add the test name, ID and link from TestRail:

Email or phone of affected tester (no customers):

Logs: https://stackoverflow.com/c/expensify/questions/4856

Notes/Photos/Videos: Any additional supporting documentation

chrome_7d5DGMIT5i.mp4
Recording.1494.mp4

Expensify/Expensify Issue URL:

Issue reported by: @Ad-eeb

Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693924728887059

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01100fea2e9b78b3b8
  • Upwork Job ID: 1701244048739500032
  • Last Price Increase: 2023-09-25
  • Automatic offers:
    • situchan | Contributor | 26874200
    • Ad-eeb | Reporter | 26874202
@izarutskaya izarutskaya added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Sep 11, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 11, 2023

Triggered auto assignment to @adelekennedy (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@melvin-bot
Copy link

melvin-bot bot commented Sep 11, 2023

Bug0 Triage Checklist (Main S/O)

  • This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
  • This bug is not a duplicate report (check E/App issues and #expensify-bugs)
    • If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead
  • This bug is reproducible using the reproduction steps in the OP. S/O
    • If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
    • If the reproduction steps aren't clear and you determine the correct steps, please update the OP.
  • This issue is filled out as thoroughly and clearly as possible
    • Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.
  • I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@izarutskaya izarutskaya added the External Added to denote the issue can be worked on by a contributor label Sep 11, 2023
@melvin-bot melvin-bot bot changed the title Workspace - In #announceroom, split bill reports display as loading for workspace members. [$500] Workspace - In #announceroom, split bill reports display as loading for workspace members. Sep 11, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 11, 2023

Job added to Upwork: https://www.upwork.com/jobs/~01100fea2e9b78b3b8

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 11, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 11, 2023

Current assignee @adelekennedy is eligible for the External assigner, not assigning anyone new.

@melvin-bot
Copy link

melvin-bot bot commented Sep 11, 2023

Triggered auto assignment to Contributor-plus team member for initial proposal review - @abdulrahuman5196 (External)

@alitoshmatov
Copy link
Contributor

Backend is not sending transaction data.

Here inside originalMessage there is a IOUTransactionID but this data is not sent from pusher.
Screenshot 2023-09-11 at 20 47 08

@melvin-bot melvin-bot bot added the Overdue label Sep 13, 2023
@adelekennedy
Copy link

@abdulrahuman5196 should this be internal?

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Sep 14, 2023
@adelekennedy
Copy link

@abdulrahuman5196 bump on the above

@melvin-bot melvin-bot bot removed the Overdue label Sep 18, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 18, 2023

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@melvin-bot melvin-bot bot added the Overdue label Sep 20, 2023
@salonikumawat28
Copy link
Contributor

salonikumawat28 commented Sep 20, 2023

I looked into this issue and it seems like there needs to be changes in Backend.
Here is an explanation:
When Person1 split bill for 2 persons(Person1 and Person2), we create 2 transaction ids in client side:

  1. Split transaction id representing the split

    App/src/libs/actions/IOU.js

    Lines 1013 to 1018 in 5ec6105

    const splitData = {
    chatReportID: splitChatReport.reportID,
    transactionID: splitTransaction.transactionID,
    reportActionID: splitIOUReportAction.reportActionID,
    policyID: splitChatReport.policyID,
    };
  2. Transaction id for person2 - For all persons involved in split except current person, we create the split with all the data including transaction id:

    App/src/libs/actions/IOU.js

    Lines 994 to 1007 in 5ec6105

    const individualSplit = {
    email,
    accountID,
    amount: splitAmount,
    iouReportID: oneOnOneIOUReport.reportID,
    chatReportID: oneOnOneChatReport.reportID,
    transactionID: oneOnOneTransaction.transactionID,
    reportActionID: oneOnOneIOUAction.reportActionID,
    createdChatReportActionID: oneOnOneCreatedActionForChat.reportActionID,
    createdIOUReportActionID: oneOnOneCreatedActionForIOU.reportActionID,
    reportPreviewReportActionID: oneOnOneReportPreviewAction.reportActionID,
    };
    splits.push(individualSplit);

We create onyx optimistic data for both these transactions. But as response of API.write request, we get the transaction of Person2 only in return, we don't get the transaction as mentioned in Point 1 above.

As we don't get the transaction mentioned in Point 1 from backend, we see the issues. Here is snippet of example request payload and response which shows this problem:

REQUEST:

reportID: 2675033063704124
amount: 130000
splits: [{"email":"[email protected]","accountID":15694778,"amount":65000},{"email":"[email protected]","accountID":15705003,"amount":65000,"iouReportID":"6189850050239895","chatReportID":"7536945066043077","transactionID":"1898044165078485633","reportActionID":"4880171455368989281","createdChatReportActionID":"7280778505637454476","createdIOUReportActionID":"3788054532130349476","reportPreviewReportActionID":"6883759768728262211"}]
currency: GBP
transactionID: 2381798152516133750
reportActionID: 3602112367821823958
policyID: 57A98B2EBCCAEEAD
apiRequestType: write
email: [email protected]

and:

RESPONSE:

{
    "jsonCode": 200,
    "requestID": "809bd0a7fc3e886e-LHR",
    "onyxData": [
        {
            "onyxMethod": "merge",
            "key": "transactions_1898044165078485633",
            "value": {
                "amount": 65000,
                "category": "",
                "comment": {
                    "comment": "",
                    "originalTransactionID": "2381798152516133750",
                    "source": "split"
                },
                "created": "2023-09-20 17:33:43",
                "currency": "GBP",
                "filename": "",
                "merchant": "Request",
                "modifiedAmount": 0,
                "modifiedCreated": "",
                "modifiedCurrency": "",
                "modifiedMerchant": "",
                "receipt": [],
                "reportID": "6189850050239895",
                "tag": "",
                "transactionID": "1898044165078485633"
            }
        }
    ]
}

Because of this issue, other clients never gets the split transaction of Point 1. Even the same person1 when logs out and logs in, they will no longer see split transaction. As announce rooms shows the overall split transaction i.e. transaction of Point 1, we see issue in announce room but we will see this issue everywhere we use this split transaction.

@melvin-bot
Copy link

melvin-bot bot commented Sep 21, 2023

@abdulrahuman5196, @adelekennedy Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@melvin-bot
Copy link

melvin-bot bot commented Sep 21, 2023

Triggered auto assignment to @dangrous (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@adelekennedy
Copy link

added the engineering label by mistake - at ease @dangrous

@adelekennedy
Copy link

update above

@melvin-bot melvin-bot bot removed the Overdue label Oct 2, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 2, 2023

@adelekennedy @situchan this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

@melvin-bot
Copy link

melvin-bot bot commented Oct 5, 2023

@adelekennedy, @situchan Whoops! This issue is 2 days overdue. Let's get this updated quick!

@melvin-bot
Copy link

melvin-bot bot commented Oct 9, 2023

@adelekennedy @situchan this issue is now 4 weeks old and preventing us from maintaining WAQ, can you:

  • Decide whether any proposals currently meet our guidelines and can be approved as-is today
  • If no proposals meet that standard, please take this issue internal and treat it as one of your highest priorities
  • If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

@melvin-bot melvin-bot bot added Internal Requires API changes or must be handled by Expensify staff and removed External Added to denote the issue can be worked on by a contributor labels Oct 9, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 9, 2023

Current assignee @situchan is eligible for the Internal assigner, not assigning anyone new.

@melvin-bot
Copy link

melvin-bot bot commented Oct 9, 2023

@adelekennedy, @situchan 6 days overdue. This is scarier than being forced to listen to Vogon poetry!

@situchan
Copy link
Contributor

situchan commented Oct 9, 2023

@salonikumawat28 are you still able to reproduce this?

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Oct 9, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 12, 2023

@adelekennedy, @situchan Whoops! This issue is 2 days overdue. Let's get this updated quick!

@situchan
Copy link
Contributor

@salonikumawat28 are you still able to reproduce this?

bump ^

@melvin-bot melvin-bot bot removed the Overdue label Oct 12, 2023
@salonikumawat28
Copy link
Contributor

@situchan Sorry for late response. I can still reproduce this. I tried it on staging.new.expensify.com

@melvin-bot melvin-bot bot added the Overdue label Oct 16, 2023
@adelekennedy
Copy link

Still is reproducible, but @situchan re-reading this how big of a problem is this? There's been so little movement here I think we should close and pay out some percentage for reviewing proposals

@melvin-bot melvin-bot bot removed the Overdue label Oct 16, 2023
@situchan
Copy link
Contributor

I think this bug cannot be be simply ignored.
@youssef-lr should backend send transaction data in pusher?

@melvin-bot melvin-bot bot added the Overdue label Oct 19, 2023
@adelekennedy
Copy link

@youssef-lr bump on the above!

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Oct 19, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 23, 2023

@adelekennedy, @situchan Whoops! This issue is 2 days overdue. Let's get this updated quick!

@youssef-lr
Copy link
Contributor

@adelekennedy sorry I missed your ping.

I think this bug cannot be be simply ignored.
@youssef-lr should backend send transaction data in pusher?

Correct @situchan, this is a duplicate of #27200 which I have created a backend PR for. So I'll be closing this one.

@melvin-bot melvin-bot bot removed the Overdue label Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering Internal Requires API changes or must be handled by Expensify staff
Projects
None yet
Development

No branches or pull requests

8 participants