From 676bf54f5aafd1476cd49c845930b3ef7dcb3fbf Mon Sep 17 00:00:00 2001 From: Benoit Lavenier <benoit.lavenier@e-is.pro> Date: Tue, 6 Jun 2023 18:35:59 +0200 Subject: [PATCH] fix(ws2p): numberOfFreeRooms() was testing a Promise as a boolean, so it was always true! 'freeMemberRoom' value was always used, instead of 'freeMirrorRoom' --- app/modules/ws2p/lib/WS2PCluster.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/modules/ws2p/lib/WS2PCluster.ts b/app/modules/ws2p/lib/WS2PCluster.ts index fe2d29e3c..9ebd0903d 100644 --- a/app/modules/ws2p/lib/WS2PCluster.ts +++ b/app/modules/ws2p/lib/WS2PCluster.ts @@ -572,6 +572,7 @@ export class WS2PCluster { const canReachClearEndpoint = ProxiesConf.canReachClearEndpoint( this.server.conf.proxiesConf ); + const isMember = await this.server.dal.isMember(this.server.conf.pair.pub); peers.sort((a, b) => { // Top priority at our own nodes if ( @@ -591,12 +592,14 @@ export class WS2PCluster { const aNumberOfFreeRooms = this.numberOfFreeRooms( a, canReachTorEndpoint, - canReachClearEndpoint + canReachClearEndpoint, + isMember ); const bNumberOfFreeRooms = this.numberOfFreeRooms( b, canReachTorEndpoint, - canReachClearEndpoint + canReachClearEndpoint, + isMember ); if (canReachTorEndpoint) { @@ -740,7 +743,8 @@ export class WS2PCluster { private numberOfFreeRooms( p: PeerDTO, canReachTorEndpoint: boolean, - canReachClearEndpoint: boolean + canReachClearEndpoint: boolean, + isMember: boolean ) { const api = p.getOnceWS2PEndpoint( canReachTorEndpoint, @@ -764,9 +768,7 @@ export class WS2PCluster { freeMemberRoom, freeMirorRoom, ]: string[] = messageV2.split(":"); - return this.server.dal.isMember(this.server.conf.pair.pub) - ? freeMemberRoom - : freeMirorRoom; + return isMember ? freeMemberRoom : freeMirorRoom; } } } -- GitLab