-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[Due for payment 2025-02-19] [$250] Android - Expense - Tapping Create expense button, category and description field greyed out. #55728
Comments
Triggered auto assignment to @CortneyOfstad ( |
🚨 Edited by proposal-police: This proposal was edited at 2025-01-24 18:52:43 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Android - Expense - Tapping Create expense button, category and description field greyed out. What is the root cause of that problem?We set isConfirmed to true in createTransaction App/src/pages/iou/request/step/IOURequestStepConfirmation.tsx Lines 412 to 414 in fc199fa
and we disable the menu items when the user has confirmed on the transaction creation
this is to disallow the pressing of the menu items after the user has confirmed until the modal is dismissed but as shouldGreyOutWhenDisabled is true by default the menu will appear greyed out when the navigation is slow like in Android case.
What changes do you think we should make in order to solve the problem?To show loading on the confirm button once it is confirmed we should pass App/src/components/MoneyRequestConfirmationList.tsx Lines 942 to 971 in f60c647
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?N/A : UI bug What alternative solutions did you explore? (Optional) |
🚨 Edited by proposal-police: This proposal was edited at 2025-01-25 18:28:40 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Android - Expense - Tapping Create expense button, category and description field greyed out. What is the root cause of that problem?When we start creating the expense, we set isConfirmed to true in
Also, we apply disabled property on the menu items when the Example of disabled prop-
Effect usage- App/src/components/MoneyRequestConfirmationList.tsx Lines 477 to 479 in b59f23b
Now, Since we use the default properties related to disabled, when Note The disabled property was added to prevent navigation to edit properties after starting the flow of creating an expense. What changes do you think we should make in order to solve the problem?Instead of using disabled here, we can modify the interactive property of menu item as this will prevent us to use extra props to achieve the same behavior as non-interactive menu item, and it is more suitable to make the menu items non-interactive rather than disabled. Example of modified interactive prop - And we would remove disabled prop completely. What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?NA since this is an UI bug What alternative solutions did you explore? (Optional) |
@CortneyOfstad Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Job added to Upwork: https://www.upwork.com/jobs/~021884643951618066001 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @eh2077 ( |
Hey @eh2077! We have a few proposals above for review when you have a chance. Thank you! |
Thanks for your proposals! @shubham1206agra Though both properties, |
@eh2077 The problem with keeping See the difference in the video. Disabled - Screen.Recording.2025-01-30.at.9.20.20.PM.movNon-interactive - Screen.Recording.2025-01-30.at.9.20.41.PM.movSo, my recommendation is to use interactive prop rather than extra props to mimic the same behavior. |
I think the user would expect the menu to be disabled and the pointer showing that is correct, no need to avoid it with another prop. Non-interactive menu is not technically correct @eh2077 that's why they didn't use it for |
@FitseTLT You are wrong here: We just don't want to users to accidentally click on menu item after starting to create an expense to avoid weird navigation bugs. That's why we have this bug marked. If the original intention is to show disabled menu item, then this issue would not have raised in the first place. |
We implemented it to avoid accidental navigation on confirmation of the flow in the first place but we don't want that to affect the UI that is what we are dealing with in this issue. The prop App/src/components/MoneyRequestConfirmationListFooter.tsx Lines 617 to 618 in 6118a1f
App/src/components/MoneyRequestConfirmationListFooter.tsx Lines 629 to 630 in 6118a1f
to use the menu for display purpose and not clickable. But here it was interactive and after we confirm the end of the process we disable it that is the correct way in principle. |
Thank you for you comments! Yeah, I agree that both That said, I think we should go with @FitseTLT 's proposal. 🎀👀🎀 C+ reviewed |
Triggered auto assignment to @arosiclair, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
@eh2077 Which UI features will be broken here if we opt for different approach? |
@shubham1206agra For example, from your comment #55728 (comment), I think the first clip is expected
You can also look into https://github.com/Expensify/App/blob/main/src/components/MenuItem.tsx for nuanced differences between |
I am sorry. But I am lost here since if we are expected to have disabled menu, then why should we not grey out the fields. @Expensify/design Can you help us resolve this dispute since on one hand we are saying we should disable the field here (not make the field non-interactive), and on another hand we are saying we have a problem with grey out fields (which is a visual indicator of disabled fields)? |
Is this an Android-only bug or something? I can't repro on desktop/web. |
I don't see any conflict there. There are a lot of places in our code which we don't grey out disabled fields utilizing shouldGreyOutWhenDisabled prop which is there for this purpose like here App/src/components/ReportActionItem/TaskView.tsx Lines 139 to 141 in 4459f86
We don't need to grey out the menu here because we don't expect the user to intentionally press the menu because they have confirmed but if they unintentionally hover it will show a disabled pointer. |
Yep you can only reproduce it on slower platforms @trjExpensify |
📣 @FitseTLT 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
@FitseTLT Can you let us know when we can expect a PR for testing? Thanks! |
PR will be ready tomorrow |
@arosiclair @CortneyOfstad @FitseTLT @eh2077 this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks! |
We're waiting for the PR for testing. |
PR is close! Should be launched to staging soon! 🎉 |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.97-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 2025-02-19. 🎊 For reference, here are some details about the assignees on this issue:
|
@eh2077 @CortneyOfstad @eh2077 The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
@eh2077 — can you please complete the check list? Thanks! |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
|
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: V9.0.89-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Yes, reproducible on both
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): N/A
Issue reported by: Applause Internal Team
Device used: Redmi note 10s android 13
App Component: Money Requests
Action Performed:
Expected Result:
Tapping create expense button, category and description field must not be greyed out or both fields should be greyed out for split expense flow also.
Actual Result:
While creating split scan expense, tapping split expense doesn't greys out category and description field but for scan expense it is greyed out.
Workaround:
Unknown
Platforms:
Screenshots/Videos
bug.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @CortneyOfstadThe text was updated successfully, but these errors were encountered: