Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.49k stars 2.84k forks source link

[HOLD for payment 2023-06-28] [HOLD for payment 2023-06-23] [$1000] Cursor does not change to I beam on selecting mentions like it does for other clickable links #19303

Closed kavimuru closed 1 year ago

kavimuru commented 1 year ago

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. Open any report
  3. Send message with mention
  4. Click and drag to highlight the message containing the message and observe that cursor remains pointer while highlighting and does not change to I beam

Expected Result:

App should change the cursor to I beam while highlighting the mentions part in message as it normally does for email, links etc

Actual Result:

App keeps the cursor as pointer and does not change to I beam while selecting mentions part in message

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?

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

https://github.com/Expensify/App/assets/43996225/6d62ab42-d41c-402c-bdb2-7c7dc0898873

https://github.com/Expensify/App/assets/43996225/7113a7bb-9caa-4aa3-8837-78aa5d0affa7

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

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~017477dd353ae7b577
  • Upwork Job ID: 1664022662379630592
  • Last Price Increase: 2023-06-07
melvin-bot[bot] commented 1 year ago

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

melvin-bot[bot] commented 1 year ago

Bug0 Triage Checklist (Main S/O)

strepanier03 commented 1 year ago

I am testing this and the mentions as well as other clickable links, like embedded URLs are all the point, not the I beam.

I believe it should be the point because it's clickable whereas the I beam indicates text and typing.

@kavimuru - Can you weigh in here. I'm not sure about moving this one forward.

melvin-bot[bot] commented 1 year ago

@strepanier03 Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

strepanier03 commented 1 year ago

@dhanashree-sawant - I have question about your repro steps. In step 4 you say "Select the mention message and observe that cursor remains pointer while selecting and does not change to I beam".

By "select" do you mean open up the sent message to editing and then clicking on the mention?

The reason I ask is because the pointer makes sense to me because the mention is clickable, just like other links.

If I hyperlink a URL, it should be a pointer because it's clickable, same with the mention.

Can you help me understand why it should be an I beam if it's clickable?

dhanashree-sawant commented 1 year ago

Hi @strepanier03, if you see email, URL, they are all clickable but when we select by dragging over them, cursor changes to I beam, if we want to keep the cursor as pointer while drag and select, we should do that too on email and URL to maintain consistency.

strepanier03 commented 1 year ago

Aaah, I think I didn't understand that "select" meant to drag over the message, not click (select) on them. I'll go through it again and update the OP comment with the clarification.

melvin-bot[bot] commented 1 year ago

Job added to Upwork: https://www.upwork.com/jobs/~017477dd353ae7b577

melvin-bot[bot] commented 1 year ago

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

melvin-bot[bot] commented 1 year ago

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

melvin-bot[bot] commented 1 year ago

