* Refactor discovery handler
* Broadcast peer info over floodsub on requests
* Broadcast peer info from relay nodes
* Make debug reponse handler optional
* Register debug info request handler on peer init
* Move debug info types to types dir
* Return method to unsubscribe from the debug topic
* Make debug info flag optional for relay nodes
* Restructure peer connection info data
* Refactor getting peer info to be used in react app
* Refactor duplicate code to utils
* Rename peer methods
---------
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Improve connection check with peers by retrying ping on failures
* Use DEFAULT_PING_INTERVAL in cli
* Log only error message
* Add config option to pass peer id file path
* Finish retrying pings before connection check interval duration
* Handle duplicate connections to relay nodes
* Increase default max dial retries from one relay to another
* Update connection manager config for relay nodes
* Use debug for logs in relay node
---------
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* Pass initialization options when starting a peer
* Update config used for relay and peer nodes in watcher
* Rename types
* Refactor mobymask libp2p message parsing
* Enable laconic debug logs in server command
* Add an option to run relay node with watcher server
* Add a v2 mobymask-watcher
* Add an option to run peer node with watcher server
* Ignore ts error when importing types from peer package
* Rename mobymask v2 watcher
* Parse mobymask libp2p messages
* Refactor and add comments
* Add a note in peer package about nodejs exports
* Update copyright
* Use browser metrics package
* Get latency from heartbeat check
* Use metrics in nodejs CLI
* Avoid disconnect from primary relay on reaching limit
* Fix relay connections count
* Refactor protocol change handler
* Refactor protocol stream creation
* Refactor Peer constructor
* Refactor peer CLIs to a separate cli folder
* Move peer node setup to a separate file
* Add a getter method for primary relay node mutiaddr
* Close new relay peer connection if limit already reached
* Add an option to use a domain name for a announce address
* Update chat CLI readme
* Set port range for relay node
* Add descriptive comment
* Upgrade webrtc-direct version
* Use webrtc-direct transport with pubsub based discovery
* Use changes to integrate signalling using relay node
* Add an indicator for peer connection type (direct/relayed)
* Catch errors while creting a libp2p node
* Catch errors while dialling peers
* Catch errors when dialling from relay node
* Pass CLI arg for port to listen on for relay node
* Subscribe chat CLI to pubsub topic
* Update yarn lockfile
* Update webrtc-direct dependency in package json
* Update webrtc-direct version
* Update yarn lockfile
* Upgrade js-libp2p and related dependencies
* Dial all multiaddr of a discovered peer in parallel
* Dial using peer id instead of dialling individual multiaddr
* Log peer id on discovery
* Redial relay node on failure and after going offline
* Redial only relay node if not connected
* Refactor and rename methods
* Only close existing connection to relay node
* Hearbeat check only for relay node
* Refactor startHeartbeatCheck method
* Pass relay node an optional list of relay peers to connect to
* Catch protocol selection failure on dialling to new relay nodes
* Restrict max number of connections for a peer
* Tag the relay node with a high value to avoid disconnects
* Use debug for connect/disconnect logs in relay nodes
* Ignore incomplete multiaddr on a peer discovery
* Increase max connections for a peer to 10
* Refactor and descriptive comments