From ab5303ecaec616628cd9aa7fde63289bab3f3b3c Mon Sep 17 00:00:00 2001 From: Alexey Kasyanchuk Date: Wed, 8 Jan 2020 21:49:51 +0300 Subject: [PATCH] fix(relay): ignore some situations when relay not needed --- src/background/p2p.js | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/background/p2p.js b/src/background/p2p.js index 1481ac0..912ac81 100644 --- a/src/background/p2p.js +++ b/src/background/p2p.js @@ -165,6 +165,7 @@ class p2p { if (this.p2pStatus === 0) { // switch to direct status, otherwise it's relay this.p2pStatus = 2 + this.relay.client = false; this.send('p2pStatus', this.p2pStatus) } }) @@ -347,16 +348,24 @@ class p2p { } else { - logT('relay', 'tcp p2p port is unreachable, using relay client') - this.relay.client = true; - // try reconnect to new relay server - let candidatePeer = this.peersList().filter(peer => peer.relay && peer.relay.server) - if(candidatePeer && candidatePeer.length > 0) { - logT('relay', 'reconnect to new relay, because no relays connection before check'); - this.connectToRelay(candidatePeer[0]) + logT('relay', 'tcp p2p port is unreachable') + if(this.p2pStatus === 0) + { + logT('relay', 'using relay client') + this.relay.client = true; + // try reconnect to new relay server + let candidatePeer = this.peersList().filter(peer => peer.relay && peer.relay.server) + if(candidatePeer && candidatePeer.length > 0) { + logT('relay', 'reconnect to new relay, because no relays connection before check'); + this.connectToRelay(candidatePeer[0]) + } + this.p2pStatus = 0 + this.send('p2pStatus', this.p2pStatus) + } + else + { + this.send('p2pStatus', this.p2pStatus) } - this.p2pStatus = 0 - this.send('p2pStatus', this.p2pStatus) } }) }