Client: Members: Fix infinite loading after removing member

This commit is contained in:
Aleksandr Lushkin 2024-05-28 18:14:00 +02:00
parent 5fa18224d2
commit 10153170a1
2 changed files with 16 additions and 2 deletions

View File

@ -144,11 +144,19 @@ const User = ({
newMembersFilter.total -= 1;
if (hasNextPage) {
const oldStartIndex = newMembersFilter.startIndex;
const oldPageCount = newMembersFilter.pageCount;
newMembersFilter.startIndex =
(newMembersFilter.page + 1) * newMembersFilter.pageCount - 1;
newMembersFilter.pageCount = 1;
const fetchedMembers = await fetchMembers(t, false);
const fetchedMembers = await fetchMembers(
t,
false,
withoutTitles,
newMembersFilter,
);
const newMembers = {
administrators: [
@ -164,6 +172,9 @@ const User = ({
roomId: infoPanelSelection.id,
...newMembers,
});
newMembersFilter.startIndex = oldStartIndex;
newMembersFilter.pageCount = oldPageCount;
}
setMembersFilter(newMembersFilter);

View File

@ -619,6 +619,7 @@ class InfoPanelStore {
t,
clearFilter = true,
withoutTitlesAndLinks = false,
membersFilter,
) => {
if (this.membersIsLoading) return;
const roomId = this.infoPanelSelection.id;
@ -626,7 +627,9 @@ class InfoPanelStore {
const isPublic =
this.infoPanelSelection?.roomType ?? this.infoPanelSelection?.roomType;
const requests = [this.filesStore.getRoomMembers(roomId, clearFilter)];
const requests = [
this.filesStore.getRoomMembers(roomId, clearFilter, membersFilter),
];
if (
isPublic &&