remove shse token when calling addHub(multiaddr)

This commit is contained in:
Andre Staltz 2024-01-16 15:55:30 +02:00
parent e759e76299
commit 516fba0ff0
No known key found for this signature in database
GPG Key ID: 9EDE23EA7E8A4890
1 changed files with 13 additions and 2 deletions

View File

@ -58,10 +58,21 @@ function initHubClient(peer, config) {
* @param {CB<void>} 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)