* refactor: add dialing over relay support
* chore: fix lint
* fix: dont clear listeners on close
* fix: if dial errors already have codes, just rethrow them
* fix: clear the registrar when libp2p stops
* fix: improve connection maintenance with circuit
* chore: correct feedback
* test: use chai as promised
* test(fix): reset multiaddrs on dial test
* fix: performance bottleneck in stat.js (#463)
Array.shift seems to be very slow, perhaps linear, on some
engines, resulting in _update consuming a lot of CPU.
* docs(fix): correct docs and example for pnet (#464)
* docs(fix): correct docs and example for pnet
* docs(fix): correct pnet docs
* docs(fix): update README.md language (#468)
* docs: reciprocate (#474)
* docs(example): fix ipfs cat (#475)
`ipfs.files.cat` is incorrect. the correct function is `ipfs.cat`
* fix: async-await example chat
* fix: move handler before start
* fix: examples readme typos (#481)
* fix: simplify libp2p bundle for echo example
* chore: remove unused vars
* fix: performance bottleneck in stat.js (#463)
Array.shift seems to be very slow, perhaps linear, on some
engines, resulting in _update consuming a lot of CPU.
* docs(fix): correct docs and example for pnet (#464)
* docs(fix): correct docs and example for pnet
* docs(fix): correct pnet docs
* docs(fix): update README.md language (#468)
* docs: reciprocate (#474)
* docs(example): fix ipfs cat (#475)
`ipfs.files.cat` is incorrect. the correct function is `ipfs.cat`
* fix: async await examples/echo
* fix: examples readme typos (#481)
* fix: simplify libp2p bundle for echo example
* chore(deps): update connection and multistream
* feat: add basic dial support for addresses and peers
* test: automatically require all node test files
* fix: dont catch and log in the wrong place
* test: add direct spec test
fix: improve dial error consistency
* feat: add dial timeouts and concurrency
Queue timeouts will result in aborts of the dials
* chore: fix linting
* test: verify dialer defaults
* feat: add initial upgrader
* fix: add more test coverage and fix bugs
* feat: libp2p creates the upgrader
* feat: hook up handle to the upgrader
* feat: hook up the dialer to libp2p
test: add node dialer libp2p tests
* feat: add connection listeners to upgrader
* feat: emit connect and disconnect events
* chore: use libp2p-interfaces
* fix: address review feedback
* fix: correct import
* refactor: dedupe connection creation code
* test: remove all tests for a clean slate
The refactor will require a large number of updates to the tests. In order
to ensure we have done a decent deduplication, and have a cleaner suite of tests
we've removed all tests. This will also allow us to more easily see tests
for the refactored systems.
We have a record of the latest test suites in master, so we are not losing any history.
* chore: update tcp and websockets
* chore: remove other transports until they are converted
* chore: use mafmt and multiaddr async versions
* chore: add and fix dependencies
* chore: clean up travis file
* feat: add new transport manager
* docs: add constructor jsdocs
* refactor(config): check that transports exist
This also removes the other logic, it can be added when those subsystems are refactored
* chore(deps): use async peer-id and peer-info
* feat: wire up the transport manager with libp2p
* chore: remove superstruct dep