Skip to content
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-05-16] [$1000] No hover effect on Amount and Description fields on new send money page #17635

Closed
1 of 6 tasks
kavimuru opened this issue Apr 18, 2023 · 40 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor

Comments

@kavimuru
Copy link

kavimuru commented Apr 18, 2023

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:

  1. Open the app
  2. Click on plus and click on send money
  3. Enter any amount and click continue
  4. Select any person and click continue
  5. Hover on Amount and Description fields and observe that there is no hover effect

Expected Result:

On hover on Amount and Description fields, app should change background color to rgb(26,61,50) and arrow color should change to rgb(231,236,233) as it does on all the similar fields throughout the app

Actual Result:

App has no hover effect on hover on Amount and Description fields

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?

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: 1.3.1
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

no.hover.effect.on.new.fields.mp4
Recording.276.mp4

Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1681810766206009

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~012282950dc9ac5e8a
  • Upwork Job ID: 1651189202939957248
  • Last Price Increase: 2023-04-26
@kavimuru kavimuru added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Apr 18, 2023
@MelvinBot
Copy link

Triggered auto assignment to @michaelhaxhiu (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@MelvinBot
Copy link

MelvinBot commented Apr 18, 2023

Bug0 Triage Checklist (Main S/O)

  • This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
  • This bug is not a duplicate report (check E/App issues and #expensify-bugs)
    • If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead
  • This bug is reproducible using the reproduction steps in the OP. S/O
    • If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
    • If the reproduction steps aren't clear and you determine the correct steps, please update the OP.
  • This issue is filled out as thoroughly and clearly as possible
    • Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.
  • I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@kavimuru kavimuru changed the title No hover effect on Amount and Description fields on new send money page (we have hover effect on similar fields throughout the app) No hover effect on Amount and Description fields on new send money page Apr 18, 2023
@dhairyasenjaliya
Copy link
Contributor

Proposal

Please re-state the problem that we are trying to solve in this issue.

  • No hover effect on Amount and Description fields on new send money page

What is the root cause of that problem?

  • This was recently refactor to add push to page components with that we interactive default to false that will make component not to add background colour on hour 

    What changes do you think we should make in order to solve the problem?

  • We just need to remove interactive props or make interactive -> true 

    Changes

<MenuItemWithTopDescription
                   shouldShowRightIcon
                   title={formattedAmount}
                   description={this.props.translate('iou.amount')}
-                    interactive={false} // This is so the menu item's background doesn't change color on hover
                   onPress={() => this.props.navigateToStep(0)}
                   style={styles.moneyRequestMenuItem}
                   titleStyle={styles.moneyRequestConfirmationAmount}
               />
               <MenuItemWithTopDescription
                   shouldShowRightIcon
                   title={this.props.iou.comment}
                   description={this.props.translate('common.description')}
-                    interactive={false} // This is so the menu item's background doesn't change color on hover
                   onPress={() => Navigation.navigate(ROUTES.MONEY_REQUEST_DESCRIPTION)}
                   style={styles.moneyRequestMenuItem}
               />


Adding proposal before help label as per new guid line

@MelvinBot
Copy link

Looks like something related to react-navigation may have been mentioned in this issue discussion.

As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our DeprecatedCustomActions.js files should not be accepted.

Feel free to drop a note in #expensify-open-source with any questions.

@Prince-Mendiratta
Copy link
Contributor

Looks intentional, #16919 (comment).

@shawnborton what are your thoughts on this?

@shawnborton
Copy link
Contributor

Interesting, I guess we should keep them consistent so I would say we should add the hover effect.

@Prince-Mendiratta
Copy link
Contributor

@shawnborton I wonder why this was originally implemented to remove the hover effect. Are the future design looking for removing the hover effect on Menu Items?

@dhairyasenjaliya
Copy link
Contributor

I think we should add hover effect since we are using same MenuItem components as used other which has hover effect

@shawnborton
Copy link
Contributor

Hmm yeah, @yuwenmemon is there more context as for why we removed the hover effect from those rows? cc @cristipaval who's worked on these push rows in other contexts too.

I think my vote would be to treat them consistently everywhere. I am fine with the background color changing, or we could do something more subtle and only change the hover color of the right arrow?

@melvin-bot melvin-bot bot added the Overdue label Apr 21, 2023
@MelvinBot
Copy link

@michaelhaxhiu Eep! 4 days overdue now. Issues have feelings too...

@michaelhaxhiu
Copy link
Contributor

I think my vote would be to treat them consistently everywhere.

Same, consistency is the goal. If there wasn't a (very) good reason to have this behave inconsistently, we should fix it now and keep it that way going forward.

@melvin-bot melvin-bot bot removed the Overdue label Apr 26, 2023
@michaelhaxhiu
Copy link
Contributor

Pinging slack thread to make sure Yuwen gets an eye on this... I want to label external ASAP if we agree to fix this one.

I'm just trying to make sure I'm not missing sight of something key here cc @yuwenmemon

@yuwenmemon
Copy link
Contributor

@shawnborton never even thought about hovering there. Let's add it in!

@Prince-Mendiratta
Copy link
Contributor

Proposal

Please re-state the problem that we are trying to solve in this issue.

In this issue, we can notice that the menu items "Amount" and "Description" on the Money Request/Send/Split flows do not have a hover effect.

What is the root cause of that problem?

The root cause behind this issue is because of two factors.
Lack of the hover effect
The interactive prop is set to false, which disables the hover effect.

Weird hover effect if enabled
The reason I believe the hover effect was disabled originally is because the MenuItemWithTopDescription for the "Amount" and "Description" are passed as children to the OptionsSelector. For any children passed to the OptionsSelector, the parent adds a view with padding and adds the passed components as children to it. With the hover effect enabled, it is added only to the child, causing the hover effect to show up not on the parent view which causes inconsistent effect.

this.props.shouldTextInputAppearBelowOptions
? (
<>
<View style={[styles.flexGrow0, styles.flexShrink1, styles.flexBasisAuto, styles.w100, styles.flexRow]}>
{optionsList}
</View>
<View style={[styles.ph5, styles.pv5, styles.flexGrow1, styles.flexShrink0]}>
{this.props.children}
{this.props.shouldShowTextInput && textInput}
</View>
</>

What changes do you think we should make in order to solve the problem?

In order to fix this and add the hover effect in a consistent manner to other menu items, we will have to make the following changes:

  1. Get rid of the interactive prop.
  2. Add a new prop to OptionsSelector and modify the prop types accordingly with a default value of true that will determine if the styles should be rendered in the parent view. This can be achieved using the statement this.props.shouldUseStyleForChildren && [styles.ph5, styles.pv5, styles.flexGrow1, styles.flexShrink0].
  3. We need to pass this prop to the OptionsSelector in the MoneyRequestConfirmationList with value false.
  4. We need to modify the moneyRequestMenuItem style to have horizontal padding set to 20 and vertical padding set to 20.

Additionally, we need to modify the padding and margin according to the needs but that can be tackled in the PR review.

What alternative solutions did you explore? (Optional)

None

Results
2023-04-26.12-00-38.mp4

@shawnborton shawnborton self-assigned this Apr 26, 2023
@shawnborton
Copy link
Contributor

That looks good to me @Prince-Mendiratta

@michaelhaxhiu michaelhaxhiu added the External Added to denote the issue can be worked on by a contributor label Apr 26, 2023
@melvin-bot melvin-bot bot changed the title No hover effect on Amount and Description fields on new send money page [$1000] No hover effect on Amount and Description fields on new send money page Apr 26, 2023
@MelvinBot
Copy link

Job added to Upwork: https://www.upwork.com/jobs/~012282950dc9ac5e8a

@MelvinBot
Copy link

Current assignee @michaelhaxhiu is eligible for the External assigner, not assigning anyone new.

@MelvinBot
Copy link

Triggered auto assignment to Contributor-plus team member for initial proposal review - @aimane-chnaif (External)

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 26, 2023
@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label May 3, 2023
@MelvinBot
Copy link

📣 @Prince-Mendiratta You have been assigned to this job by @marcochavezf!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑‍💻
Keep in mind: Code of Conduct | Contributing 📖

@Prince-Mendiratta
Copy link
Contributor

PR is up for review!

Applied in upwork.

cc @aimane-chnaif @marcochavezf @shawnborton @michaelhaxhiu

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Daily KSv2 labels May 9, 2023
@melvin-bot melvin-bot bot changed the title [$1000] No hover effect on Amount and Description fields on new send money page [HOLD for payment 2023-05-16] [$1000] No hover effect on Amount and Description fields on new send money page May 9, 2023
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label May 9, 2023
@melvin-bot
Copy link

melvin-bot bot commented May 9, 2023

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot
Copy link

melvin-bot bot commented May 9, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.12-0 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-05-16. 🎊

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:

  • Merged PR within 3 business days of assignment - 50% bonus
  • Merged PR more than 9 business days after assignment - 50% penalty

@melvin-bot
Copy link

melvin-bot bot commented May 9, 2023

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:

  • [@aimane-chnaif] The PR that introduced the bug has been identified. Link to the PR:
  • [@aimane-chnaif] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
  • [@aimane-chnaif] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
  • [@aimane-chnaif] Determine if we should create a regression test for this bug.
  • [@aimane-chnaif] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
  • [@michaelhaxhiu] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@Prince-Mendiratta
Copy link
Contributor

Sharing the timeline of this issue to help with the eventual analysis, calculated with this tool.

🐛 Issue created at: Tue, 18 Apr 2023 21:10:01 GMT
🧯 Help Wanted at: Wed, 26 Apr 2023 11:39:37 GMT
🕵🏻 Contributor assigned at: Wed, 03 May 2023 15:48:11 GMT
🛸 PR created at: Wed, 03 May 2023 16:31:30 GMT
🎯 PR merged at: Thu, 04 May 2023 15:36:27 GMT
⌛ Business Days Elapsed between assignment and PR merge: 1

@melvin-bot melvin-bot bot added Daily KSv2 Overdue and removed Weekly KSv2 labels May 15, 2023
@michaelhaxhiu
Copy link
Contributor

https://www.upwork.com/jobs/~012282950dc9ac5e8a

Invited the C, C+, and Bug reporter to the Upwork job.

@melvin-bot melvin-bot bot removed the Overdue label May 17, 2023
@michaelhaxhiu
Copy link
Contributor

Payouts will be 50% increased based on turnaround time. I added those amounts to the checklist here #17635 (comment)

@michaelhaxhiu
Copy link
Contributor

@aimane-chnaif can you fill out the checklist posted last week so that we ensure this can be paid / closed?

@aimane-chnaif
Copy link
Contributor

aimane-chnaif commented May 18, 2023

  • The PR that introduced the bug has been identified. Link to the PR: Add Push-to-Page support for IOUConfirmationList #16919
  • The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: Add Push-to-Page support for IOUConfirmationList #16919 (comment)
  • A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: This was already known and intentional to prevent ugly styles so no further discussions needed.

@michaelhaxhiu do you think it's worth to add something like below to checklist? If not, no regression test step needed.

  • If new push-to-page was implemented, I verified that items have hoverable effects and right arrow icon at the right edge.

@michaelhaxhiu
Copy link
Contributor

@isagoico do you think this QA test is worthwhile?

@isagoico
Copy link

@michaelhaxhiu I don't think this is a big feature that should be tested on every regression run. Looks like a good candidate for Edge case testing. Will add it to our edge case list and will be tested on a monthly basis.

@michaelhaxhiu
Copy link
Contributor

Sweet - do I need to make a GH for that @isagoico ?

@michaelhaxhiu
Copy link
Contributor

spoke via DM and nope, Isa has got it!

@michaelhaxhiu
Copy link
Contributor

All paid. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor
Projects
None yet
Development

No branches or pull requests

10 participants