diff --git a/package-lock.json b/package-lock.json index d20f182be..17626f395 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "polykey", - "version": "1.17.1", + "version": "1.17.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "polykey", - "version": "1.17.1", + "version": "1.17.2", "license": "GPL-3.0", "dependencies": { "@matrixai/async-cancellable": "^1.1.1", diff --git a/package.json b/package.json index 187f04c3f..2a38cfc45 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "polykey", - "version": "1.17.1", + "version": "1.17.2", "homepage": "https://polykey.com", "author": "Matrix AI", "contributors": [ diff --git a/src/config.ts b/src/config.ts index 3f35bb5c2..6bfae2571 100644 --- a/src/config.ts +++ b/src/config.ts @@ -251,7 +251,7 @@ const config = { * Interval for hole punching reverse node connections. */ nodesConnectionHolePunchIntervalTime: 1_000, // 1 second - nodesConnectionInitialMaxStreamsBidi: 1_000, + nodesConnectionInitialMaxStreamsBidi: 200, nodesConnectionInitialMaxStreamsUni: 0, // We don't use unidirectional streams so we disable them /** diff --git a/src/nodes/utils.ts b/src/nodes/utils.ts index b65c953dd..76ffd66e1 100644 --- a/src/nodes/utils.ts +++ b/src/nodes/utils.ts @@ -501,10 +501,10 @@ function parseSeedNodes(data: any): [SeedNodes, boolean] { const nodePort = seedNodeUrl.port; try { ids.parseNodeId(nodeIdEncoded); - seedNodes[nodeIdEncoded] = { - host: networkUtils.parseHostOrHostname(nodeHostOrHostname), - port: networkUtils.parsePort(nodePort), - }; + seedNodes[nodeIdEncoded] = [ + networkUtils.parseHostOrHostname(nodeHostOrHostname), + networkUtils.parsePort(nodePort), + ]; } catch (e) { if (e instanceof validationErrors.ErrorParse) { throw new validationErrors.ErrorParse( diff --git a/tests/nodes/utils.test.ts b/tests/nodes/utils.test.ts index 2ebaaa03c..88258bc90 100644 --- a/tests/nodes/utils.test.ts +++ b/tests/nodes/utils.test.ts @@ -240,18 +240,12 @@ describe('nodes/utils', () => { `${nodeIdEncoded3}@${hostIPv6}:${port3};`; const parsed = nodesUtils.parseSeedNodes(rawSeedNodes); const seeds = parsed[0]; - expect(seeds[nodeIdEncoded1]).toStrictEqual({ - host: hostname, - port: port1, - }); - expect(seeds[nodeIdEncoded2]).toStrictEqual({ - host: hostIPv4, - port: port2, - }); - expect(seeds[nodeIdEncoded3]).toStrictEqual({ - host: hostIPv6.replace(/\[|\]/g, ''), - port: port3, - }); + expect(seeds[nodeIdEncoded1]).toStrictEqual([hostname, port1]); + expect(seeds[nodeIdEncoded2]).toStrictEqual([hostIPv4, port2]); + expect(seeds[nodeIdEncoded3]).toStrictEqual([ + hostIPv6.replace(/\[|\]/g, ''), + port3, + ]); expect(parsed[1]).toBeFalsy(); }); test('parseSeedNodes - valid nodes optionally have pk://', () => { @@ -261,18 +255,12 @@ describe('nodes/utils', () => { `pk://${nodeIdEncoded3}@${hostIPv6}:${port3};`; const parsed = nodesUtils.parseSeedNodes(rawSeedNodes); const seeds = parsed[0]; - expect(seeds[nodeIdEncoded1]).toStrictEqual({ - host: hostname, - port: port1, - }); - expect(seeds[nodeIdEncoded2]).toStrictEqual({ - host: hostIPv4, - port: port2, - }); - expect(seeds[nodeIdEncoded3]).toStrictEqual({ - host: hostIPv6.replace(/\[|\]/g, ''), - port: port3, - }); + expect(seeds[nodeIdEncoded1]).toStrictEqual([hostname, port1]); + expect(seeds[nodeIdEncoded2]).toStrictEqual([hostIPv4, port2]); + expect(seeds[nodeIdEncoded3]).toStrictEqual([ + hostIPv6.replace(/\[|\]/g, ''), + port3, + ]); expect(parsed[1]).toBeFalsy(); }); test('parseSeedNodes - invalid node ID', () => {