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-09-07] [$1000] Line does not break in 'Description' of Request money #19872

Closed
6 tasks done
kavimuru opened this issue May 31, 2023 · 76 comments
Closed
6 tasks done
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Engineering External Added to denote the issue can be worked on by a contributor Weekly KSv2

Comments

@kavimuru
Copy link

kavimuru commented May 31, 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. Go to any chat
  2. Go to request money
  3. On description write something long

Expected Result:

The line should break to a new line at some point

Actual Result:

There is no line break

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.20-3
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

screen-capture.5.webm
Recording.820.mp4

Expensify/Expensify Issue URL:
Issue reported by: @Habtamu-Asefa
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1685338853319439

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~010bfd86b76bb12ca6
  • Upwork Job ID: 1665796276188585984
  • Last Price Increase: 2023-06-19
@kavimuru kavimuru added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels May 31, 2023
@melvin-bot
Copy link

melvin-bot bot commented May 31, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented May 31, 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

@therealsujitk
Copy link
Contributor

@akinwale if I'm not mistaken you're working on a similar issue?

@ahmedGaber93
Copy link
Contributor

ahmedGaber93 commented May 31, 2023

Proposal

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

Line does not break in 'Description' of Request money.

What is the root cause of that problem?

The description input is not multiline input.

<TextInput
inputID="moneyRequestComment"
name="moneyRequestComment"
defaultValue={this.props.iou.comment}
label={this.props.translate('moneyRequestConfirmationList.whatsItFor')}
ref={(el) => (this.descriptionInputRef = el)}
/>

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

Make the description input multiline by add the following props

    multiline
    textAlignVertical="top"
    numberOfLines={6} // or 10
Result
Screen.Recording.2023-06-05.at.9.59.46.PM.mov

Support multiline in MenuItem

prop types and default props.

/** Number of lines for the title */
numberOfLines: PropTypes.number,

// defaultProps
numberOfLines: 1,

use styles.pre in titleTextStyle only if numberOfLines 1 props.numberOfLines === 1 && styles.pre

styles.pre,

change title numberOfLines to be numberOfLines={props.numberOfLines}

numberOfLines={1}

What alternative solutions did you explore? (Optional)

we can instead use autoGrowHeight prop with style maxHeight.

   autoGrowHeight
   containerStyles={[styles.moneyRequestDescriptionInput]} 
   // styles.moneyRequestDescriptionInput = {maxHeight: 115} 
Result
Screen.Recording.2023-06-05.at.10.12.34.PM.mov

Alternative support multiline in MenuItem

prop types and default props.

/** Boolean whether to display the title in multiline */
multiline: PropTypes.bool,

// defaultProps
multiline: false,

use styles.pre in titleTextStyle only if multiline false !props.multiline && styles.pre

styles.pre,

change title numberOfLines to be numberOfLines={props.multiline ? undefined : 1}

numberOfLines={1}

@akinwale
Copy link
Contributor

@akinwale if I'm not mistaken you're working on a similar issue?

@therealsujitk Yes, that is correct, but it's for a different area of the app, task descriptions.

@melvin-bot
Copy link

melvin-bot bot commented May 31, 2023

📣 @easeplan! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

  1. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  2. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  3. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
    Screen Shot 2022-11-16 at 4 42 54 PM
    Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@habasefa
Copy link

Contributor details
Your Expensify account email: nazrihabtish@gmail.com
Upwork Profile Link: https://www.upwork.com/freelancers/~0130c45e8d1f512bf8

@melvin-bot
Copy link

melvin-bot bot commented May 31, 2023

✅ Contributor details stored successfully. Thank you for contributing to Expensify!

@Oluwaniphise
Copy link

I guess it the line didn't break because the individual didn't add whitespace between the text. HTML just took it as one. Add a proper description with whitespace, it should work.

@melvin-bot
Copy link

melvin-bot bot commented May 31, 2023

