mirror of
https://github.com/RobinLinus/snapdrop.git
synced 2025-05-27 21:10:15 -07:00
Reconnect on rejoin room
This commit is contained in:
parent
0ede41f8d5
commit
7194c65c74
@ -4,6 +4,8 @@ class ServerConnection {
|
||||
this._connect();
|
||||
Events.on('beforeunload', e => this._disconnect(), false);
|
||||
Events.on('pagehide', e => this._disconnect(), false);
|
||||
document.addEventListener('visibilitychange', e => this._onVisibilityChange());
|
||||
|
||||
}
|
||||
|
||||
_connect() {
|
||||
@ -71,6 +73,11 @@ class ServerConnection {
|
||||
clearTimeout(this._reconnectTimer);
|
||||
this._reconnectTimer = setTimeout(_ => this._connect(), 5000);
|
||||
}
|
||||
|
||||
_onVisibilityChange() {
|
||||
if (document.hidden) return;
|
||||
this._connect();
|
||||
}
|
||||
}
|
||||
|
||||
class Peer {
|
||||
@ -296,8 +303,13 @@ class RTCPeer extends Peer {
|
||||
_onConnectionStateChange(e) {
|
||||
console.log('RTC: state changed:', this._peer.connectionState);
|
||||
switch (this._peer.connectionState) {
|
||||
case 'disconnected': this._onChannelClosed();
|
||||
break;
|
||||
case 'disconnected':
|
||||
this._onChannelClosed();
|
||||
break;
|
||||
case 'failed':
|
||||
this._peer = null;
|
||||
this._onChannelClosed();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user