         @emit "WorkspaceSyncedWithRemote"
         @emit "SomeoneJoinedToSession", KD.nick() if isOldSession
 
-      if @amIHost()
-      then cb()
+      if @amIHost() then cb()
       else
         @pingHost (status) =>
-          return  unless status is "online"
-          cb()
+          cb()  if status is "online"
 
     @usersRef.on "child_added", (snapshot) =>
       @fetchUsers()
 
     @usersRef.on "child_changed", (snapshot) =>
       name = snapshot.name()
-      if @amIHost() and snapshot.val() is "offline"
+      if @amIHost() and snapshot.val()?.status is "offline"
         message = "#{name} has left the session"
 
         @broadcastMessage


    @watchRef.on "value", (snapshot) =>
      @watchMap = snapshot.val() or {}

  fetchUsers: ->
    @workspaceRef.once "value", (snapshot) =>

        @addToHistory { message: record, by: KD.nick() }
        @watchRef.child(@nickname).set "everybody"
        @sessionKeysRef.child(@nickname).set @sessionKey
        @userRef.child("status").set "online"

        @loader.destroy()
        @chatView?.show()
