diff --git a/lib/plugin-hub-client.js b/lib/plugin-hub-client.js index 79d5123..ec16cd4 100644 --- a/lib/plugin-hub-client.js +++ b/lib/plugin-hub-client.js @@ -58,10 +58,21 @@ function initHubClient(peer, config) { * @param {CB} cb */ function addHub(multiaddr, cb) { - peer.set.add(HUBS_SUBDOMAIN, multiaddr, (err, _) => { + /**@type {HubMultiaddr}*/ + let multiaddrWithoutToken + if (/shse\/[^.]+\.[^.]+$/.test(multiaddr)) { + // @ts-ignore + multiaddrWithoutToken = multiaddr.replace(/\.[^.]+$/, '') + } else if (/shse\/[^.]+$/.test(multiaddr)) { + multiaddrWithoutToken = multiaddr + } else { + return cb(new Error('Invalid Hub multiaddr: ' + multiaddr)) + } + + peer.set.add(HUBS_SUBDOMAIN, multiaddrWithoutToken, (err, _) => { // prettier-ignore if (err) return cb(new Error('Failed to add Hub to my Set feed', {cause: err})) - peer.net.connect(multiaddr, (err, rpc) => { + peer.net.connect(multiaddrWithoutToken, (err, rpc) => { // prettier-ignore if (err) return cb(new Error('Failed to connect to Hub after adding it to my Set feed', {cause: err})) cb(null, void 0)