From 9753a63227450047529b689998e808f1e07feb7c Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Sat, 27 Jul 2013 11:53:11 -0700 Subject: [PATCH] Trigger connected event for local media connection to self Also upgrade atom-collaboration-server --- .../collaboration/lib/media-connection.coffee | 1 + .../spec/collaboration-spec.coffee | 26 +++++++++++++++++++ .../vendor/atom-collaboration-server | 2 +- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/packages/collaboration/lib/media-connection.coffee b/src/packages/collaboration/lib/media-connection.coffee index afe6abfb5..233092d9a 100644 --- a/src/packages/collaboration/lib/media-connection.coffee +++ b/src/packages/collaboration/lib/media-connection.coffee @@ -8,6 +8,7 @@ class MediaConnection constructor: (@remoteParticipant) -> if @remoteParticipant.isSelf() @inboundStreamPromise = @createStreamPromise() + @inboundStreamPromise.done => @trigger 'connected' else @inboundStreamPromise = $.Deferred() @remoteParticipant.on 'add-ice-candidate', (candidate) => diff --git a/src/packages/collaboration/spec/collaboration-spec.coffee b/src/packages/collaboration/spec/collaboration-spec.coffee index 3007faf9b..a58391f9c 100644 --- a/src/packages/collaboration/spec/collaboration-spec.coffee +++ b/src/packages/collaboration/spec/collaboration-spec.coffee @@ -155,3 +155,29 @@ describe "Collaboration", -> waitsFor "media stream to be established on leader and guest", (stream1Established, stream2Established) -> leaderGuestMediaConnection.getInboundStreamPromise().done(stream1Established) guestLeaderMediaConnection.getInboundStreamPromise().done(stream2Established) + + it "establishes a local media connection for each session participant", -> + [leaderSelfMediaConnection, guestSelfMediaConnection] = [] + + leaderSession.start() + waitsFor "leader session to start", -> leaderStartedHandler.callCount > 0 + + runs -> + leaderSelfMediaConnection = leaderSession.getSelfParticipant().mediaConnection + + waitsFor "leader self connection to be established", -> leaderSelfMediaConnection.isConnected() + + runs -> + token = 'octocat-token' + guestSession.start() + + waitsFor "leader to see guest enter", -> leaderParticipantEnteredHandler.callCount > 0 + + runs -> + guestSelfMediaConnection = guestSession.getSelfParticipant().mediaConnection + + waitsFor "guest self connection to be established", -> guestSelfMediaConnection.isConnected() + + waitsFor "local media streams to be established on leader and guest", (stream1Established, stream2Established) -> + leaderSelfMediaConnection.getInboundStreamPromise().done(stream1Established) + guestSelfMediaConnection.getInboundStreamPromise().done(stream2Established) diff --git a/src/packages/collaboration/vendor/atom-collaboration-server b/src/packages/collaboration/vendor/atom-collaboration-server index 0bf1ca0b5..e93d1d08b 160000 --- a/src/packages/collaboration/vendor/atom-collaboration-server +++ b/src/packages/collaboration/vendor/atom-collaboration-server @@ -1 +1 @@ -Subproject commit 0bf1ca0b5828aff0d0e4cc8510cc5902042daf5e +Subproject commit e93d1d08b4f6ad463250b1a34623dd4783e1b225