Przeglądaj źródła

Cleanup; fix STUN servers

RobinLinus 6 lat temu
rodzic
commit
6317c25b10
3 zmienionych plików z 19 dodań i 17 usunięć
  1. 16 15
      client/scripts/network.js
  2. 2 1
      client/scripts/ui.js
  3. 1 1
      server/index.js

+ 16 - 15
client/scripts/network.js

@@ -10,7 +10,7 @@ class ServerConnection {
         if (this._isConnected()) return
         const ws = new WebSocket(this._endpoint());
         ws.binaryType = 'arraybuffer';
-        ws.onopen = e => console.log('WS: server connection opened');
+        ws.onopen = e => console.log('WS: server connected');
         ws.onmessage = e => this._onMessage(e.data);
         ws.onclose = e => this._onDisconnect();
         ws.onerror = e => console.error(e);
@@ -18,7 +18,7 @@ class ServerConnection {
         clearTimeout(this._reconnectTimer);
     }
 
-    _isConnected(){
+    _isConnected() {
         return this._socket && this._socket.readyState === this._socket.OPEN;
     }
 
@@ -243,7 +243,7 @@ class RTCPeer extends Peer {
     _createChannel() {
         const channel = this._peer.createDataChannel('data-channel', { reliable: true });
         channel.binaryType = 'arraybuffer';
-        channel.onopen = e => this._onChannelOpened(e)
+        channel.onopen = e => this._onChannelOpened(e);
         this._peer.createOffer(d => this._onDescription(d), e => this._onError(e));
     }
 
@@ -466,16 +466,17 @@ window.isRtcSupported = !!(window.RTCPeerConnection || window.mozRTCPeerConnecti
 
 RTCPeer.config = {
     'iceServers': [{
-        urls: 'stun:stun.stunprotocol.org:3478'
-    }, {
-        urls: 'stun:stun.l.google.com:19302'
-    }, {
-        urls: 'turn:turn.bistri.com:80',
-        credential: 'homeo',
-        username: 'homeo'
-    }, {
-        urls: 'turn:turn.anyfirewall.com:443?transport=tcp',
-        credential: 'webrtc',
-        username: 'webrtc'
-    }]
+            urls: 'stun:stun.stunprotocol.org:3478'
+        }, {
+            urls: 'stun:stun.l.google.com:19302'
+        }, {
+            url: 'turn:192.158.29.39:3478?transport=tcp',
+            credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=',
+            username: '28224511:1379330808'
+        }, {
+            urls: 'turn:turn.anyfirewall.com:443?transport=tcp',
+            credential: 'webrtc',
+            username: 'webrtc'
+        }
+    ]
 }

+ 2 - 1
client/scripts/ui.js

@@ -335,8 +335,8 @@ class Notifications {
     constructor() {
         // Check if the browser supports notifications
         if (!('Notification' in window)) return;
+        
         // Check whether notification permissions have already been granted
-
         if (Notification.permission !== 'granted') {
             this.$button = $('notification');
             this.$button.removeAttribute('hidden');
@@ -364,6 +364,7 @@ class Notifications {
             vibrate: [200, 100, 200, 100, 200, 100, 400],
         }
         if (serviceWorker && serviceWorker.showNotification) {
+            // android doesn't support "new Notification" if service worker is installed
             return serviceWorker.showNotification(message, config);
         } else {
             return new Notification(message, config);

+ 1 - 1
server/index.js

@@ -84,7 +84,7 @@ class SnapdropServer {
     _leaveRoom(peer) {
         // delete the peer
         this._cancelKeepAlive(peer);
-        if (!this._rooms[peer.ip]) return;
+        if (!this._rooms[peer.ip] || !this._rooms[peer.ip][peer.id]) return;
 
         delete this._rooms[peer.ip][peer.id];