Triggered auto assignment to @joelbettner (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

strepanier03 commented 1 year ago

Okay, I updated repro steps and confirmed following them repros the behavior for me.

I agree we should be consistent and highlighting a message should be I beam and not pointer.

tienifr commented 1 year ago

Proposal

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

App keeps the cursor as pointer and does not change to I beam while selecting mentions part in message.

What is the root cause of that problem?

In web we only have the behavior of "cursor is different when text is being selected" for text inside <a> tag, with href attribute. That's why we can see the correct behavior for links, emails because they are in <a> tag, with href. The same can be observed for other texts in <a>, for example the text links in login page.

So the problem here is we're not using <a> for the mention-user comment type, but we're expecting it to have the behavior of <a> tag. It should indeed be in <a> tag since it's essentially a link to the user's profile details (Slack also does it too).

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

To fix this we simply need to make the Text here a TextLink, and add a proper href to it (the place in our site where we lead the user after they click the mention) https://github.com/Expensify/App/blob/5ff32c3d8cec682ab25107ce5db1319c7d89f51c/src/components/HTMLEngineProvider/HTMLRenderers/MentionUserRenderer.js#L40

This is consistent with the @mention-user feature in Slack too.

Note: we don't need this for @here because @here currently doesn't link to anything and doesn't have the cursor: pointer

What alternative solutions did you explore? (Optional)

NA

melvin-bot[bot] commented 1 year ago

@eVoloshchak @strepanier03 @joelbettner 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!

strepanier03 commented 1 year ago

Little bump on the proposal @eVoloshchak, thank you πŸ™Œ

eVoloshchak commented 1 year ago

@tienifr's proposal looks good to me! Btw, does that also mean that long pressing on a mention should bring up the Copy to clipboard context menu?

πŸŽ€πŸ‘€πŸŽ€ C+ reviewed! cc: @joelbettner

joelbettner commented 1 year ago

@eVoloshchak @tienifr that proposal looks good. Just for clarification, @tienifr, the @here mentions do not have the problem and automatically highlight with an I-beam because they are not links...correct?

tienifr commented 1 year ago

@joelbettner That's correct!

melvin-bot[bot] commented 1 year ago

πŸ“£ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? πŸ’Έ

tienifr commented 1 year ago

@eVoloshchak Yes, it shows the context menu with Copy to clipboard (text not url) option. I've tested the changes on mWeb and Android and the behaviors remain the same as before:

image

Since the mention is technically not a link, I think this is the expected behavior. Fixing this bug shouldn't change the current behavior for long press.

For the Android: Show nothing, I think it might be a bug, but it exists now in staging and not introduced by the change so if it's a bug we might want to report it separately.

strepanier03 commented 1 year ago

@joelbettner - Are you good with the proposal and hiring @tienifr based on their reply to your question?

melvin-bot[bot] commented 1 year ago

@eVoloshchak @strepanier03 @joelbettner this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

joelbettner commented 1 year ago

@joelbettner - Are you good with the proposal and hiring @tienifr based on their reply to your question?

Yes I am.

melvin-bot[bot] commented 1 year ago

πŸ“£ @tienifr You have been assigned to this job by @joelbettner! 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 πŸ“–

tienifr commented 1 year ago

PR ready for review https://github.com/Expensify/App/pull/20447!

melvin-bot[bot] commented 1 year ago

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

On to the next one πŸš€

tienifr commented 1 year ago

@joelbettner I think Melvin's calculation here is incorrect. When subtracting the dates it's clearly under 3 days (it's around 2 days 3 hours)

melvin-bot[bot] commented 1 year ago

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

strepanier03 commented 1 year ago

@tienifr - I agree, the math seemed wrong there. I hid that math so it doesn't get taken into account when assessing payment.

melvin-bot[bot] commented 1 year ago

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

melvin-bot[bot] commented 1 year ago

Bug0 Triage Checklist (Main S/O)

strepanier03 commented 1 year ago

@JmillsExpensify - I am heading out for sabbatical this evening and need to reassign this to be finished up.

There was an automated post for the speed bonus that I hid because the math in it was wrong. But since then there has been a regression so the speed bonus is a moot point now.

The PR is deployed to staging and the C+ is working on fixing the regression so no action is needed right now from you but will be needed in the coming days.

Thank you for wrapping this up!

melvin-bot[bot] commented 1 year ago

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

On to the next one πŸš€

melvin-bot[bot] commented 1 year ago

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

On to the next one πŸš€

melvin-bot[bot] commented 1 year ago

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

melvin-bot[bot] commented 1 year ago

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.3.28-5 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2023-06-23. :confetti_ball:

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[bot] commented 1 year ago

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:

melvin-bot[bot] commented 1 year ago

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.3.29-11 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2023-06-28. :confetti_ball:

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[bot] commented 1 year ago

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:

melvin-bot[bot] commented 1 year ago

@JmillsExpensify, @eVoloshchak, @joelbettner, @tienifr Eep! 4 days overdue now. Issues have feelings too...

JmillsExpensify commented 1 year ago

@eVoloshchak Do you mind getting us kicked off with the BZ checklist above ahead of kicking off payouts tomorrow?

JmillsExpensify commented 1 year ago

In the meantime, let's get the payouts catalogued.

Upwork job is here. Can everyone send along proposals and I'll get the contract/payout covered.

dhanashree-sawant commented 1 year ago

Hi @JmillsExpensify, if possible, can you send me invite to the job?

eVoloshchak commented 1 year ago
eVoloshchak commented 1 year ago

Contributor+: @eVoloshchak $1,000

@JmillsExpensify, this has caused two regressions, so my pay should be reduced to 25%. Not sure what the rules concerning this for Contributors are

Upwork job is here. Can everyone send along proposals and I'll get the contract/payout covered.

Could you hold my payment till tomorrow, please? I'll try to request the payment using NewDot instead of Upwork, need some additional setting up to do

JmillsExpensify commented 1 year ago

Could you hold my payment till tomorrow, please? I'll try to request the payment using NewDot instead of Upwork, need some additional setting up to do

Ok that'd be great. Will hold.

JmillsExpensify commented 1 year ago

@JmillsExpensify, this has caused two regressions, so my pay should be reduced to 25%. Not sure what the rules concerning this for Contributors are

At the moment, the deduction applies to C+.

JmillsExpensify commented 1 year ago

Bug has an extremely low impact, so I don't think a regression test is necessary here

I also agree with this.

JmillsExpensify commented 1 year ago

Offers sent to contributor and issue reporter.

dhanashree-sawant commented 1 year ago

Thanks I have accepted the offer.