mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2026-04-28 18:30:39 +00:00
ensure that otherPeers never receive peer-left after peer-joined on reconnect by leaving room before rejoining it
This commit is contained in:
@@ -362,6 +362,11 @@ class PairDropServer {
|
|||||||
_joinRoom(peer, roomType = 'ip', roomSecret = '') {
|
_joinRoom(peer, roomType = 'ip', roomSecret = '') {
|
||||||
const room = roomType === 'ip' ? peer.ip : roomSecret;
|
const room = roomType === 'ip' ? peer.ip : roomSecret;
|
||||||
|
|
||||||
|
if (this._rooms[room] && this._rooms[room][peer.id]) {
|
||||||
|
// ensures that otherPeers never receive `peer-left` after `peer-joined` on reconnect.
|
||||||
|
this._leaveRoom(peer, roomType, roomSecret);
|
||||||
|
}
|
||||||
|
|
||||||
// if room doesn't exist, create it
|
// if room doesn't exist, create it
|
||||||
if (!this._rooms[room]) {
|
if (!this._rooms[room]) {
|
||||||
this._rooms[room] = {};
|
this._rooms[room] = {};
|
||||||
|
|||||||
Reference in New Issue
Block a user