[bug] Prevent duplicated addresses when sharing secrets

This commit is contained in:
Sosthene 2025-08-25 01:30:58 +02:00
parent 1c92a40984
commit 420979e63e

View File

@ -211,7 +211,7 @@ export default class Services {
public async checkConnections(members: Member[]): Promise<void> {
// Ensure the amount is available before proceeding
await this.getTokensFromFaucet();
let unconnectedAddresses = [];
let unconnectedAddresses: Set<string> = new Set();
const myAddress = this.getDeviceAddress();
for (const member of members) {
const sp_addresses = member.sp_addresses;
@ -221,12 +221,12 @@ export default class Services {
if (address === myAddress) continue;
const sharedSecret = await this.getSecretForAddress(address);
if (!sharedSecret) {
unconnectedAddresses.push(address);
unconnectedAddresses.add(address);
}
}
}
if (unconnectedAddresses && unconnectedAddresses.length != 0) {
const apiResult = await this.connectAddresses(unconnectedAddresses);
if (unconnectedAddresses && unconnectedAddresses.size != 0) {
const apiResult = await this.connectAddresses([...unconnectedAddresses]);
await this.handleApiReturn(apiResult);
}
}