-
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
[HOLD for payment 2023-06-29] [$1000] Console error when selecting a user to assign a task to #19772
Comments
Triggered auto assignment to @bfitzexpensify ( |
Bug0 Triage Checklist (Main S/O)
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Console error shows after selecting assignee on task assignee selector page What is the root cause of that problem?This came from lack knowledge of lifecycle in functional component. App/src/pages/tasks/TaskAssigneeSelectorModal.js Lines 110 to 114 in d70b746
So finally these are call orders in Timing.js:
What changes do you think we should make in order to solve the problem?As this measurement is unintentionally (confirmed here) added in this page, we can safely remove this effect and onLayout callback. Also remove same in What alternative solutions did you explore? (Optional) |
Reproduced |
Job added to Upwork: https://www.upwork.com/jobs/~01ca7b76593b61b50d |
Current assignee @bfitzexpensify is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak ( |
Triggered auto assignment to @arosiclair ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Console error when we select an assignee. What is the root cause of that problem?The error comes from App/src/libs/actions/Timing.js Lines 31 to 36 in 3ce8e82
Notice that we already have a guard to check if We have multiple calls of Timing because we call it inside the Notice the dependency array is What changes do you think we should make in order to solve the problem?As the timing measure is to measure how long the search options to render, I don't think it makes sense to call Timing.end in a
The above changes are enough to solve this issue, but I see another thing that we can improve, read more below: read moreAfter applying my changes above, you will notice that we call `updateOptions` in `useEffect` and `onChangeText`. This means, we are calling `updateOptions` twice every time we type something. Also, calling `updateOptions` in `onChangeText` is wrong because we need to wait for the state changes before calling `updateOptions` (like a `setState` callback). What we need to do instead is replace `updateOptions` to a plain `useEffect` that will run every time the props.reports, personalDetails, betas, or searchValue are changed.This will improve the code and prevent unnecessary search logic on every props changes. Let me know if we agree to do this. As TaskAssigneeSelectorModal and TaskShareDestinationSelectorModal has a same Timing (and search) logic, we can apply the suggestion on both pages. |
Since this already is External and has proposals, I put the below on hold pending this issue since it appears to be a dupe |
@eVoloshchak couple of proposals ready for your review. |
Triggered auto assignment to @greg-schroeder ( |
Hey @greg-schroeder - I'm ooo this week so assigning a BZ buddy. Current status: we have a couple of proposals for @eVoloshchak to review. Don't expect you'll need to do much here before I get back next week but appreciate you keeping an eye on it. |
@arosiclair @eVoloshchak I suggest to hold this issue a bit as we cannot test assign task flow without fixing #20807. So I cannot add screenshots. |
Thanks. That PR is merged but now not able to login (https://expensify.slack.com/archives/C01GTK53T8Q/p1686889937230319) so it's another blocker for testing. |
@eVoloshchak PR is ready |
@eVoloshchak kindly bump for review |
Based on my calculations, the pull request did not get merged within 3 working days of assignment. Please, check out my computations here:
On to the next one 🚀 |
Just noting here that I'm going to consider this eligible for the 3-day merging bonus, since it missed by just a few hours and was a little hamstrung with testing because of the log-in issues. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.30-5 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 2023-06-29. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
As a reminder, here are the bonuses/penalties that should be applied for any External issue:
|
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:
|
Offers sent out @ayazhussain79 @situchan @eVoloshchak |
|
@bfitzexpensify, could you hold my payment till tomorrow, please? |
Sure! |
@arosiclair, @eVoloshchak, @bfitzexpensify, @situchan Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Not overdue, waiting for the first payment via NewDot to clear, after that will request a payment for this |
This has been paid out🎉 |
Awesome! Let's close this out. |
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:
Expected Result:
A console error should not appear
Actual Result:
Console error when selecting a user to assign a task to
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.19-2
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
2023-05-25.00-49-45.mp4
Expensify/Expensify Issue URL:
Issue reported by: @ayazhussain79
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684958586982989
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: