X-Git-Url: https://git.r.bdr.sh/rbdr/junction/blobdiff_plain/4757c4616d5d7106cd023f06e5e5ba04d01bbb07..d4fb48eb3793a93a8726652692b68592333dd778:/extension/content_script.js diff --git a/extension/content_script.js b/extension/content_script.js index 4a6c7e6..a9d713d 100644 --- a/extension/content_script.js +++ b/extension/content_script.js @@ -1,7 +1,14 @@ (() => { + const io = require('socket.io-client'); + const internals = { + + kSocketUrl: 'http://unlimited.pizza:8000/', + port: null, + socket: null, + peers: 0, onMessage(message) { internals[message.action](message.data); @@ -11,6 +18,35 @@ try { const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true }); + + internals.socket = io(socketUrl); + + internals.socket.on('connect', function() { + + console.log("Connected to signaling server"); + internals.socket.emit('join', { + 'url': currentUrl, + }); + }); + + internals.socket.on('disconnect', function() { + + console.log("disconnected from signaling server"); + }); + + internals.socket.on('addPeer', function(data) { + + console.log(data); + internals.peers++; + console.log(`There are now ${internals.peers} participants`); + }); + + internals.socket.on('removePeer', function() { + + internals.peers--; + console.log(`There are now ${internals.peers} participants`); + }); + internals.createAudioElement(data.tada); } catch (err) { @@ -25,6 +61,7 @@ hangUp() { document.querySelectorAll('.junction-call-audio').forEach((audioElement) => audioElement.remove()); + internals.socket.close(); internals.port.disconnect(); },