📣 @Oluwaniphise! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

  1. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  2. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  3. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
    Screen Shot 2022-11-16 at 4 42 54 PM
    Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@Oluwaniphise
Copy link

Your Expensify account email: oduyaleenoch@gmail.com
Upwork Profile Link: https://www.upwork.com/freelancers/~0170f6bd3ff8e0835d

@habasefa
Copy link

I guess it the line didn't break because the individual didn't add whitespace between the text. HTML just took it as one. Add a proper description with whitespace, it should work.

I don't think that is the case. You can add as many whitespaces as you want but the line is not breaking.

@melvin-bot melvin-bot bot added the Overdue label Jun 2, 2023
@tjferriss
Copy link
Contributor

@akinwale if I'm not mistaken you're working on a similar issue?

@akinwale is it possible we can combine these issues? Can you share the link to the other issue?

@melvin-bot melvin-bot bot removed the Overdue label Jun 2, 2023
@akinwale
Copy link
Contributor

akinwale commented Jun 3, 2023

@akinwale if I'm not mistaken you're working on a similar issue?

@akinwale is it possible we can combine these issues? Can you share the link to the other issue?

@tjferriss I suppose this is possible, and I'm not opposed to this idea, but I'm not sure about all the details of how this combination would work re: the timeline, speed bonus, bounty (2x?) etc. I already have a PR open, and I can easily add the changes required for this in addition to making modifications to the MoneyRequestHeader component to support displaying multiline descriptions. You can follow the PR discussion for more details as I imagine the same set of challenges may also apply here.

Additionally, there is a backend issue with saving task descriptions which contain newline characters. While I haven't tested yet, it may be possible that this could also happen with money requests.

@habasefa
Copy link

habasefa commented Jun 3, 2023

Does that mean it will not be considered as a bug for the tester?

@sobitneupane
Copy link
Contributor

@akinwale @tjferriss

Allowing new lines involve change in preview as well. We should also discuss about change in preview before moving forward. Following are the two places (preview and report) which will be impacted by the change.
Screenshot 2023-06-05 at 14 08 30
Screenshot 2023-06-05 at 14 08 14

In this issue, we are going to allow adding new lines to description for task assignment. We don't show description in task preview. So, we didn't have any issue in task preview. But for task report we decided to do nothing for now as task view is being redesigned as discussed here by @thienlnam.

cc: @youssef-lr

@tjferriss
Copy link
Contributor

@akinwale sorry, I should have been more specific in my question. My question was whether we can close this issue in favor of the other one. It seems like the answer is no, we should treat these separately.

@melvin-bot melvin-bot bot removed the Overdue label Jun 5, 2023
@tjferriss tjferriss added the External Added to denote the issue can be worked on by a contributor label Jun 5, 2023
@melvin-bot melvin-bot bot changed the title Line does not break in 'Description' of Request money [$1000] Line does not break in 'Description' of Request money Jun 5, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 5, 2023

Job added to Upwork: https://www.upwork.com/jobs/~010bfd86b76bb12ca6

@melvin-bot
Copy link

melvin-bot bot commented Jun 5, 2023

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

@mountiny
Copy link
Contributor

What are we holding on now? Could we add it to the title if possible?

@aimane-chnaif
Copy link
Contributor

We were waiting for #22284 so that we could apply same solution.
Now that the linked PR deployed to staging, I think we can continue this issue.

@tjferriss tjferriss changed the title [HOLD] [$1000] Line does not break in 'Description' of Request money [$1000] Line does not break in 'Description' of Request money Aug 24, 2023
@tjferriss
Copy link
Contributor

Yes, @ahmedGaber93 can we move forward with your PR?

@ahmedGaber93
Copy link
Contributor

@tjferriss yes PR #21664 is ready for review.

@melvin-bot
Copy link

melvin-bot bot commented Aug 28, 2023

