Cleanup; fix STUN servers

This commit is contained in:
RobinLinus 2018-09-21 19:14:25 +02:00
parent e9eeea48e5
commit 6317c25b10
3 changed files with 19 additions and 17 deletions

View file

@ -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'
}
]
}

View file

@ -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);

View file

@ -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];