-
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 2024-01-26] [$500] Settings - Red dot remains after error is cleared #33021
Comments
Triggered auto assignment to @michaelhaxhiu ( |
Job added to Upwork: https://www.upwork.com/jobs/~012ec660a67cb6d223 |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ntdiary ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.All - Settings - Red dot remains after error is cleared What is the root cause of that problem?In When we delete a contact method, we expect a green dot to show up while the deletion is being processed, this is added intentionally by using Lines 186 to 200 in fe2d0d1
What changes do you think we should make in order to solve the problem?We should clear that errorField on contact method deletion so the red dot doesn't show up during the deletion process function deleteContactMethod(contactMethod, loginList) {
....
value: {
[contactMethod]: {
....
errorFields: {
deletedLogin: null,
addedLogin: null,
}, ResultScreen.Recording.2023-12-14.at.2.31.09.AM.mov |
ProposalPlease re-state the problem that we are trying to solve in this issue.Red dot remains after error is cleared when network connection is simulating slow network requests What is the root cause of that problem?The root cause of the problem is that in Contact Page there is an additional check which hides new contact requests with pendingAction "delete". const hideChildren = shouldHideOnDelete && !isOffline && pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE && !hasErrors; However, this check is missing from userUtils "hasLoginListError" function. function hasLoginListError(loginList: Record<string, Login>): boolean {
return Object.values(loginList).some((loginData) => Object.values(loginData.errorFields ?? {}).some((field) => Object.keys(field ?? {}).length > 0));
} What changes do you think we should make in order to solve the problem?Logic on both ends should be kept consistent so I would suggest we implement the same checks in userUtils and call it. This will maintain the DRY principle as well as is easier to maintain. What alternative solutions did you explore? (Optional)N/A |
📣 @sfurqan2! 📣
|
Contributor details |
✅ Contributor details stored successfully. Thank you for contributing to Expensify! |
ProposalPlease re-state the problem that we are trying to solve in this issue.The red dot remains on user avatar on the home screen and in settings What is the root cause of that problem?When adding login and have failure, the What changes do you think we should make in order to solve the problem?As we can see, we're making a redundant and unnecessary API call here, since the contact method fails to be added, there's no point in calling This also leads to the login data still being available while the API call is being made, causing this issue. We should treat this as any other case where we clear the error, we should clear the Onyx data only because the action fails and there's nothing to so in back-end side. In here, when removing contact method that failed to be added, clearing in Onyx is enough.
What alternative solutions did you explore? (Optional)We can clear the In here
In here
Or we can remove and restore only the |
Immediately clear the onyx when add fails is intentionally removed here |
@bernhardoj thanks for the link! But I think it was removed because we assumed that it won't cause any issue, but it clearly does cause issue here and it wouldn't hurt us if reintroducing it. |
@ntdiary, @michaelhaxhiu Huh... This is 4 days overdue. Who can take care of this? |
under review. |
Based on the goal of this PR, I don't think we should revert the local condition. test.mp4Because our app defaults to retrying requests 10 times, we can see from the video that it takes a long time for the results of |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@ntdiary Any feedback on my proposal? |
I think we need to clarify the expected result in the OP first. |
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. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.27-1 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-01-26. 🎊 For reference, here are some details about the assignees on this 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:
|
@danieldoglas. Has provide an explanation in Issue #34758 (comment). :) |
Hi! I just wanted to call it out here - I'm closing out #34758 as not a bug, but I'm pretty sure it means that QA was never able to successfully QA this issue. It would be great if y'all could make sure this works as expected on this issue! |
@ntdiary let's do the bugzero checklist here |
Next step is with @ntdiary to do the regression steps |
I think this is a small edge case we overlooked during the development of the contact details page, so it's okay to just leave a comment in the original PR, no regression test is needed. :) |
Triggered auto assignment to @miljakljajic ( |
cc @miljakljajic can you please proceed with the payment on this issue? Thanks! |
Paid and paid! |
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.12-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:
Issue found when executing PR #31713
Action Performed:
Pre-requisite: user must be logged in
Expected Result:
The red dot should disappear after the error is cleared
Actual Result:
The red dot remains on user avatar on the home screen and in settings
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6312254_1702503451411.bandicam_2023-12-13_15-07-14-733.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: