+const io = require('socket.io-client');
+
const internals = {
promisesSupported: !!(window.browser),
}
},
+ socket: null,
+
+ peers: 0,
+
onClick() {
if (internals.isInCall()) {
return internals.hangUp();
internals.setIcon('hangUp');
const activeTabs = await internals.getActiveTabs();
+ const socketUrl = 'http://localhost:8000/';
+ const currentUrl = activeTabs[0].url;
+
+ this.socket = io(socketUrl);
+
+ var that = this;
+
+ this.socket.on('connect', function() {
+ console.log("Connected to signaling server");
+
+ that.socket.emit('join', {
+ 'url': currentUrl,
+ });
+ });
+
+ this.socket.on('disconnect', function() {
+ console.log("disconnected from signaling server");
+ });
+
+ this.socket.on('addPeer', function(data) {
+ console.log(data);
+ that.peers++;
+ console.log(`There are now ${that.peers} participants`);
+ });
+
+ this.socket.on('removePeer', function() {
+ that.peers--;
+ console.log(`There are now ${that.peers} participants`);
+ });
+
console.log(activeTabs[0].url); // placeholder while we connect backend.
internals.createAudioElement(internals.getRoot().runtime.getURL('sounds/tada.wav'));
},
hangUp() {
+ this.socket.close();
+
+
document.querySelectorAll('audio').forEach((audioElement) => audioElement.remove());
internals.setIcon('call');