]> git.r.bdr.sh - rbdr/junction/blobdiff - extension/junction.js
New URL
[rbdr/junction] / extension / junction.js
index e78a02bc0755301ca59def111a7a84050b265467..2dbff7895b0cf1d6722b63098f294cfe09901b83 100644 (file)
@@ -1,3 +1,5 @@
+const io = require('socket.io-client');
+
 const internals = {
 
   promisesSupported: !!(window.browser),
 const internals = {
 
   promisesSupported: !!(window.browser),
@@ -15,6 +17,10 @@ const internals = {
     }
   },
 
     }
   },
 
+  socket: null,
+
+  peers: 0,
+
   onClick() {
     if (internals.isInCall()) {
       return internals.hangUp();
   onClick() {
     if (internals.isInCall()) {
       return internals.hangUp();
@@ -29,11 +35,37 @@ const internals = {
     internals.setIcon('hangUp');
     const activeTabs = await internals.getActiveTabs();
 
     internals.setIcon('hangUp');
     const activeTabs = await internals.getActiveTabs();
 
+    const socketUrl = 'http://unlimited.pizza:8000/';
+    const currentUrl = activeTabs[0].url;
+
+    this.socket = io(socketUrl);
+
+    this.socket.on('connect', function() {
+      console.log("Connected to signaling server");
+    });
+
+    this.socket.on('disconnect', function() {
+      console.log("disconnected from signaling server");
+    });
+
+    this.socket.on('addPeer', function() {
+      this.peers++;
+      console.log(`There are now ${this.peers} participants`);
+    });
+
+    this.socket.on('removePeer', function() {
+      this.peers--;
+      console.log(`There are now ${this.peers} participants`);
+    });
+
     console.log(activeTabs[0].url); // placeholder while we connect backend.
     internals.createAudioElement(internals.getRoot().runtime.getURL('sounds/tada.wav'));
   },
 
   hangUp() {
     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');
 
     document.querySelectorAll('audio').forEach((audioElement) => audioElement.remove());
     internals.setIcon('call');