* chore: make `dropConnection` to be a public function
* feat: peers are maintained for protocols
- passes `ConnectionManager` to ProtocolSDK to allow disconnecting from within protocol
- maintains `numPeersToUse` for each protocol within BaseProtocolSDK
* fix: pass options to protocols
* chore: update interfaces to allow public access
* chore: improve logging on protocol
* fix: renew peer upon failure
* chore(tests): allow DefaultPubsubTopic
* feat(lightpush): write peer management tests
* chore: rename test
* feat: add lock to `maintainPeers()` to handle parallelisation of requests
fixes parallelisation of lightpush.send() requests
* fix: concurrent lightpush requests
* fix: test & improve peers fetching
* chore: use getter
* address comments
* chore: smaller improvements
* feat: attempt to improve time for first lightpush.send()
* chore: use `window.interval` for type-safety
* chore: remove delays
* feat: add autoRetry
* feat: `forceUseAllPeers` to wait for all connected peers to be resoled
* initialise the new package
* feat: implement LocalStorageDiscovery
* add: Startable to cspell
* add compliance test
* add: discovery tests
* rm: browser tests script
* address comments
* add type safety to getting peers from local
* only dispatch peer if it does not exist
* move ws ma extraction to utils
* chore: update package name to local-discovery
* fix: add compliance test with no external deps on service node
* use peer:identify instead of peer:update
* add: unit tests & remove sdk dependency
* move tests to self package
* update cspell + remove unrequired deps
* add types
* maintain in-memory peers for localstorage
* address comments
* chore: rename
* use name from options
* fix: saving peers
* rm: only
* move KeepAliveOptions to dedicated interface file
* update export for KeepAlive
* expose `ConnectionManager` on the waku node
* update ConnectionManager test to use the exposed API
* rm: only for the test
* disable libp2p autodial
* improve logs for peer-exchange
* add a function to fetch discovered and connected peers by discovery
* connection-manager: introduce event emissions by discovery
* write a spec test for events
* minor code improvement for peer-exchange
* rm: comment
* rename peer event result interface
* switch to using libp2p EventEmitter
* rename variables for readability
* reset peer-exchange spec file
* address review
* test: minor refactor
* fix: failing test
* increase peer IDs to test against for attemptDial
* improve structuring
* allow passing of multiple ENRs to DNS Discovery
* add test for >1 ENR to DNS Disc
* address comments
* feat: dial multiple peers in parallel (#1380)
* ensure discovered peers are dialed in parallel
* cap parallel dials
* drop connection to bootstrap peer if >set connected
* switch to american english
* improve promises and error logging
* initialises ConnectionManager and KeepAliveManager
ports from previous PR and makes necessary improvements and reductions
* address: comments
* map a ConnectionManager instance with a WakuNode
* abstract event listeners logic
* minor fix
* minor cleaning
* instantiate KeepAliveManager instead of extending
* fix build and enable all tests
* fix CI
* address review
* refine event handlers
- only removes the previously attached callback from
the event handlers while shutting down service
- removes the requirement of passing around
`keepAliveOptions` and `relay` inside of
`ConnectionManager`
* add verbosity to interface
* make `dialPeer()` more readable
* use set to push tags to avoid duplicates
* fix: merge build
* remove: logging function
* rename startService and stopService
* remove: future TODO
added that as part of future refactor
* use the new libp2p api
* initialise options in constructor//fix TS error
* remove stale export
* address principal review
* reset test timeout to master