From 3be165dd56a7989337cf7456df853695eabbea96 Mon Sep 17 00:00:00 2001 From: Pedro Teixeira Date: Fri, 30 Jun 2017 10:56:07 +0100 Subject: [PATCH 1/4] fix: is online is only online if libp2p is online --- src/core/components/is-online.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/components/is-online.js b/src/core/components/is-online.js index 666aecf808..fa2c1a6c70 100644 --- a/src/core/components/is-online.js +++ b/src/core/components/is-online.js @@ -2,6 +2,6 @@ module.exports = function isOnline (self) { return () => { - return Boolean(self._bitswap && self._libp2pNode) + return Boolean(self._bitswap && self._libp2pNode && self._libp2pNode.isOn()) } } From cd3b754f713cefac2ccfa50c06e403a108c02a16 Mon Sep 17 00:00:00 2001 From: Pedro Teixeira Date: Fri, 30 Jun 2017 11:01:23 +0100 Subject: [PATCH 2/4] fix: when peer is discovered but not online yet (racing cond), delay dial until libp2p is online --- src/core/components/libp2p.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/components/libp2p.js b/src/core/components/libp2p.js index 54328fe255..b164856e50 100644 --- a/src/core/components/libp2p.js +++ b/src/core/components/libp2p.js @@ -26,10 +26,15 @@ module.exports = function libp2p (self) { self._libp2pNode = new Node(self._peerInfo, self._peerInfoBook, options) self._libp2pNode.on('peer:discovery', (peerInfo) => { - if (self.isOnline()) { + const dial = () => { self._peerInfoBook.put(peerInfo) self._libp2pNode.dial(peerInfo, () => {}) } + if (self.isOnline()) { + dial() + } else { + self._libp2pNode.once('online', dial) + } }) self._libp2pNode.on('peer:connect', (peerInfo) => { From 3bc8a88acdac021fdf126526ddb2052e9e2d5c75 Mon Sep 17 00:00:00 2001 From: Pedro Teixeira Date: Thu, 6 Jul 2017 17:12:02 +0100 Subject: [PATCH 3/4] libp2p new state interface --- src/core/components/is-online.js | 2 +- src/core/components/libp2p.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/components/is-online.js b/src/core/components/is-online.js index fa2c1a6c70..75a03776a1 100644 --- a/src/core/components/is-online.js +++ b/src/core/components/is-online.js @@ -2,6 +2,6 @@ module.exports = function isOnline (self) { return () => { - return Boolean(self._bitswap && self._libp2pNode && self._libp2pNode.isOn()) + return Boolean(self._bitswap && self._libp2pNode && self._libp2pNode.isStarted()) } } diff --git a/src/core/components/libp2p.js b/src/core/components/libp2p.js index b164856e50..79064a6a5b 100644 --- a/src/core/components/libp2p.js +++ b/src/core/components/libp2p.js @@ -33,7 +33,7 @@ module.exports = function libp2p (self) { if (self.isOnline()) { dial() } else { - self._libp2pNode.once('online', dial) + self._libp2pNode.once('start', dial) } }) From 748a55918fa5646d1759a20a69743f19d7b22f1e Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 7 Jul 2017 14:26:54 +0100 Subject: [PATCH 4/4] chore: update deps --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 88ebf37115..4e0a878294 100644 --- a/package.json +++ b/package.json @@ -111,9 +111,9 @@ "is-ipfs": "^0.3.0", "isstream": "^0.1.2", "joi": "^10.6.0", - "libp2p": "^0.9.1", - "libp2p-floodsub": "~0.9.4", - "libp2p-kad-dht": "^0.1.0", + "libp2p": "^0.10.0", + "libp2p-floodsub": "~0.10.0", + "libp2p-kad-dht": "^0.2.0", "libp2p-mdns": "^0.7.0", "libp2p-multiplex": "^0.4.3", "libp2p-railing": "^0.5.1", @@ -145,7 +145,7 @@ "pull-stream-to-stream": "^1.3.4", "pull-zip": "^2.0.1", "read-pkg-up": "^2.0.0", - "readable-stream": "1.1.14", + "readable-stream": "2.3.3", "safe-buffer": "^5.1.1", "stream-to-pull-stream": "^1.7.2", "tar-stream": "^1.5.4",