RocketChat / RocketChat/EmbeddedChat
Inconsistent emoji reaction behavior via picker
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 165
- Forks
- 381
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 1
Description
Description:
When a user clicks an emoji in the emoji picker that they have already reacted with, nothing happens. The reaction is not removed. However, clicking the same emoji directly on the message correctly toggles the reaction. This inconsistency leads to a confusing user experience
Steps to reproduce:
- React to a message using the emoji picker.
- Click the same emoji again in the picker → reaction remains, no effect.
- Click the same emoji on the message → reaction is correctly removed.
Expected behavior:
- Clicking the same emoji in the emoji picker should remove the reaction if the user already reacted, just like clicking the emoji on the message.
- Both picker and existing message reactions should follow the same toggle logic.
https://github.com/user-attachments/assets/51aaf56b-76b9-4c37-bb73-c7726905f685
Actual behavior:
- Clicking an emoji in the emoji picker that the user already reacted with has no effect -> the reaction is not removed.
- Clicking the same emoji directly on the message toggles correctly (removes reaction)
https://github.com/user-attachments/assets/58181b31-5cd7-4833-95b3-35cc13aff1ab
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with the emoji picker, then locate its click-handling path and compare it with the existing message-reaction toggle behavior. Verify that selecting an emoji the user already applied removes it in both paths, and add or update a regression test if the relevant test location is found.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100