fix _leaveAllSecretRooms(peer) and addRoomSecret(roomSecret) + leave rooms on disconnect

This commit is contained in:
schlagmichdoch 2023-01-10 13:55:32 +01:00
parent 113c1f9dac
commit e611ed13d0

View file

@ -98,7 +98,7 @@ class SnapdropServer {
this._joinRoom(peer); this._joinRoom(peer);
peer.socket.on('message', message => this._onMessage(peer, message)); peer.socket.on('message', message => this._onMessage(peer, message));
peer.socket.onerror = e => console.error(e); peer.socket.onerror = e => console.error(e);
peer.socket.onclose = _ => console.log('disconnect'); peer.socket.onclose = _ => this._onDisconnect(peer);
this._keepAlive(peer); this._keepAlive(peer);
// send displayName // send displayName
@ -384,8 +384,8 @@ class SnapdropServer {
} }
_leaveAllSecretRooms(peer) { _leaveAllSecretRooms(peer) {
for (const roomSecret in peer.roomSecrets) { for (let i=0; i<peer.roomSecrets.length; i++) {
this._leaveRoom(peer, 'secret', roomSecret); this._leaveRoom(peer, 'secret', peer.roomSecrets[i]);
} }
} }
@ -564,7 +564,7 @@ class Peer {
} }
addRoomSecret(roomSecret) { addRoomSecret(roomSecret) {
if (!roomSecret in this.roomSecrets) { if (!(roomSecret in this.roomSecrets)) {
this.roomSecrets.push(roomSecret); this.roomSecrets.push(roomSecret);
} }
} }