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.34k stars 2.77k forks source link

[HOLD for payment 2023-09-27] [$500] Chat - Emojis are selected when message is copied by selecting #26694

Closed lanitochka17 closed 11 months ago

lanitochka17 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 any report
  2. Send any text and add emojis
  3. Copy text by double clicking and paste in composer

Expected Result:

Emojis should not be copied with text

Actual Result:

Emojis are be copied with text

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

Version Number: 1.3.63-0

Reproducible in staging?: Yes

Reproducible in production?: Yes

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/78819774/44af026f-1fdc-4643-9158-3f26a3751187

https://github.com/Expensify/App/assets/78819774/416987dd-b457-49e0-9842-5ee96dd04651

Expensify/Expensify Issue URL:

Issue reported by: @krishna2323

Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693406411674209

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0141e82a06a4ba237b
  • Upwork Job ID: 1699027373879193600
  • Last Price Increase: 2023-09-12
  • Automatic offers:
    • 0xmiroslav | Reviewer | 26659187
    • bernhardoj | Contributor | 26659189
    • krishna2323 | Reporter | 26659191
melvin-bot[bot] commented 1 year ago

Triggered auto assignment to @MitchExpensify (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)

Krishna2323 commented 1 year ago

Proposal

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

Chat - Emojis are selected when message is copied by selecting

What is the root cause of that problem?

Seems like a react-native bug, the root cause still is not very clear to me but removing styles.userSelectNone solves the problem.

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

We need to remove styles.userSelectNone from EmojiReactionBubble.js. Slack & Whatsapp also doesn't block emoji from selection.

https://github.com/Expensify/App/blob/d2bdaece9151c8c65d3b4bc4c9578be663f1950d/src/components/Reactions/EmojiReactionBubble.js#L87-L88

Result

https://github.com/Expensify/App/assets/85894871/f72fdd0b-1240-44a2-ab9e-7cdefb930c88

melvin-bot[bot] commented 1 year ago

Job added to Upwork: https://www.upwork.com/jobs/~0141e82a06a4ba237b

MitchExpensify commented 1 year ago

Lets fix this!

melvin-bot[bot] commented 1 year ago

Current assignee @MitchExpensify 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 - @0xmiroslav (External)

payal-lathidadiya commented 1 year ago

Proposal

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

Chat - Emojis are selected when message is copied by selecting

What is the root cause of that problem?

Issue is due to accessibilityLabel attribute added for element here.

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

Replace style of userSelectNone to userSelectText in EmojiReactionBubble component here while rendering emoji reaction element.

What alternative solutions did you explore? (Optional)

Alternatively, we can also remove this style userSelectNone

bernhardoj commented 1 year ago

Proposal

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

Triple-clicking the chat message will copy over the reaction emoji if exists.

What is the root cause of that problem?

This is another issue of a browser bug where user-select: none can be selected/copied to the clipboard which we already encounter a few times https://github.com/Expensify/App/issues/24156 https://github.com/Expensify/App/issues/17838.

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

Add dataSet={{[CONST.SELECTION_SCRAPER_HIDDEN_ELEMENT]: true}} to both AddReactionBubble and EmojiReactionBubble to ignore the emoji from the selection.

As we already encountered this a few times, I think it's good to implement the solution to the component that is supposed to be non-selectable, for example, edited space text (in EditedRenderer and ReportActionItemFragment), MiniQuickEmojiReactions, BaseSelectionList Select all, Checkbox/RadioListItem, etc.

MitchExpensify commented 1 year ago

Bump on reviewing these proposal @0xmiroslav, thanks

melvin-bot[bot] commented 1 year ago

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

melvin-bot[bot] commented 1 year ago

@MitchExpensify, @0xmiroslav Whoops! This issue is 2 days overdue. Let's get this updated quick!

melvin-bot[bot] commented 1 year ago

@MitchExpensify, @0xmiroslav Huh... This is 4 days overdue. Who can take care of this?

MitchExpensify commented 1 year ago

Bump @0xmiroslav πŸ™‡

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? πŸ’Έ

0xmiros commented 1 year ago

I like @bernhardoj's proposal to reuse current solution already applied to other parts. πŸŽ€ πŸ‘€ πŸŽ€ C+ reviewed

melvin-bot[bot] commented 1 year ago

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

Li357 commented 1 year ago

Agreed, @bernhardoj all yours!

melvin-bot[bot] commented 1 year ago

πŸ“£ @0xmiroslav πŸŽ‰ An offer has been automatically sent to your Upwork account for the Reviewer role πŸŽ‰ Thanks for contributing to the Expensify app!

Offer link Upwork job

melvin-bot[bot] commented 1 year ago

πŸ“£ @bernhardoj πŸŽ‰ An offer has been automatically sent to your Upwork account for the Contributor role πŸŽ‰ Thanks for contributing to the Expensify app!

Offer link Upwork job Please accept the offer 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 πŸ“–

melvin-bot[bot] commented 1 year ago

πŸ“£ @krishna2323 πŸŽ‰ An offer has been automatically sent to your Upwork account for the Reporter role πŸŽ‰ Thanks for contributing to the Expensify app!

Offer link Upwork job

bernhardoj commented 1 year ago

PR is ready

cc: @0xmiroslav

melvin-bot[bot] commented 1 year ago

🎯 ⚑️ Woah @0xmiroslav / @bernhardoj, great job pushing this forwards! ⚑️

The pull request got merged within 3 working days of assignment, so this job is eligible for a 50% #urgency bonus πŸŽ‰

On to the next one πŸš€

melvin-bot[bot] commented 12 months ago

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

melvin-bot[bot] commented 12 months ago

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.3.71-12 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-09-27. :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.

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:

melvin-bot[bot] commented 12 months 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:

MitchExpensify commented 12 months ago

Payment summary:

Reporter: $250 @Krishna2323 Upwork C: $750 @bernhardoj Upwork C+: $750 @0xmiroslav Upwork

Added a reminder to my cal to pay out

MitchExpensify commented 11 months ago

Payment summary:

Reporter: $250 @Krishna2323 Upwork PAID C: $750 @bernhardoj Upwork - PAID C+: $750 @0xmiroslav Upwork - Bump on BZ steps and accepting Upwork offer @0xmiroslav

Krishna2323 commented 11 months ago

@MitchExpensify, why $250 for reporter roleπŸ‘€

0xmiros commented 11 months ago

@MitchExpensify, why $250 for reporter roleπŸ‘€

Not sure @MitchExpensify already checked but you're luckily eligible for original price. Your reported this bug in slack 5 hrs earlier than price announcement.

0xmiros commented 11 months ago

Bump on BZ steps and accepting Upwork offer @0xmiroslav

BZ Checklist: I propose same as https://github.com/Expensify/App/issues/24156#issuecomment-1687552532

Accepted offer

MitchExpensify commented 11 months ago

Not sure @MitchExpensify already checked but you're luckily eligible for original price.

I actually had not haha, thanks for doing that for me @0xmiroslav !

melvin-bot[bot] commented 11 months ago

@Li357, @MitchExpensify, @bernhardoj, @0xmiroslav Whoops! This issue is 2 days overdue. Let's get this updated quick!

MitchExpensify commented 11 months ago

Everyone is paid, no BZ steps needed, closing. Thanks, all!