Unverified Commit 5bb5d543 authored by Reinaldo Neto's avatar Reinaldo Neto Committed by GitHub
Browse files

[FIX] Fetch members on RoomMembersView (#3403)



* [FIX] Fetch members on RoomMembersView

* needed to add a conditional to the response

* result back properly from rocketchat lib

Co-authored-by: default avatarDiego Mello <diegolmello@gmail.com>
parent c5df9387
...@@ -1039,7 +1039,7 @@ const RocketChat = { ...@@ -1039,7 +1039,7 @@ const RocketChat = {
} }
return this.post('subscriptions.read', { rid: roomId }); return this.post('subscriptions.read', { rid: roomId });
}, },
getRoomMembers({ rid, allUsers, roomType, type, filter, skip = 0, limit = 10 }) { async getRoomMembers({ rid, allUsers, roomType, type, filter, skip = 0, limit = 10 }) {
const serverVersion = reduxStore.getState().server.version; const serverVersion = reduxStore.getState().server.version;
if (compareServerVersion(serverVersion, '3.16.0', methods.greaterThanOrEqualTo)) { if (compareServerVersion(serverVersion, '3.16.0', methods.greaterThanOrEqualTo)) {
const params = { const params = {
...@@ -1050,10 +1050,12 @@ const RocketChat = { ...@@ -1050,10 +1050,12 @@ const RocketChat = {
...(filter && { filter }) ...(filter && { filter })
}; };
// RC 3.16.0 // RC 3.16.0
return this.sdk.get(`${this.roomTypeToApiType(roomType)}.members`, params); const result = await this.sdk.get(`${this.roomTypeToApiType(roomType)}.members`, params);
return result?.members;
} }
// RC 0.42.0 // RC 0.42.0
return this.methodCallWrapper('getUsersOfRoom', rid, allUsers, { skip, limit }); const result = await this.methodCallWrapper('getUsersOfRoom', rid, allUsers, { skip, limit });
return result?.records;
}, },
methodCallWrapper(method, ...params) { methodCallWrapper(method, ...params) {
const { API_Use_REST_For_DDP_Calls } = reduxStore.getState().settings; const { API_Use_REST_For_DDP_Calls } = reduxStore.getState().settings;
......
...@@ -434,7 +434,6 @@ class RoomMembersView extends React.Component { ...@@ -434,7 +434,6 @@ class RoomMembersView extends React.Component {
fetchMembers = async () => { fetchMembers = async () => {
const { rid, members, isLoading, allUsers, end, room, filtering } = this.state; const { rid, members, isLoading, allUsers, end, room, filtering } = this.state;
const { t } = room; const { t } = room;
let newMembers;
if (isLoading || end) { if (isLoading || end) {
return; return;
} }
...@@ -449,11 +448,10 @@ class RoomMembersView extends React.Component { ...@@ -449,11 +448,10 @@ class RoomMembersView extends React.Component {
skip: members.length, skip: members.length,
limit: PAGE_SIZE limit: PAGE_SIZE
}); });
newMembers = membersResult.members;
this.setState({ this.setState({
members: members.concat(newMembers || []), members: members.concat(membersResult || []),
isLoading: false, isLoading: false,
end: newMembers.length < PAGE_SIZE end: membersResult?.length < PAGE_SIZE
}); });
this.setHeader(); this.setHeader();
} catch (e) { } catch (e) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment