diff --git a/package.json b/package.json index de53ae5..7bab5fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "webpeerjs", - "version": "0.0.7", + "version": "0.0.8", "description": "Simple peer-to-peer with IPFS", "main": "./dist/umd/webpeerjs.js", "module": "./dist/esm/webpeerjs.js", diff --git a/src/config.js b/src/config.js index c12380d..38beab6 100644 --- a/src/config.js +++ b/src/config.js @@ -17,10 +17,7 @@ export const CONFIG_DNS_RESOLVER = 'https://dns.google/resolve' export const CONFIG_KNOWN_BOOTSTRAP_DNS = '_dnsaddr.bootstrap.libp2p.io' export const CONFIG_JOIN_ROOM_VERSION = 1 -export const CONFIG_KNOWN_BOOTSTRAP_PEERS_ADDRS = [ -] - -export const CONFIG_KNOWN_BOOTSTRAP_PEERS_IDS = [ +export const CONFIG_KNOWN_BOOTSTRAP_PUBLIC_IDS = [ 'QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN', 'QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb', 'QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt', @@ -32,10 +29,14 @@ export const CONFIG_KNOWN_BOOTSTRAP_PEERS_IDS = [ '12D3KooWS79EhkPU7ESUwgG4vyHHzW9FDNZLoWVth9b5N5NSrvaj', '12D3KooWBbkCD5MpJhMc1mfPAVGEyVkQnyxPKGS7AHwDqQM2JUsk', '12D3KooWKLdecs31Zmo2pLBjR9HY2vWo3VwM4eBm21Czeucbe6FL', - '12D3KooWBdF3g6vSJFRPoZQo7BNnkNzaWb59gpyaVzsgtNTVeu8H', - '12D3KooWFhXabKDwALpzqMbto94sB7rvmZ6M28hs9Y9xSopDKwQr' + '12D3KooWBdF3g6vSJFRPoZQo7BNnkNzaWb59gpyaVzsgtNTVeu8H' ] export const CONFIG_KNOWN_BOOTSTRAP_HYBRID_IDS = [ '12D3KooWFhXabKDwALpzqMbto94sB7rvmZ6M28hs9Y9xSopDKwQr' +] + +export const CONFIG_KNOWN_BOOTSTRAP_PEERS_IDS = CONFIG_KNOWN_BOOTSTRAP_PUBLIC_IDS.concat(CONFIG_KNOWN_BOOTSTRAP_HYBRID_IDS) + +export const CONFIG_KNOWN_BOOTSTRAP_PEERS_ADDRS = [ ] \ No newline at end of file diff --git a/src/webpeerjs.js b/src/webpeerjs.js index 0f46b24..31d6cfd 100644 --- a/src/webpeerjs.js +++ b/src/webpeerjs.js @@ -689,21 +689,23 @@ class webpeerjs{ const last = peer[1].last const time = now-last if(time>timeout){ - this.#connectedPeers.delete(id) - this.#connectedPeersArr.length = 0 - for(const peer of this.#connectedPeers){ - const item = {id:peer[0],address:peer[1].addrs} - this.#connectedPeersArr.push(item) - } - this.#onDisconnectFn(id) - - //remove id from room member - const rooms = Object.keys(this.#rooms) - for(const room of rooms){ - if(this.#rooms[room].members.includes(id)){ - const index = this.#rooms[room].members.indexOf(id) - this.#rooms[room].members.splice(index,1) - this.#rooms[room].onMembers(this.#rooms[room].members) + if(!isConnected(id)){ + this.#connectedPeers.delete(id) + this.#connectedPeersArr.length = 0 + for(const peer of this.#connectedPeers){ + const item = {id:peer[0],address:peer[1].addrs} + this.#connectedPeersArr.push(item) + } + this.#onDisconnectFn(id) + + //remove id from room member + const rooms = Object.keys(this.#rooms) + for(const room of rooms){ + if(this.#rooms[room].members.includes(id)){ + const index = this.#rooms[room].members.indexOf(id) + this.#rooms[room].members.splice(index,1) + this.#rooms[room].onMembers(this.#rooms[room].members) + } } } }