Based on my calculations, the pull request did not get merged within 3 working days of assignment. Please, check out my computations here:

  • when @ahmedGaber93 got assigned: 2023-06-27 12:42:18 Z
  • when the PR got merged: 2023-08-28 22:19:37 UTC
  • days elapsed: 44

On to the next one 🚀

@tjferriss
Copy link
Contributor

This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

^From the PR, we're waiting on QA

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Daily KSv2 labels Aug 31, 2023
@melvin-bot melvin-bot bot changed the title [$1000] Line does not break in 'Description' of Request money [HOLD for payment 2023-09-07] [$1000] Line does not break in 'Description' of Request money Aug 31, 2023
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Aug 31, 2023
@melvin-bot
Copy link

melvin-bot bot commented Aug 31, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Aug 31, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.59-5 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-09-07. 🎊

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.

  • External issue reporter
  • Contributor that fixed the issue
  • Contributor+ that helped on the issue and/or PR

For reference, here are some details about the assignees on this issue:

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 Aug 31, 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.
  • [@tjferriss] Link the GH issue for creating/updating the regression test once above steps have been agreed upon: https://github.com/Expensify/Expensify/issues/318790

@habasefa
Copy link

habasefa commented Sep 7, 2023

@tjferriss a kind reminder for payment

@aimane-chnaif
Copy link
Contributor

BZ Checklist:
This is new feature rather than bug. Multiline description was not supported initially.

Timeline analysis:

  • Contributor assigned: 2023-06-27 12:42, but hold for other related PRs
  • Hold was removed: 2023-08-24 16:25 (I think this can be actual start time to clock)
  • PR merged: 2023-08-28 17:38
  • Aug 26, 27: weekend

@habasefa
Copy link

habasefa commented Sep 7, 2023

@aimane-chnaif I don't understand. What do you mean it is a new feature? Does that mean there is no bonus for the reporter?

@habasefa
Copy link

@kavimuru @tjferriss It has been 4 days since the deadline for payment.

@tjferriss
Copy link
Contributor

tjferriss commented Sep 12, 2023

@Habtamu-Asefa sorry for the delay. Can you please apply to the job on Upworks? Job posting: https://www.upwork.com/jobs/~011291928fb10896b6

@habasefa
Copy link

@tjferriss Thanks for the response. I have sent a proposal to the link you gave.

@habasefa
Copy link

@tjferriss checking on the status of my payment

@habasefa
Copy link

@tjferriss Nine days since the payment deadline. I look forward to no further delay.

@mallenexpensify
Copy link
Contributor

Hired! @Habtamu-Asefa , can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~011291928fb10896b6

@mallenexpensify
Copy link
Contributor

I applied the 50% bonus based on @aimane-chnaif 's timeline above

Issue reporter: @Habtamu-Asefa paid $250 via Upwork
Contributor: @ahmedGaber93 paid $1500 via Upwork
Contributor+: @aimane-chnaif paid $1500 via Upwork

@aimane-chnaif can you please complete the BZ checklist above?

@aimane-chnaif
Copy link
Contributor

@mallenexpensify I also mentioned BZ checklist in #19872 (comment). So I think all items can be checked off.

@mallenexpensify
Copy link
Contributor

BZ Checklist:
This is new feature rather than bug. Multiline description was not supported initially.

ah... I missed that. We def need new regression tests for new features, otherwise we'll never be able to check/test them going forward. Can you propose steps so I can create a TestRail GH @aimane-chnaif ? Thx

@aimane-chnaif
Copy link
Contributor

Regression Test Proposal

  1. Open FAB > Request money
  2. Select Manual tab, enter any amount and click Next
  3. Select any participant
  4. Click on Description field
  5. Type any words
  6. Press Shift + Enter
  7. Verify that cursor is moved to next line
  8. Type any words
  9. Verify that input text is now multiline

@mallenexpensify
Copy link
Contributor

mallenexpensify commented Sep 21, 2023

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. Engineering External Added to denote the issue can be worked on by a contributor Weekly KSv2
Projects
None yet
Development

No branches or pull requests