From 4f241b32d0c33b19d9dba81683bd659ecd6bd7e1 Mon Sep 17 00:00:00 2001 From: Gerzon Z Date: Thu, 16 Sep 2021 12:26:05 -0400 Subject: [PATCH 1/2] [IMPROVE] Fetch members from API endpoint (#3351) Co-authored-by: Diego Mello --- app/lib/rocketchat.js | 15 +++++++++++++-- app/views/RoomMembersView/index.js | 22 ++++++++++++++++++---- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/app/lib/rocketchat.js b/app/lib/rocketchat.js index 14f85740a..a1ae43fb2 100644 --- a/app/lib/rocketchat.js +++ b/app/lib/rocketchat.js @@ -1039,11 +1039,22 @@ const RocketChat = { } return this.post('subscriptions.read', { rid: roomId }); }, - getRoomMembers(rid, allUsers, skip = 0, limit = 10) { + getRoomMembers({ rid, allUsers, roomType, type, filter, skip = 0, limit = 10 }) { + const serverVersion = reduxStore.getState().server.version; + if (compareServerVersion(serverVersion, '3.16.0', methods.greaterThanOrEqualTo)) { + const params = { + roomId: rid, + offset: skip, + count: limit, + ...(type !== 'all' && { 'status[]': type }), + ...(filter && { filter }) + }; + // RC 3.16.0 + return this.sdk.get(`${this.roomTypeToApiType(roomType)}.members`, params); + } // RC 0.42.0 return this.methodCallWrapper('getUsersOfRoom', rid, allUsers, { skip, limit }); }, - methodCallWrapper(method, ...params) { const { API_Use_REST_For_DDP_Calls } = reduxStore.getState().settings; if (API_Use_REST_For_DDP_Calls) { diff --git a/app/views/RoomMembersView/index.js b/app/views/RoomMembersView/index.js index f98b27739..c4a5ca7ab 100644 --- a/app/views/RoomMembersView/index.js +++ b/app/views/RoomMembersView/index.js @@ -70,6 +70,7 @@ class RoomMembersView extends React.Component { super(props); this.mounted = false; this.MUTE_INDEX = 0; + this.permissions = {}; const rid = props.route.params?.rid; const room = props.route.params?.room; this.state = { @@ -96,10 +97,14 @@ class RoomMembersView extends React.Component { } async componentDidMount() { + const { room } = this.state; this.mounted = true; this.fetchMembers(); - const { room } = this.state; + if (RocketChat.isGroupChat(room)) { + return; + } + const { muteUserPermission, setLeaderPermission, @@ -427,15 +432,24 @@ class RoomMembersView extends React.Component { }; fetchMembers = async () => { - const { rid, members, isLoading, allUsers, end } = this.state; + const { rid, members, isLoading, allUsers, end, room, filtering } = this.state; + const { t } = room; + let newMembers; if (isLoading || end) { return; } this.setState({ isLoading: true }); try { - const membersResult = await RocketChat.getRoomMembers(rid, allUsers, members.length, PAGE_SIZE); - const newMembers = membersResult.records; + const membersResult = await RocketChat.getRoomMembers({ + rid, + roomType: t, + type: allUsers ? 'all' : 'online', + filter: filtering, + skip: members.length, + limit: PAGE_SIZE + }); + newMembers = membersResult.members; this.setState({ members: members.concat(newMembers || []), isLoading: false, From 4eb42d70b938a0e784e28ad05f6c9099cf650aec Mon Sep 17 00:00:00 2001 From: "lingohub[bot]" <69908207+lingohub[bot]@users.noreply.github.com> Date: Fri, 17 Sep 2021 09:48:49 -0300 Subject: [PATCH 2/2] =?UTF-8?q?Language=20update=20from=20LingoHub=20?= =?UTF-8?q?=F0=9F=A4=96=20(#3374)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Project Name: Rocket.Chat.ReactNative Project Link: https://translate.lingohub.com/rocketchat/dashboard/rocket-dot-chat-dot-reactnative User: Robot LingoHub Easy language translations with LingoHub 🚀 Co-authored-by: Robot LingoHub Co-authored-by: Diego Mello --- app/i18n/locales/de.json | 6 +++++- app/i18n/locales/fr.json | 6 +++++- app/i18n/locales/nl.json | 6 +++++- app/i18n/locales/ru.json | 16 ++++++++++------ 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/app/i18n/locales/de.json b/app/i18n/locales/de.json index 46885974e..55b32c1fe 100644 --- a/app/i18n/locales/de.json +++ b/app/i18n/locales/de.json @@ -762,11 +762,15 @@ "Load_More": "Mehr laden", "Load_Newer": "Neuere laden", "Load_Older": "Ältere laden", + "room-name-already-exists": "Raum-Name existiert bereits", + "error-team-creation": "Fehler bei der Erstellung des Teams", + "unauthorized": "Nicht erlaubt", "Left_The_Room_Successfully": "Raum erfolgreich verlassen", "Deleted_The_Team_Successfully": "Team erfolgreich gelöscht", "Deleted_The_Room_Successfully": "Raum erfolgreich gelöscht", "Convert_to_Channel": "In Kanal umwandeln", "Converting_Team_To_Channel": "Team in Kanal umwandeln", "Select_Team_Channels_To_Delete": "Wähle die Kanäle des Teams aus, die du löschen möchtest. Die Kanäle, die du nicht auswählst, werden in den Arbeitsbereich verschoben \n\nBeachte, dass öffentliche Kanäle öffentlich und für alle sichtbar sind.", - "You_are_converting_the_team": "Du wandelst dieses Team in einen Raum um" + "You_are_converting_the_team": "Du wandelst dieses Team in einen Raum um", + "creating_discussion": "erzeuge Diskussion" } diff --git a/app/i18n/locales/fr.json b/app/i18n/locales/fr.json index 630cd80c6..242a3e277 100644 --- a/app/i18n/locales/fr.json +++ b/app/i18n/locales/fr.json @@ -762,11 +762,15 @@ "Load_More": "Charger plus", "Load_Newer": "Charger plus récent", "Load_Older": "Charger plus ancien", + "room-name-already-exists": "Le nom du salon existe déjà", + "error-team-creation": "Erreur de création d'équipe", + "unauthorized": "Non autorisé", "Left_The_Room_Successfully": "A quitté le salon avec succès", "Deleted_The_Team_Successfully": "Equipe supprimée avec succès", "Deleted_The_Room_Successfully": "Salon supprimé avec succès", "Convert_to_Channel": "Convertir en canal", "Converting_Team_To_Channel": "Conversion de l’équipe en canal", "Select_Team_Channels_To_Delete": "Sélectionnez les canaux de l'équipe que vous souhaitez supprimer, ceux que vous ne sélectionnez pas, seront déplacés vers l'espace de travail. \n\n\nNotez que les canaux publics seront publics et visibles par tous.", - "You_are_converting_the_team": "Vous convertissez cette équipe en canal" + "You_are_converting_the_team": "Vous convertissez cette équipe en canal", + "creating_discussion": "créer une discussion" } diff --git a/app/i18n/locales/nl.json b/app/i18n/locales/nl.json index ffe4ee38d..33acb243b 100644 --- a/app/i18n/locales/nl.json +++ b/app/i18n/locales/nl.json @@ -762,11 +762,15 @@ "Load_More": "Meer laden", "Load_Newer": "Nieuwer laden", "Load_Older": "Ouder laden", + "room-name-already-exists": "Kamernaam bestaat al", + "error-team-creation": "Fout bij het aanmaken van team", + "unauthorized": "Onbevoegd", "Left_The_Room_Successfully": "Heeft kamer met succes verlaten", "Deleted_The_Team_Successfully": "Team succesvol verwijderd", "Deleted_The_Room_Successfully": "Kamer succesvol verwijderd", "Convert_to_Channel": "Converteren naar kanaal", "Converting_Team_To_Channel": "Team converteren naar kanaal", "Select_Team_Channels_To_Delete": "Selecteer de teamkanalen die je wilt verwijderen, de kanalen die u niet selecteert, worden naar de werkruimte verplaatst.\n\nMerk op dat openbare kanalen openbaar en voor iedereen zichtbaar zullen zijn.", - "You_are_converting_the_team": "Je converteert dit team naar een kanaal" + "You_are_converting_the_team": "Je converteert dit team naar een kanaal", + "creating_discussion": "discussie aanmaken" } diff --git a/app/i18n/locales/ru.json b/app/i18n/locales/ru.json index 4a5b55186..359aadf99 100644 --- a/app/i18n/locales/ru.json +++ b/app/i18n/locales/ru.json @@ -14,7 +14,7 @@ "error-delete-protected-role": "Не удается удалить защищенную роль", "error-department-not-found": "Отдел не найден", "error-direct-message-file-upload-not-allowed": "Общий доступ к файлам не разрешен в личных сообщениях", - "error-duplicate-channel-name": "Канал с именем {{channel_name}} существует", + "error-duplicate-channel-name": "Канал с именем {{room_name}} существует", "error-email-domain-blacklisted": "Домен электронной почты включен в черный список", "error-email-send-failed": "Ошибка при попытке отправить электронное письмо: {{message}}", "error-save-image": "Ошибка при попытке сохранить изображение", @@ -74,7 +74,7 @@ "error-user-is-not-activated": "Пользователь не активирован", "error-user-has-no-roles": "Пользователь не имеет ролей", "error-user-limit-exceeded": "Количество пользователей, которых вы пытаетесь пригласить на #channel_name, превышает лимит, установленный администратором", - "error-user-not-in-room": "Пользователя нет на этом канале", + "error-user-not-in-room": "Пользователя нет на этом чате", "error-user-registration-custom-field": "error-user-registration-custom-field", "error-user-registration-disabled": "Регистрация пользователей отключена", "error-user-registration-secret": "Регистрация пользователей разрешена только через секретный URL", @@ -195,7 +195,7 @@ "Disable_notifications": "Отключить уведомления", "Discussions": "Обсуждения", "Discussion_Desc": "Помогают разобраться в том, что происходит! При создании Обсуждения, суб-канала одного из выбранных вами каналов так же создается и привязка к нему.", - "Discussion_name": "Имя Обсуждения", + "Discussion_name": "Имя обсуждения", "Done": "Готово", "Dont_Have_An_Account": "Нет аккаунта?", "Do_you_have_an_account": "У вас есть аккаунт?", @@ -515,8 +515,8 @@ "starred": "отмечено", "Starred": "Отмечено", "Start_of_conversation": "Начало разговора", - "Start_a_Discussion": "Начать Обсуждение", - "Started_discussion": "Началось обсуждение :", + "Start_a_Discussion": "Начать обсуждение", + "Started_discussion": "Началось обсуждение:", "Started_call": "Звонок, начат {{userBy}}", "Submit": "Отправить", "Table": "Таблица", @@ -762,11 +762,15 @@ "Load_More": "Загрузить еще", "Load_Newer": "Загрузить более позднее", "Load_Older": "Загрузить более раннее", + "room-name-already-exists": "Имя чата уже существует", + "error-team-creation": "Ошибка создания Команды", + "unauthorized": "Неавторизованный", "Left_The_Room_Successfully": "Успешно покинул комнату", "Deleted_The_Team_Successfully": "Команда успешно удалена", "Deleted_The_Room_Successfully": "Комната успешно удалена", "Convert_to_Channel": "Преобразовать в канал", "Converting_Team_To_Channel": "Преобразование Команды в канал", "Select_Team_Channels_To_Delete": "Выберите каналы Команды, которые вы хотите удалить, те, которые вы не выбрали, будут перемещены в рабочую область \n\nОбратите внимание, что публичные каналы будут открытыми и видимыми для всех.", - "You_are_converting_the_team": "Вы преобразуете эту Команду в канал" + "You_are_converting_the_team": "Вы преобразуете эту Команду в канал", + "creating_discussion": "создание обсуждения" }