diff --git a/src/packages/collaboration/lib/collaboration.coffee b/src/packages/collaboration/lib/collaboration.coffee index bf6d11167..59409bb29 100644 --- a/src/packages/collaboration/lib/collaboration.coffee +++ b/src/packages/collaboration/lib/collaboration.coffee @@ -8,22 +8,21 @@ ParticipantView = require './participant-view' module.exports = activate: -> hostView = null - loadedParticipants = {} if atom.getLoadSettings().sessionId session = atom.guestSession + for participant in session.getParticipants() + continue if participant.id == session.getId() + @createParticipant(session, participant) else session = new Session(site: window.site) @handleEvents(session) - session.on 'participants-changed', (participants) => - console.log 'participant', participants - for participant in participants - continue if participant.id == session.getId() - continue if participant.id of loadedParticipants - console.log 'adding', participant.id, participant - loadedParticipants[participant.id] = new ParticipantView(session, participant) - loadedParticipants[participant.id].attach() + session.on 'participant-entered', (participant) => + @createParticipant(session, participant) + + session.on 'participant-exited', (participant) => + console.error "Someone left" rootView.eachPane (pane) -> setTimeout -> @@ -31,6 +30,10 @@ module.exports = buttons.insertAfter(pane.find('.git-branch')) , 0 + createParticipant: (session, participant) -> + view = new ParticipantView(session, participant) + view.attach() + handleEvents: (session) -> copySessionId = -> sessionId = session.getId() diff --git a/src/packages/collaboration/lib/host-status-bar.coffee b/src/packages/collaboration/lib/host-status-bar.coffee index 53a7f66ac..7ca5220d0 100644 --- a/src/packages/collaboration/lib/host-status-bar.coffee +++ b/src/packages/collaboration/lib/host-status-bar.coffee @@ -17,9 +17,6 @@ class HostStatusBar extends View @session.on 'listening started stopped', @update @update() - #@hostSession.waitForStream (stream) => - # @video[0].src = URL.createObjectURL(stream) - update: => console.log 'updating', this if @session.isListening() diff --git a/src/packages/collaboration/lib/session.coffee b/src/packages/collaboration/lib/session.coffee index e436b6360..d2455507d 100644 --- a/src/packages/collaboration/lib/session.coffee +++ b/src/packages/collaboration/lib/session.coffee @@ -13,7 +13,7 @@ class Session _.extend @prototype, require('event-emitter') constructor: ({@site, @id, @host, @port}) -> - @host ?= 'ec2-54-218-196-152.us-west-2.compute.amazonaws.com' + @host ?= 'localhost' @participants = [] @listening = false @@ -78,7 +78,10 @@ class Session createMediaConnection: -> guest = @doc.get('collaborationState.guest') host = @doc.get('collaborationState.host') - new MediaConnection(guest, host, isLeader: @isLeader()) + if @isLeader() + new MediaConnection(guest, host, isLeader: true) + else + new MediaConnection(host, guest) waitForStream: (callback) -> @mediaConnection.waitForStream callback