You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[HOLD for payment 2023-06-05] [$1000] Remove checkbox from Money request header #19332
Login with any account, go any request money report.
Hover the header title.
Notice a checkbox shows on the right side of the component
Expected Result:
No checkbox should appear
Actual Result:
A checkbox appears
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.16-5 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
We can see at line 121 we are passing text styles without cursor style, So it display I beam cursor. So this is the root cause of the problem for both places.
What changes do you think we should make in order to solve the problem?
To solve this we have to set default cursor style at two place.
i.e. Within AvatarWithDisplayName.js we have to set styles.cursorDefault style at line 82 as shown in code below.
<DisplayNames...// textStyles={[styles.headerText, styles.pre]} // *** Old ***textStyles={[styles.headerText,styles.pre,styles.cursorDefault]}// *** Updated ***.../>
Within MoneyRequestHeader.js we have to set styles.cursorDefault style at line 121 as shown in code below.
<Text// style={[styles.headerText, styles.pre]} // *** Old ***style={[styles.headerText,styles.pre,styles.cursorDefault]}// *** Updated ***...>{payeeName}</Text>
So it will solve the issue and shows default cursor for both Requester and Payee as shown in result video.
Important: We can not set pointer cursor because there is not any action on click of the text. So we have to use default cursor.
Proposal to Set Checkmark and Settled text
Within MoneyRequestHeader.js set iou amount description conditionally and pass descriptionRightIcon prop as shown below at line 179 here.
Please re-state the problem that we are trying to solve in this issue.
Money request header title has I beam cursor instead of pointer while hovering.
What is the root cause of that problem?
If the items in the header are not intended to be clickable, then there may not be an issue to fix. But if we plan to make any of the items clickable then the root cause of this issue is not defining pointer styles for those items.
Additionally, there seems to be an inconsistency with the use of tooltips in both the Money Request and Task headers that should be addressed and made consistent.
What changes do you think we should make in order to solve the problem?
To fix these issues, we need to first confirm if any of these header items are going to be clickable in future.
If so, we should apply styles.cursorpointer to corresponding items and leave other items as they are, since we already use I-beam cursors for text all over the app. cc: @shawnborton
Few examples Screen.Recording.2023-05-20.at.6.46.11.PM.mov
Also, we need to define Tooltips for all header items or follow the design team's suggestion.
This is the current scenario:
For Money Request Page
In first row
- Avatar has default cursor and no tooltip
- Name has I-Beam cursor and tooltip is present
In 2nd row
- Avatar has default cursor and no tooltip
- Name has I-Beam cursor and no tooltip
money-request-page.mov
For Task Pages
In first row
- Avatar and Name both have default cursor and no tooltips
In 2nd row
- Avatar and Name both have pointer cursor and no tooltips (it's clickable)
task-page.mov
We will be making these changes in HeaderView.js, HeaderViewWithCloseButton.js, MoneyRequestHeader.js, TaskHeader.js, AvatarWithDisplayName.js etc
What alternative solutions did you explore? (Optional)
We can also go with default cursors and consistent tooltips
I think I'm blinded by EC3, can you link me to the vid showing that? 😅
I agree it shouldn't have a pointer mouse if it's not clickable, and I don't think we have any immediate plans to add some kind of "room details" for a expense/iouReport.
changed the title [-][$1000] Remove checkbox from Money request header[/-][+][HOLD for payment 2023-06-05] [$1000] Remove checkbox from Money request header[/+]on May 29, 2023
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.19-7 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-05. 🎊
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.
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.
[@tjferriss] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:
Sorry for the delay. All offers have been sent via Upworks and I'll process payment as they're accepted. @PrashantMangukiya and @aimane-chnaif will get the 50% speed bonus.
@aimane-chnaif can you please help out with the checklist?
Activity
melvin-bot commentedon May 19, 2023
Triggered auto assignment to @tjferriss (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.melvin-bot commentedon May 19, 2023
Bug0 Triage Checklist (Main S/O)
Platformsin OP are ✅)PrashantMangukiya commentedon May 20, 2023
Proposal
Posting proposal early as per new guidelines
Please re-state the problem that we are trying to solve in this issue.
Money request header title has I beam cursor instead of pointer while hovering.
What is the root cause of that problem?
Money request header rendered via
src/components/MoneyRequestHeader.jscomponent. It consist two rows i.e. Requester and Payee.1. So requestor rows rendered via
<HeaderWithCloseButton>at line 91App/src/components/MoneyRequestHeader.js
Line 91 in 7378626
Eventually HeaderWithCloseButton will render
AvatarWithDisplayNamevia this:App/src/components/HeaderWithCloseButton.js
Lines 170 to 174 in 7378626
AvatarWithDisplayName.jswill renderDisplayNamesvia this code:App/src/components/AvatarWithDisplayName.js
Lines 77 to 84 in 7378626
We can see at line 82 we are passing text styles without cursor style, So it is display I beam cursor due text being selectable by nature.
2. Payee render from
MoneyRequestHeader.jsvia this code:App/src/components/MoneyRequestHeader.js
Lines 120 to 125 in 7378626
We can see at line 121 we are passing text styles without cursor style, So it display I beam cursor. So this is the root cause of the problem for both places.
What changes do you think we should make in order to solve the problem?
To solve this we have to set default cursor style at two place.
i.e. Within
AvatarWithDisplayName.jswe have to setstyles.cursorDefaultstyle at line 82 as shown in code below.Within
MoneyRequestHeader.jswe have to setstyles.cursorDefaultstyle at line 121 as shown in code below.So it will solve the issue and shows default cursor for both Requester and Payee as shown in result video.
Important: We can not set pointer cursor because there is not any action on click of the text. So we have to use default cursor.
Proposal to Set Checkmark and Settled text
Within
MoneyRequestHeader.jsset iou amount description conditionally and passdescriptionRightIconprop as shown below at line 179 here.We have remove old checkmark icon from code block here.
Then we have to update this code as shown below:
So this will show the checkmark icon at right side of the amount and show
Settledwithin text as shown in result below:Results
What alternative solutions did you explore? (Optional)
None.
Results
DefaultCursor.mp4
daraksha-dk commentedon May 20, 2023
Proposal
Please re-state the problem that we are trying to solve in this issue.
Money request header title has I beam cursor instead of pointer while hovering.
What is the root cause of that problem?
If the items in the header are not intended to be clickable, then there may not be an issue to fix. But if we plan to make any of the items clickable then the root cause of this issue is not defining pointer styles for those items.
Additionally, there seems to be an inconsistency with the use of tooltips in both the Money Request and Task headers that should be addressed and made consistent.
What changes do you think we should make in order to solve the problem?
To fix these issues, we need to first confirm if any of these header items are going to be clickable in future.
If so, we should apply
styles.cursorpointerto corresponding items and leave other items as they are, since we already use I-beam cursors for text all over the app. cc: @shawnbortonFew examples
Screen.Recording.2023-05-20.at.6.46.11.PM.mov
Also, we need to define Tooltips for all header items or follow the design team's suggestion.
This is the current scenario:
For Money Request Page
In first row
- Avatar has default cursor and no tooltip
- Name has I-Beam cursor and tooltip is present
In 2nd row
- Avatar has default cursor and no tooltip
- Name has I-Beam cursor and no tooltip
money-request-page.mov
For Task Pages
In first row
- Avatar and Name both have default cursor and no tooltips
In 2nd row
- Avatar and Name both have pointer cursor and no tooltips (it's clickable)
task-page.mov
We will be making these changes in
HeaderView.js,HeaderViewWithCloseButton.js,MoneyRequestHeader.js,TaskHeader.js,AvatarWithDisplayName.jsetcWhat alternative solutions did you explore? (Optional)
We can also go with default cursors and consistent tooltips
shawnborton commentedon May 22, 2023
Hmm why does the To field have a checkmark here? cc @JmillsExpensify @trjExpensify
But I think this isn't really a bug if you can't actually click the header title to navigate anywhere, then no need for a pointer mouse.
trjExpensify commentedon May 22, 2023
I think I'm blinded by EC3, can you link me to the vid showing that? 😅
I agree it shouldn't have a pointer mouse if it's not clickable, and I don't think we have any immediate plans to add some kind of "room details" for a expense/iouReport.
daraksha-dk commentedon May 22, 2023
@trjExpensify I think @shawnborton is referring to the first video here
trjExpensify commentedon May 22, 2023
Ah, I see it now. Yes, that's an error. The transaction view once settled should look like this:
@mountiny @luacmartins @Julesssss - I've been out of the loop at EC3 for a couple of days, is this fix up somewhere else?
Julesssss commentedon May 22, 2023
Not as far as I'm aware. Given that it's minor we can probably sneak the fix into this issue/proposal
30 remaining items
[-][$1000] Remove checkbox from Money request header[/-][+][HOLD for payment 2023-06-05] [$1000] Remove checkbox from Money request header[/+]melvin-bot commentedon May 29, 2023
Reviewinglabel has been removed, please complete the "BugZero Checklist".melvin-bot commentedon May 29, 2023
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.19-7 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-05. 🎊
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:
melvin-bot commentedon May 29, 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:
PrashantMangukiya commentedon Jun 7, 2023
Ping for Upwork.
tjferriss commentedon Jun 7, 2023
Sorry for the delay. All offers have been sent via Upworks and I'll process payment as they're accepted. @PrashantMangukiya and @aimane-chnaif will get the 50% speed bonus.
@aimane-chnaif can you please help out with the checklist?
PrashantMangukiya commentedon Jun 7, 2023
@tjferriss Offer accepted. Thank you.
aimane-chnaif commentedon Jun 8, 2023
This is not a bug but feature.
Regression tests will be updated more broadly for the manual requests redesign.
So all items can be checked off.
tjferriss commentedon Jun 9, 2023
All the payments have been sent.