RocketChat / RocketChat/EmbeddedChat
Member list silently truncated at 100 — "Showing N of N" shows array length instead of actual total
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 165
- Forks
- 381
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 1
Description
getChannelMembers() in EmbeddedChatApi.ts:1082 calls /channels.members?roomId=X without count or offset parameters. Rocket.Chat defaults to returning 100 results per page, so rooms with more than 100 members silently lose the rest.
The Members sidebar then displays "Showing 100 of 100" because RoomMember.js:166 uses filteredMembers.length for both numbers — the actual usersCount from the /rooms.info response (already stored in channelInfo via Zustand) is never read.
This also affects the mention autocomplete (@ popup in ChatInput), which only searches the first 100 members.
Steps to reproduce:
- Join or create a room with more than 100 members
- Open the Members sidebar
- Observe "Showing 100 of 100" even though the room has more members
- Try to
@-mention a user beyond the first 100 — they won't appear in the autocomplete
Expected behavior:
The sidebar should show "Showing 100 of 350" (using channelInfo.usersCount for the total) and ideally paginate or fetch all members.
Actual behavior:
Shows "Showing 100 of 100". No indication that members are missing. Mention autocomplete can't find users beyond the first page.
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 with getChannelMembers() in EmbeddedChatApi.ts:1082 and RoomMember.js:166, then trace channelInfo from the /rooms.info response and the member data used by ChatInput mention autocomplete. Verify the member-fetch behavior for rooms over 100 users and the sidebar total; done means the total reflects usersCount and members beyond the first page can be found.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react
- Domain
- api, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 56/100