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:
Diffstat (limited to 'src/utils/signaling.js')
-rw-r--r--src/utils/signaling.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/utils/signaling.js b/src/utils/signaling.js
index 6749f0c96..746fe7dbf 100644
--- a/src/utils/signaling.js
+++ b/src/utils/signaling.js
@@ -569,6 +569,7 @@ Signaling.Standalone.prototype.connect = function() {
this.pendingMessages = []
this.connected = false
this._forceReconnect = false
+ this._isRejoiningConversationWithNewSession = false
this.socket = new WebSocket(this.url)
window.signalingSocket = this.socket
this.socket.onopen = function(event) {
@@ -725,6 +726,8 @@ Signaling.Standalone.prototype.forceReconnect = function(newSession, flags) {
this.leaveCall(this.currentCallToken, true)
}
+ this._isRejoiningConversationWithNewSession = true
+
rejoinConversation(this.currentRoomToken)
.then(response => {
this.nextcloudSessionId = response.data.ocs.data.sessionId
@@ -1123,6 +1126,10 @@ Signaling.Standalone.prototype.processRoomListEvent = function(data) {
switch (data.event.type) {
case 'disinvite':
if (data.event.disinvite.roomid === this.currentRoomToken) {
+ if (this._isRejoiningConversationWithNewSession) {
+ console.debug('Rejoining conversation with new session, "disinvite" message ignored')
+ return
+ }
console.error('User or session was removed from the conversation, redirecting')
EventBus.$emit('duplicateSessionDetected')
break