RocketChat / RocketChat/Rocket.Chat.ReactNative
bug: Messages not marked as read when new message arrives in active room
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.4k
- Forks
- 1.5k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 90
Description
Describe the Bug
When a new message arrived in a room the user was actively viewing, the unread count and read status were not being updated. The user had to leave and re-enter the room to trigger the read receipt.
Steps to Reproduce
- Open a room with another user/device
- Have the other user send a message while you are actively viewing the room
- Before: unread badge/count does not clear; read receipt not sent until you navigate away and back
- After: message is marked as read immediately upon arrival
Expected Behavior
message read status should be updated if user is in subscribed room
Actual Behavior
message read status not updating if user is in same room, he has to go back and enter again to update read status
Screenshots
https://github.com/user-attachments/assets/5825671a-1ea0-4d1b-8dff-10526fb4aabc
Rocket.Chat Server Version
8.13-develop
Rocket.Chat App Version
4.72.0
Device Name
iPhone 17 pro simulator
OS Version
iOS 26
Additional Context
this is happening because of missing resolve() block in updateMessage() in RoomSubscription which is making it to hung forever
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
Start in the RoomSubscription implementation and inspect updateMessage(), focusing on the missing resolve() block described in the issue. Reproduce the case by receiving a message while viewing a subscribed room, then verify that the unread count clears and the read receipt is sent immediately without leaving and re-entering the room.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 74/100