From a57a4111adc0427c7ad49fb3d84bfc93de64bceb Mon Sep 17 00:00:00 2001 From: Alan Shaw Date: Wed, 13 Mar 2019 18:02:34 +0000 Subject: [PATCH] feat: pubsub unsubscribe all (#956) License: MIT Signed-off-by: Alan Shaw --- .aegir.js | 2 +- package.json | 6 +++--- src/pubsub.js | 6 +++++- test/get.spec.js | 2 +- test/interface.spec.js | 4 ++++ 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.aegir.js b/.aegir.js index bbe8a75e9..51aedf024 100644 --- a/.aegir.js +++ b/.aegir.js @@ -12,7 +12,7 @@ module.exports = { }, karma: { files: [{ - pattern: 'node_modules/interface-ipfs-core/js/test/fixtures/**/*', + pattern: 'node_modules/interface-ipfs-core/test/fixtures/**/*', watched: false, served: true, included: false diff --git a/package.json b/package.json index a16e7896e..615c2417e 100644 --- a/package.json +++ b/package.json @@ -82,9 +82,9 @@ "cross-env": "^5.2.0", "dirty-chai": "^2.0.1", "eslint-plugin-react": "^7.11.1", - "go-ipfs-dep": "~0.4.18", - "interface-ipfs-core": "~0.96.0", - "ipfsd-ctl": "github:ipfs/js-ipfsd-ctl", + "go-ipfs-dep": "~0.4.19", + "interface-ipfs-core": "~0.99.0", + "ipfsd-ctl": "~0.42.0", "nock": "^10.0.2", "pull-stream": "^3.6.9", "stream-equal": "^1.1.1" diff --git a/src/pubsub.js b/src/pubsub.js index f539d0e3a..6b298351d 100644 --- a/src/pubsub.js +++ b/src/pubsub.js @@ -77,7 +77,11 @@ module.exports = (arg) => { return setImmediate(() => callback(err)) } - ps.removeListener(topic, handler) + if (!handler && !callback) { + ps.removeAllListeners(topic) + } else { + ps.removeListener(topic, handler) + } // Drop the request once we are actually done if (ps.listenerCount(topic) === 0) { diff --git a/test/get.spec.js b/test/get.spec.js index c789ce971..2c5adb6d9 100644 --- a/test/get.spec.js +++ b/test/get.spec.js @@ -23,7 +23,7 @@ describe('.get (specific go-ipfs features)', function () { const smallFile = { cid: 'Qma4hjFTnCasJ8PVp3mZbZK5g2vGDT4LByLJ7m8ciyRFZP', - data: fixture('js/test/fixtures/testfile.txt') + data: fixture('test/fixtures/testfile.txt') } let ipfsd diff --git a/test/interface.spec.js b/test/interface.spec.js index 3d7cb7970..a5eed428c 100644 --- a/test/interface.spec.js +++ b/test/interface.spec.js @@ -72,6 +72,10 @@ describe('interface-ipfs-core tests', () => { { name: 'should get by CID string + path', reason: 'FIXME vmx 2018-02-22: Currently not supported in go-ipfs, it might be possible once https://github.com/ipfs/go-ipfs/issues/4728 is done' + }, + { + name: 'should get only a CID, due to resolving locally only', + reason: 'FIXME: go-ipfs does not support localResolve option' } ] })