-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
[HOLD for payment 2024-03-11] [HOLD for payment 2024-03-07] IOU details page appears after delay and it is empty when request is created offline #37466
Comments
Triggered auto assignment to @sakluger ( |
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
|
Triggered auto assignment to @techievivek ( |
@techievivek FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors. |
Seems like a regression from some recent change and indeed a bad one. |
@youssef-lr Great catch, any idea why I am unable to find this PR changes in the diff between staging and production production...staging ? |
I'm not sure, what I did was go through the PRs from the checklist. I tried to guess which PR could have caused this from the titles, but at the end gave up and started reverting PRs one by one lol. |
ProposalPlease re-state the problem that we are trying to solve in this issue.The detail view appears with a delay while online, but not shown at all while offline. What is the root cause of that problem?This happens after this PR that replaces App/src/pages/home/ReportScreen.js Lines 648 to 658 in 48b24ec
When we open the transaction thread for the first time, the onyx selector props is always undefined (onyx bug, known issue, explained at the bottom of root cause), so If the parent action data is empty, App/src/pages/home/report/ReportActionsListItemRenderer.js Lines 58 to 59 in 5cfcf69
The
Lines 4991 to 4995 in 5cfcf69
Notice that we take the While online, it's most likely other props is triggering the re-render Onyx issueBoth
Second, the However, the What changes do you think we should make in order to solve the problem?For the re-render issue, we should include
For the onyx issue, first, we should get the current state of the onyx data.
Then, extend both
Just like we did in here |
Ok, that is a nice way to figure things out as well. :hattip: production...staging#diff-dd4bfa50713397aca8cb40145317936ab0affe19abc2a9c24d6c8849ed75dc9bR564 |
Woww 😄 🙇 |
@bernhardoj Your RCA looks good to me, but I will wait for @tgolen to have a look since he authored the original PR. |
Wow, great RCA @bernhardoj. I confirmed that updating the memoization fixes the problem. I missed that in the original PR. I should be able to create a PR for that in a few minutes. For the Onyx issues, it would be great to open a new GH for that and finally get it fixed. I think the explanation is great and that could be a big source of the problems with using selectors. |
PR is created here: #37504 |
Reviewing the PR. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.45-6 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-03-07. 🎊 |
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.46-2 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-03-11. 🎊 |
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Adding this here for tracking Affected Primary Email Address Concierge Chat |
I think this should be fixed now. |
Just FYI, the appearance delay is still happening because of the Onyx issue. |
@bernhardoj may be you can propose this on Slack with previous details and suggest a solution as well. |
I'm kinda confused what's going on here. I think this PR was intended to fix the issue, but according to @bernhardoj, there is still a delay. @techievivek @youssef-lr do either of you know what's going on? |
That PR was really intended to fix the page not loading at all when offline (the worst part). I couldn't see any noticeable delay when loading, but I also don't think it's really that related to any of the recent changes. It's more just that it takes a little time to read the data from Onyx, and that's OK. We could maybe think about implementing a loading state for this, but I don't know if it's really worth it. If you think it's a problem, I think we should open a new GH issue and get proposals for solving the delay. |
Thanks for explaining @tgolen. I agree that we've solved the main issue and we can close this out. Is @parasharrajat due payment for the PR review, or no because it's a regression? |
@parasharrajat Still needs paid for a C+ review. The regression was caused by my PR so it's only a mark against me :D |
Thanks @tgolen for clarifying. 🙇 Summarizing payment on this issue: Contributor+: @parasharrajat $500, please request on Newdot |
Payment requested as per #37466 (comment) |
$500 approved for @parasharrajat |
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results. If a regression has occurred and you are the assigned CM follow the instructions here. If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future. |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 1.4.45-0
Reproducible in staging?: y
Reproducible in production?: no
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:
In Step 5, the IOU details page will appear without delay (production behavior).
In Step 9, the IOU details will show even when the request is created offline (production behavior).
Actual Result:
In Step 5, the IOU details page appears after some delay.
In Step 9, the IOU details page is blank when the request is created offline.
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6396511_1709174884370.20240229_104158.mp4
View all open jobs on GitHub
The text was updated successfully, but these errors were encountered: