-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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 - Request details page loads infinitely when request is created offline #37247
Comments
Job added to Upwork: https://www.upwork.com/jobs/~0106a1c5479d6e9daa |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ishpaul777 ( |
👋 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:
|
Auto-assign attempt failed, all eligible assignees are OOO. |
We think that this bug might be related to #vip-bills |
ProposalPlease re-state the problem that we are trying to solve in this issue.The request details page loads infinitely when the request is created offline (production behavior). What is the root cause of that problem?This is regression of this PR Expensify/react-native-onyx#470 since we always set And then we have App/src/pages/home/ReportScreen.js Line 617 in d2a9c6f
What changes do you think we should make in order to solve the problem?We should add the check What alternative solutions did you explore? (Optional)We can remove App/src/pages/home/ReportScreen.js Line 617 in d2a9c6f
|
This comment was marked as off-topic.
This comment was marked as off-topic.
cc @bernhardoj I think this is related to your PRs here & here |
Checking |
Okay, it's indeed reproducible after the Onyx version bump, but here is the real root cause. What the recent Onyx PR does is to immediately render the report screen by fixing some
Because the report screen is now immediately rendered, the new report Onyx data is not available yet, so the code below will call App/src/pages/home/ReportScreen.js Lines 355 to 362 in d2a9c6f
The optimistic report looks like this App/src/libs/actions/Report.ts Lines 552 to 556 in d2a9c6f
So, the optimistic transaction thread is overwritten with the report above that only contains How do we solve this?I would remove the logic to change the onyx method to SET (in point 2). It was added in this PR to solve #19364. The issue is that the not-found view is shown briefly (instead of skeleton loading) when opening a thread. If we read the root cause from the proposal, it's because when we don't have the report data yet, the default props of the report will have a value of App/src/pages/home/ReportScreen.js Lines 97 to 100 in 2157057
App/src/pages/home/ReportScreen.js Lines 266 to 267 in 2157057
App/src/libs/actions/Report.js Lines 334 to 339 in 2157057
Instead of using SET, we should just set the default value of App/src/pages/home/ReportScreen.js Lines 620 to 623 in d2a9c6f
App/src/pages/home/ReportScreen.js Lines 495 to 501 in d2a9c6f
@youssef-lr should the solution be reviewed first or should I just immediately create the follow-up PR to fix this? |
This comment was marked as off-topic.
This comment was marked as off-topic.
You can start on the PR, thanks! |
Hey, @bernhardoj just a note: a part of the root cause is that the money report actions have no |
@paultsimura thanks, yep I noticed about that too, but not really sure whether it's intentional or not. Here is the PR to fix this issue #37269 |
Looks like this revert fixed it. Closing, but feel free to reopen if I'm mistaken. |
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.44-0
Reproducible in staging?: Y
Reproducible in production?: N
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:
The request details page will load when the request is created offline (production behavior)
Actual Result:
The request details page loads infinitely when the request is created offline (production behavior).
This issue also occurs when:
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6393457_1708992632169.bandicam_2024-02-27_06-12-20-868.mp4
View all open jobs on GitHub
The text was updated successfully, but these errors were encountered: