     me.space = sb['tawk/space']
     me.video = video
     me.audio = audio
+
+  if not janus_initialized
+    initialize_janus
+      my_id: me.id
+      my_space: sb['tawk/space']
+      audio: true
+      video: true
+    janus_initialized = true
+
+  if not Janus.isWebrtcSupported() or Janus.webRTCAdapter.browserDetails.browser not in ['chrome', 'firefox']
+    return DIV {}, 'Tawk is only supported in Google Chrome or Mozilla Firefox'
+
+  if @props.height && @props.height != sb['tawk/height']
+    sb['tawk/height'] = @props.height
+  if @props.width && @props.width != sb['tawk/width']
+    sb['tawk/width'] = @props.width
+  sb['tawk/scratch_disabled'] = !!@props.scratch_disabled
 
   chats_served = sb['tawk/chats_served']
   if chats_served

plugin_handle = null
streams = {}

###############################################################################
# Client Bus (all state prefixed with tawk/)

                  room: 1234
                  ptype: "publisher"
                  display: JSON.stringify
                    id: my_id
                    space: my_space
            onmessage: (msg, jsep) ->
              # Janus is informing us of publishers we do not know about
              publishers = msg["publishers"] or []
              for feed in publishers
                {id, space} = JSON.parse feed.display
                if space == my_space
                  new_remote_feed janus, feed

              # The plugin_handle.send call to join as a publisher succeeded.
