X-Git-Url: https://git.r.bdr.sh/rbdr/junction/blobdiff_plain/d4fb48eb3793a93a8726652692b68592333dd778..eadfca7b00e2fb48ffd6b2a0e06c2b6d7e427679:/extension/content_script.js?ds=sidebyside diff --git a/extension/content_script.js b/extension/content_script.js index a9d713d..70c085f 100644 --- a/extension/content_script.js +++ b/extension/content_script.js @@ -1,10 +1,14 @@ +'use strict'; + (() => { const io = require('socket.io-client'); + const Peers = require('./peers'); + const Media = require('./media'); const internals = { - kSocketUrl: 'http://unlimited.pizza:8000/', + kSocketUrl: 'https://junction.unlimited.pizza/', port: null, socket: null, @@ -16,16 +20,30 @@ async joinAudioCall(data) { + internals.tada = data.tada; // Keeping for fun + try { - const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true }); + const mediaStream = await Media.start(); + + internals.socket = io(internals.kSocketUrl, { + transports: ['websocket'] + }); + + internals.socket.on('error', function(error) { + + console.error('GENERAL ERROR', error); + }); - internals.socket = io(socketUrl); + internals.socket.on('connect_error', function(error) { + + console.error('CONNNECT ERROR', error); + }); internals.socket.on('connect', function() { - console.log("Connected to signaling server"); + console.log("Connected to signaling server, group: ", data.currentUrl); internals.socket.emit('join', { - 'url': currentUrl, + 'url': data.currentUrl, }); }); @@ -37,17 +55,15 @@ internals.socket.on('addPeer', function(data) { console.log(data); - internals.peers++; - console.log(`There are now ${internals.peers} participants`); + Peers.add('id-'+Peers.count(), internals.tada); + console.log(`There are now ${Peers.count()} participants`); }); internals.socket.on('removePeer', function() { - internals.peers--; - console.log(`There are now ${internals.peers} participants`); + Peers.remove('id-'+(Peers.count() - 1)); // This is only for testing, don't use count to remove ids. + console.log(`There are now ${Peers.count()} participants`); }); - - internals.createAudioElement(data.tada); } catch (err) { @@ -55,24 +71,15 @@ action: 'error' }); internals.port.disconnect(); - internals.createAudioElement(data.tada); } }, hangUp() { - document.querySelectorAll('.junction-call-audio').forEach((audioElement) => audioElement.remove()); + + Peers.reset(); + Media.stop(); internals.socket.close(); internals.port.disconnect(); - }, - - createAudioElement(source, type = 'audio/wav') { - - const audioElement = document.createElement('audio'); - audioElement.setAttribute('class', 'junction-call-audio'); - audioElement.src = source; - audioElement.autoplay = 'autoplay'; - audioElement.type = type; - document.querySelector('body').appendChild(audioElement); } };