-
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
[Needs regression test steps][$1000] Restricted access - The crash when navigate to the link https://staging.new.expensify.com/r/6821704960193694/details #13509
Comments
Triggered auto assignment to @CortneyOfstad ( |
ProposalThis is a regression from #13398 Line 476 in 10dd188
Solution: function getIcons(report, personalDetails, policies, defaultIcon = null) {
- if (!report) {
+ if (_.isEmpty(report)) {
return [defaultIcon || getDefaultAvatar()];
} |
Was able to recreate on my side 👍 |
Current assignee @CortneyOfstad is eligible for the External assigner, not assigning anyone new. |
Job added to Upwork: https://www.upwork.com/jobs/~01342b9d79a0c15641 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak ( |
Triggered auto assignment to @MonilBhavsar ( |
Removing external and help wanted labels. Normally for deploy blockers issues we try to handle them internally for speediness. If we use your solution @situchan we will compensate you. |
Thanks @situchan !, I'm wondering why there is a report |
App/src/pages/ReportDetailsPage.js Line 123 in 1c60740
The crash happens on this line when user navigates to report detail page directly that they don't have access. So ReportDetailsPage is rendered first before loading report data and quickly redirects to main page.This is not avoidable case (anyone can visit any link on any browser). Another solution is to render null before loading report data on |
I'm not sure this is true, the crash seems to happen inside |
I think this HOC is passing the Maybe |
Still it may be worth to change the |
I think I partially agree with @situchan on the cause. The root cause is correct but I don't think the proposed solution works. I feel like if empty report json is passed, we should just return early instead of rendering the component. |
Sorry @eVoloshchak , I think I saw your name in the upper right of the PR but didn't look for the ✔️ showing that you had reviewed the PR. @situchan , Aldo is out this week, I pinged our engineers who aren't out to see if anyone can give me a 👍 to pay. Hopefully it won't be long |
@mallenexpensify I can confirm we used @situchan solution in the PR. |
Thanks @youssef-lr ! I hired you for $1000 @situchan , can you please accept the job and reply here once you have? |
@mallenexpensify accepted. Thank you |
Paid @situchan , thanks! Leaving issue open and weekly for regression test steps, cc @CortneyOfstad and @eVoloshchak (I think you should be the one doing the engineering parts Eugene). I'll try to help later this week @CortneyOfstad |
@mallenexpensify, not sure I understand correctly how this works for internal issues, I should be here in case some regressions arise, correct? |
@eVoloshchak , I'm unsure too, thanks for commenting. I hadn't taken into consideration |
@eVoloshchak @MonilBhavsar @aldo-expensify This one slipped through the cracks cuz the I'll get to the fourth, hopefully, today. |
Completed the first two, I'm not sure how to go about 3. About the tests update, I'm missing if this was happened with any report / details, or if it happened only when accessing the specific report details: https://staging.new.expensify.com/r/6821704960193694/details (going to test this) Update: from the steps in the PR #13531 it seems that we need to use a URL of a report that doesn't exists. Considering this, we need a test that opens a URL to the report's details of such report. |
@mvtglobally 👋 do you know if we have a test that opens the url of a report's details, but of a report that doesn't exists? It should be as simple as:
If we don't we can add it as a test 🤷 , what do you think @mallenexpensify ? |
@aldo-expensify is it "report that doesn't exist", one a user user doesn't have access to or both? |
I honestly don't know at the moment, but I think I can test and see if it matters. |
I founds this TestRail that likely covers it if it's an access issue. Under the top link I could add https://staging.new.expensify.com/r/6666666666666/details if we know it's a non-existent report vs one a user doesn't have access to .
|
I tested this a bit, an a report where the user doesn't have access and a report that doesn't exists leads to the same The described tests should cover it. If the bug was there, it would crash when you try to check https://staging.new.expensify.com/r/6821704960193694/details |
Thanks @aldo-expensify , after reviewing again, I'm unsure if we need/want to update any of the steps. Checking in #qa |
I think the test without changes is fine to cover the case. |
Agreed, I'm going to close. |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
You're redirected to the concierge conversation
Actual Result:
System is crashed
Workaround:
Unknown
Platform:
Where is this issue occurring?
Version Number: 1.2.38.0
Reproducible in staging?: Yes
Reproducible in production?: No
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Bug5858104_Recording__3246.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: