Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--l10n/sk.js3
-rw-r--r--l10n/sk.json3
-rw-r--r--l10n/zh_HK.js3
-rw-r--r--l10n/zh_HK.json3
-rw-r--r--lib/Signaling/Listener.php35
-rw-r--r--src/mixins/getParticipants.js5
-rw-r--r--src/store/conversationsStore.js5
7 files changed, 47 insertions, 10 deletions
diff --git a/l10n/sk.js b/l10n/sk.js
index df3fa8ad5..9e072445c 100644
--- a/l10n/sk.js
+++ b/l10n/sk.js
@@ -47,6 +47,7 @@ OC.L10N.register(
"The command does not exist" : "Príkaz neexistuje",
"An error occurred while running the command. Please ask an administrator to check the logs." : "Pri spustení príkazu sa vyskytla chyba. Požiadajte správcu o kontrolu protokolov.",
"Talk updates ✅" : "Aktualizácie Talk-u ✅",
+ "Reaction deleted by author" : "Reakcia bola vymazaná autorom",
"{actor} created the conversation" : "Používateľ {actor} vytvoril rozhovor",
"You created the conversation" : "Vytvorili ste rozhovor",
"An administrator created the conversation" : "Administrátor vytvoril rozhovor.",
@@ -148,6 +149,8 @@ OC.L10N.register(
"You stopped Matterbridge" : "Zastavili ste Matterbridge",
"{actor} deleted a message" : "{actor} zmazal správu",
"You deleted a message" : "Zmazali ste správu",
+ "{actor} deleted a reaction" : "{actor} vymazal reakciu",
+ "You deleted a reaction" : "Vymazali ste reakciu",
"{actor} cleared the history of the conversation" : "{actor} vyčistil históriu konverzácie",
"You cleared the history of the conversation" : "Vyčistili ste históriu konverzácie",
"Message deleted by author" : "Správa vymazaná autorom",
diff --git a/l10n/sk.json b/l10n/sk.json
index 70fe4e804..c6966f67a 100644
--- a/l10n/sk.json
+++ b/l10n/sk.json
@@ -45,6 +45,7 @@
"The command does not exist" : "Príkaz neexistuje",
"An error occurred while running the command. Please ask an administrator to check the logs." : "Pri spustení príkazu sa vyskytla chyba. Požiadajte správcu o kontrolu protokolov.",
"Talk updates ✅" : "Aktualizácie Talk-u ✅",
+ "Reaction deleted by author" : "Reakcia bola vymazaná autorom",
"{actor} created the conversation" : "Používateľ {actor} vytvoril rozhovor",
"You created the conversation" : "Vytvorili ste rozhovor",
"An administrator created the conversation" : "Administrátor vytvoril rozhovor.",
@@ -146,6 +147,8 @@
"You stopped Matterbridge" : "Zastavili ste Matterbridge",
"{actor} deleted a message" : "{actor} zmazal správu",
"You deleted a message" : "Zmazali ste správu",
+ "{actor} deleted a reaction" : "{actor} vymazal reakciu",
+ "You deleted a reaction" : "Vymazali ste reakciu",
"{actor} cleared the history of the conversation" : "{actor} vyčistil históriu konverzácie",
"You cleared the history of the conversation" : "Vyčistili ste históriu konverzácie",
"Message deleted by author" : "Správa vymazaná autorom",
diff --git a/l10n/zh_HK.js b/l10n/zh_HK.js
index 8c784612e..bf8cc4fa7 100644
--- a/l10n/zh_HK.js
+++ b/l10n/zh_HK.js
@@ -47,6 +47,7 @@ OC.L10N.register(
"The command does not exist" : "該指令不存在",
"An error occurred while running the command. Please ask an administrator to check the logs." : "運行指令時發生錯誤。請要求管理員檢查日誌。",
"Talk updates ✅" : "Talk 更新 ✅",
+ "Reaction deleted by author" : "反應被作者刪除",
"{actor} created the conversation" : "{actor} 建立了對話",
"You created the conversation" : "你建立了對話",
"An administrator created the conversation" : "管理員建立了對話",
@@ -148,6 +149,8 @@ OC.L10N.register(
"You stopped Matterbridge" : "您停止了 Matterbridge",
"{actor} deleted a message" : "{actor} 刪除了訊息",
"You deleted a message" : "您刪除了訊息",
+ "{actor} deleted a reaction" : "{actor} 刪除了反應",
+ "You deleted a reaction" : "您刪除了反應",
"{actor} cleared the history of the conversation" : "{actor} 清除了對話的歷史記錄",
"You cleared the history of the conversation" : "你清除了對話的歷史記錄",
"Message deleted by author" : "訊息被作者刪除",
diff --git a/l10n/zh_HK.json b/l10n/zh_HK.json
index 92f22b843..c75b4992d 100644
--- a/l10n/zh_HK.json
+++ b/l10n/zh_HK.json
@@ -45,6 +45,7 @@
"The command does not exist" : "該指令不存在",
"An error occurred while running the command. Please ask an administrator to check the logs." : "運行指令時發生錯誤。請要求管理員檢查日誌。",
"Talk updates ✅" : "Talk 更新 ✅",
+ "Reaction deleted by author" : "反應被作者刪除",
"{actor} created the conversation" : "{actor} 建立了對話",
"You created the conversation" : "你建立了對話",
"An administrator created the conversation" : "管理員建立了對話",
@@ -146,6 +147,8 @@
"You stopped Matterbridge" : "您停止了 Matterbridge",
"{actor} deleted a message" : "{actor} 刪除了訊息",
"You deleted a message" : "您刪除了訊息",
+ "{actor} deleted a reaction" : "{actor} 刪除了反應",
+ "You deleted a reaction" : "您刪除了反應",
"{actor} cleared the history of the conversation" : "{actor} 清除了對話的歷史記錄",
"You cleared the history of the conversation" : "你清除了對話的歷史記錄",
"Message deleted by author" : "訊息被作者刪除",
diff --git a/lib/Signaling/Listener.php b/lib/Signaling/Listener.php
index 9a62be582..dc47a3829 100644
--- a/lib/Signaling/Listener.php
+++ b/lib/Signaling/Listener.php
@@ -70,6 +70,7 @@ class Listener {
$dispatcher->addListener(Room::EVENT_AFTER_SESSION_JOIN_CALL, $listener);
$dispatcher->addListener(Room::EVENT_AFTER_SESSION_UPDATE_CALL_FLAGS, $listener);
$dispatcher->addListener(Room::EVENT_AFTER_SESSION_LEAVE_CALL, $listener);
+ $dispatcher->addListener(Room::EVENT_AFTER_PERMISSIONS_SET, $listener);
$dispatcher->addListener(GuestManager::EVENT_AFTER_NAME_UPDATE, $listener);
$listener = static function (ParticipantEvent $event): void {
@@ -160,6 +161,40 @@ class Listener {
$dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_TYPE_SET, $listener);
$dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_PERMISSIONS_SET, $listener);
+ $dispatcher->addListener(Room::EVENT_AFTER_PERMISSIONS_SET, static function (RoomEvent $event) {
+ if (self::isUsingInternalSignaling()) {
+ return;
+ }
+
+ /** @var BackendNotifier $notifier */
+ $notifier = \OC::$server->get(BackendNotifier::class);
+
+ $sessionIds = [];
+
+ // Setting the room permissions resets the permissions of all
+ // participants, even those with custom attendee permissions.
+
+ // FIXME This approach does not scale, as the update message for all
+ // the sessions in a conversation can exceed the allowed size of the
+ // request in conversations with a large number of participants.
+ // However, note that a single message with the general permissions
+ // to be set on all participants can not be sent either, as the
+ // general permissions could be overriden by custom attendee
+ // permissions in specific participants.
+
+ /** @var ParticipantService $participantService */
+ $participantService = \OC::$server->get(ParticipantService::class);
+ $participants = $participantService->getSessionsAndParticipantsForRoom($event->getRoom());
+ foreach ($participants as $participant) {
+ $session = $participant->getSession();
+ if ($session) {
+ $sessionIds[] = $session->getSessionId();
+ }
+ }
+
+ $notifier->participantsModified($event->getRoom(), $sessionIds);
+ });
+
$dispatcher->addListener(Room::EVENT_BEFORE_ROOM_DELETE, static function (RoomEvent $event) {
if (self::isUsingInternalSignaling()) {
return;
diff --git a/src/mixins/getParticipants.js b/src/mixins/getParticipants.js
index fc9352d15..25070b962 100644
--- a/src/mixins/getParticipants.js
+++ b/src/mixins/getParticipants.js
@@ -59,9 +59,6 @@ const getParticipants = {
EventBus.$on('route-change', this.onRouteChange)
EventBus.$on('joined-conversation', this.onJoinedConversation)
- EventBus.$on('conversation-permissions-changed', this.debounceUpdateParticipants)
- EventBus.$on('call-permissions-changed', this.debounceUpdateParticipants)
-
// FIXME this works only temporary until signaling is fixed to be only on the calls
// Then we have to search for another solution. Maybe the room list which we update
// periodically gets a hash of all online sessions?
@@ -71,8 +68,6 @@ const getParticipants = {
stopGetParticipantsMixin() {
EventBus.$off('route-change', this.onRouteChange)
EventBus.$off('joined-conversation', this.onJoinedConversation)
- EventBus.$off('conversation-permissions-changed', this.debounceUpdateParticipants)
- EventBus.$off('call-permissions-changed', this.debounceUpdateParticipants)
EventBus.$off('signaling-participant-list-changed', this.debounceUpdateParticipants)
},
diff --git a/src/store/conversationsStore.js b/src/store/conversationsStore.js
index 5686a5db9..27dd0ecbd 100644
--- a/src/store/conversationsStore.js
+++ b/src/store/conversationsStore.js
@@ -43,7 +43,6 @@ import {
} from '../services/conversationsService'
import { getCurrentUser } from '@nextcloud/auth'
import { CONVERSATION, WEBINAR, PARTICIPANT } from '../constants'
-import { EventBus } from '../services/EventBus'
const DUMMY_CONVERSATION = {
token: '',
@@ -492,15 +491,11 @@ const actions = {
async setConversationPermissions(context, { token, permissions }) {
await setConversationPermissions(token, permissions)
context.commit('setConversationPermissions', { token, permissions })
-
- EventBus.$emit('conversation-permissions-changed')
},
async setCallPermissions(context, { token, permissions }) {
await setCallPermissions(token, permissions)
context.commit('setCallPermissions', { token, permissions })
-
- EventBus.$emit('call-permissions-changed')
},
}