RocketChat / RocketChat/Rocket.Chat.ReactNative

bug: Messages not marked as read when new message arrives in active room

Open Beginner friendly
#7,087 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🐛 bug type: bug
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
  1. Open a room with another user/device
  2. Have the other user send a message while you are actively viewing the room
  3. Before: unread badge/count does not clear; read receipt not sent until you navigate away and back
  4. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.