diff options
author | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2020-05-18 04:22:34 +0300 |
---|---|---|
committer | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2020-05-19 06:09:44 +0300 |
commit | 533bd5fc04cc0adf224a88b540be7c49757f2742 (patch) | |
tree | d674b275b68b5924ed444ec3b7e479a2aa37a0fc /src/FilesSidebarTabApp.vue | |
parent | fb4191e5bcbe3cc3ad99f27a16023412671d8ed9 (diff) |
Do not fetch all conversations on room participants update events
The room participants update events are sent by the external signaling
server:
-When a user resumes the session
-When an internal client joins or leaves the conversation
-When the BackendNotifier sends a "participants" event (that is, when
the type of a participant changes, when the name of a guest changes or
when guests are cleaned)
-When the BackendNotifier sends a "incall" event (that is, when a
participant joins or leaves the call)
In all those cases it is not really needed to fetch all the
conversations to get the updated state, but only the current
conversation. Note that it is not enough to fetch just the participants,
as for example when a call is started that modifies some attributes in
the conversation, like "hasCall".
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'src/FilesSidebarTabApp.vue')
-rw-r--r-- | src/FilesSidebarTabApp.vue | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/FilesSidebarTabApp.vue b/src/FilesSidebarTabApp.vue index a94212f3a..e2ee8b8e8 100644 --- a/src/FilesSidebarTabApp.vue +++ b/src/FilesSidebarTabApp.vue @@ -184,6 +184,7 @@ export default { // a call) is currently used. if (loadState('talk', 'signaling_mode') !== 'internal') { EventBus.$on('shouldRefreshConversations', OCA.Talk.fetchCurrentConversationWrapper) + EventBus.$on('Signaling::participantListChanged', OCA.Talk.fetchCurrentConversationWrapper) } else { // The "shouldRefreshConversations" event is triggered only when // the external signaling server is used; when the internal @@ -195,6 +196,7 @@ export default { leaveConversation() { EventBus.$off('shouldRefreshConversations', OCA.Talk.fetchCurrentConversationWrapper) + EventBus.$off('Signaling::participantListChanged', OCA.Talk.fetchCurrentConversationWrapper) window.clearInterval(OCA.Talk.fetchCurrentConversationIntervalId) // Remove the conversation to ensure that the old data is not used |