diff options
author | Joas Schilling <coding@schilljs.com> | 2017-11-02 17:25:13 +0300 |
---|---|---|
committer | Ivan Sein <ivan@struktur.de> | 2017-11-03 15:04:52 +0300 |
commit | 88b639ac2a280bfbc361d1b7bee585c238cf081f (patch) | |
tree | 234e7eae36d8d3d74d3372cce90544b166555b23 /js/webrtc.js | |
parent | eae71a3977068b578c590982c3b9ebacf9f23074 (diff) |
Fix the UI to correctly join the room and the call
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'js/webrtc.js')
-rw-r--r-- | js/webrtc.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/js/webrtc.js b/js/webrtc.js index b8de9df1a..4037f7ade 100644 --- a/js/webrtc.js +++ b/js/webrtc.js @@ -40,6 +40,10 @@ var spreedPeerConnectionTable = []; var currentSessionId = webrtc.connection.getSessionid(); newUsers.forEach(function(user) { + if (!user.inCall) { + return; + } + // TODO(fancycode): Adjust property name of internal PHP backend to be all lowercase. var sessionId = user.sessionId || user.sessionid; if (!sessionId || sessionId === currentSessionId || previousUsersInRoom.indexOf(sessionId) !== -1) { @@ -125,9 +129,15 @@ var spreedPeerConnectionTable = []; var currentSessionId = webrtc.connection.getSessionid(); var currentUsersInRoom = []; var userMapping = {}; + var selfInCall = false; users.forEach(function(user) { + if (!user['inCall']) { + return; + } + var sessionId = user['sessionId'] || user.sessionid; if (sessionId === currentSessionId) { + selfInCall = true; return; } @@ -135,6 +145,10 @@ var spreedPeerConnectionTable = []; userMapping[sessionId] = user; }); + if (!selfInCall) { + return; + } + var newSessionIds = currentUsersInRoom.diff(previousUsersInRoom); var disconnectedSessionIds = previousUsersInRoom.diff(currentUsersInRoom); var newUsers = []; @@ -643,9 +657,12 @@ var spreedPeerConnectionTable = []; } OCA.SpreedMe.webrtc.on('joinedRoom', function(name) { + OCA.SpreedMe.app.syncAndSetActiveRoom(name); + }); + + OCA.SpreedMe.webrtc.on('joinedCall', function() { $('#app-content').removeClass('icon-loading'); $('.videoView').removeClass('hidden'); - OCA.SpreedMe.app.syncAndSetActiveRoom(name); }); OCA.SpreedMe.webrtc.on('channelOpen', function(channel) { |