-
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-03-13] [$1000] Android - Personal Details - User can open both Address and Date of birth when quick tap on them #32753
Comments
Triggered auto assignment to @adelekennedy ( |
Job added to Upwork: https://www.upwork.com/jobs/~01cc50fcdb96ee2879 |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @c3024 ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.User can open both Address and Date of birth when quick tap on them What is the root cause of that problem?We do not restrict a single action at a time. That's why even while an action is executing, another action can push to the queue. What changes do you think we should make in order to solve the problem?We can apply the For example: onPress={() => singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.SETTINGS_PERSONAL_DETAILS_LEGAL_NAME)))} What alternative solutions did you explore? (Optional)Check for other places using |
ProposalPlease re-state the problem that we are trying to solve in this issue.User can open both Address and Date of birth when quick tap on them What is the root cause of that problem?Logic to prevent quick tap in this Menu Item is missing on the What changes do you think we should make in order to solve the problem?We will use the const {singleExecution, isExecuting} = useSingleExecution(); This will be coupled with const waitForNavigate = useWaitForNavigation(); Then replace:
|
ProposalPlease re-state the problem that we are trying to solve in this issue.User navigates to Address screen and than land on Date of birth screen What is the root cause of that problem?This is happening with almost all the MenuItem navigates to another page. This is because the user clicks on the second menu item before the first menu item finishes navigating. What changes do you think we should make in order to solve the problem?We used to fix this in another place using a combination of But this is happening with all MenuItem so I think we should come up with a global fix to avoid this occurring again. Here's my suggestions:
What alternative solutions did you explore? (Optional)In step 3, if we don't want to add Instead of using a Context, we can iterate the children and add |
Do we have any examples of Context used like this? I see we have a MenuItemList component with iterative approach for MenuItems. I think we like to selectively use the singleExecution for certain MenuItems and MenuItemsWithTopDescription only so I don't think we want to keep the Context at a top level so that deeply nested components get the value. If we use singleExecution for certain items only then we want to wrap only those items with provider. While Context can be beneficial in some cases where we can wrap many items, I don't see how it is beneficial than moving the logic to MenuItem and using a prop flag. |
@c3024 we are frequently using Context when we need to pass a function/ref down to nested components, for example the ActionListContext
The key to using
The Context can be used along side the prop flag if we want to selectively use it. So we should understand the context approach as the same as what we're already doing in
Context is not required for this to work, but I think it's the cleanest approach and it abstracts the complexity away from the components that are using MenuItems |
Thanks for the explanation. Is there any case where we have two different components (with MenuItems or MenuItemWithTopDescriptions) rendered at the same time on screen? |
@c3024 There're a lot of. You can checkout the I think for these simple issues we should avoid over-engineering if there're simpler ways to do it. We already have so many hooks and contexts now. |
@c3024 There's this one and this one and a few others.
Yeah this is exactly why using a |
Would you mind sharing a test branch with changes you would do for any simple sample component in the repo? |
not overdue - testing proposals |
Working on it. Posting code change today. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@adelekennedy, @c3024 Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@c3024 Here's the test branch. |
@adelekennedy, @c3024 Whoops! This issue is 2 days overdue. Let's get this updated quick! |
not overdue - test branch above |
Extended PR is ready for review #37164. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.47-10 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-13. 🎊 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:
|
Payment SummaryBugZero Checklist (@adelekennedy )
|
This job closed so I re-used the posting - @c3024 & @tienifr will you apply here: https://www.upwork.com/jobs/~01d9acddb96214da33 |
@adelekennedy I applied, thanks! |
@c3024 have you applied as well? |
Yes @adelekennedy Applied. Thanks. |
hmm I hired you both on Monday but it didn't seem to go through - I've just done it again in Upwork 🤞 |
@adelekennedy I’ve accepted the offer, thanks! |
I've accepted too @adelekennedy |
Done! Thank you both for bearing with me |
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.10-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:
Action Performed:
Expected Result:
User should navigate to Address screen when tap on Address field
Actual Result:
User navigates to Address screen and than land on Date of birth screen
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6306297_1702069686347.az_recorder_20231208_182128.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: