RocketChat / RocketChat/Rocket.Chat
Message reactions in DMs do not trigger notifications or unread indicators (UX Improvement)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Why this is important
Reactions (especially 👍/👎) are often used as quick confirmations in DMs.
Right now, Rocket.Chat doesn’t notify the sender when someone reacts. There’s no badge or unread indicator either. So unless you manually check the conversation again, it’s easy to miss.
In practice this causes confusion:
- You think your message wasn’t seen
- The other side thinks they already confirmed
- Follow-ups get delayed or duplicated
We’ve already seen this happen internally.
Other messaging apps like Telegram and WhatsApp treat reactions as notification events for this exact reason, they often replace a reply.
Telegram: Unread Replies, Mentions and Reactions.
Also, reactions like 👍 can carry real meaning (confirmation/agreement). There was even a case where a 👍 was considered a valid acceptance in a contract (Canadian thumbs-up emoji contract ruling).
So this isn’t just a UI detail, missing these signals can break communication flow.
Proposed UX
Introduce a visual signal (e.g. a small heart/reaction indicator) that behaves similar to unread messages when someone reacts.
This could initially apply to DMs only to avoid noise, with the option to extend it to discussions/channels or make it configurable.
Contributor guide
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
The issue names no files or tests. Start by tracing the existing DM reaction flow alongside notification and unread-indicator behavior. Define the initial DM-only UX, then verify that a reaction produces the agreed notification and visual unread signal without extending the change to channels or discussions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100