-
Notifications
You must be signed in to change notification settings - Fork 3k
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] IOU - IOU preview loading skeleton displays in room chat when user requested money and relogin #33766
Comments
Job added to Upwork: https://www.upwork.com/jobs/~019428618ac31844be |
Triggered auto assignment to @sonialiap ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @allroundexperts ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.The report preview is not properly loaded after relogin. What is the root cause of that problem?It's a result of the memory load-reducing changes that were introduced recently: we don't load the IOU report data from the BE when opening a chat report: #32658 (comment) Therefore, the transaction data is not present in Onyx until we open the IOU report itself. What changes do you think we should make in order to solve the problem?According to #32658 (comment), we should use the data stored in a report action itself to display the IOU report preview. Therefore, we should use the data from {
amount: lodashGet(props.action, 'originalMessage.amount', 0),
currency: lodashGet(props.action, 'originalMessage.currency', ''),
comment: lodashGet(props.action, 'originalMessage.comment', ''),
merchant: lodashGet(props.action, 'originalMessage.merchant', ''),
} This will make sure we show most of the data while the transaction is not loaded explicitly: We might also want to coordinate with BE to add extra details to the What alternative solutions did you explore? (Optional) |
@sonialiap, @allroundexperts Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
ProposalPlease re-state the problem that we are trying to solve in this issue.IOU preview loading skeleton displays in room chat when user requested money and relogin What is the root cause of that problem?After logout and login again, the App/src/components/ReportActionItem/MoneyRequestPreview.js Lines 273 to 278 in 2fe1174
What changes do you think we should make in order to solve the problem?App/src/components/ReportActionItem/MoneyRequestPreview.js Lines 273 to 278 in 2fe1174
I suggest we should remove this logic And then in here
we should update logic to use information from action when transaction is empty like this
We also can create a utils function to return transaction details from What alternative solutions did you explore? (Optional)NA |
@allroundexperts what do you think of the above proposals? |
@sonialiap, @allroundexperts Huh... This is 4 days overdue. Who can take care of this? |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@paultsimura's proposal looks good enough to me. It's simple and handles the problem correctly. I think we might need to store merchant in the original message as well but that can be done independently on the backend. 🎀 👀 🎀 C+ reviewed |
Triggered auto assignment to @Gonals, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
📣 @paultsimura 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
We decided to fix this one in the backend, it was by design in the past, but we can now remove a check that was preventing split transactions from being returned in chat rooms. |
@youssef-lr, @paultsimura, @sonialiap, @Gonals, @allroundexperts Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Still in the works, I've switched focus to https://github.com/Expensify/Expensify/issues/339870 which is a high priority issue, getting back to this next week. |
@youssef-lr, @paultsimura, @sonialiap, @Gonals, @allroundexperts Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Still on my radar this week. |
Working on finalizing the PR now. |
@youssef-lr, @paultsimura, @sonialiap, @Gonals, @allroundexperts Whoops! This issue is 2 days overdue. Let's get this updated quick! |
I pushed some new changes as I discovered a bug in the process, but I still have a failing test that I need to work on. I'm resuming work on it tomorrow. |
No update yet, but I'm sure I'll be able to fix the test by Monday. I wasn't able to fully focus on this Pr as I'm working on higher priority stuff. |
@youssef-lr, @paultsimura, @sonialiap, @Gonals, @allroundexperts Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@youssef-lr any updates on the testing? |
@sonialiap I'm still planning to finish the PR today. |
I could not get to finishing this, I switched focus to a high priority issue, I'm done with it today and can resume this one. |
Test is fixed and I've just made the PR ready for review. |
We have a test failing in every Auth PR, we're looking to get it fixed here. |
We're good to go here. |
@sonialiap @youssef-lr according to our guidelines, since I was hired for this task and even made a PR, shouldn't I and @allroundexperts be paid for this task even if it was eventually moved to internal? Similar case: #23826 (comment) |
In my opinion, I don't think your proposal should have been selected by @allroundexperts , it doesn't support displaying some fields that are not present in the report action, nor does it support displaying changes made to a transaction. I think even if we had moved forward with your PR, we would have most likely ended up reverting it down the line and implemented the backend fix instead. |
@youssef-lr Here's what I think:
It's clearly mentioned in the proposal that we'll need backend support in order to implement the missing fields.
That was not the intention of this bug as far as I've understood. The proposal clearly stated to just use the action as a fallback in case when the transaction was not available. This is clearly stated in the selected proposal:
|
This means also running a query to support old actions in the database that don't have those fields..so a bit more work. We actually used to display all fields from the report actions and then we moved to displaying them from the transaction, so the proposal is suggesting we take a step backwards.
@allroundexperts I get you, but I disagree that this is a valid solution, the transaction should always be present, if it isn't, then there's something wrong and we can't apply a bandaid instead of fixing it from the root. |
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: 1.4.19.0
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
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Expected Result:
IOU preview should be displayed with amount
Actual Result:
IOU preview loading skeleton displays in room chat when user requested money and relogin
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6328556_1703870235441.Rpreplay_Final1703869667.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: