* Use QUIC instead of uTP
* Various tweaks
* The `pinecone` standalone doesn't need sessions
* Allow multiple protocols
* More QUIC tweaks
* De-race connection setup
* Gobind package doesn't need sessions
* Logger interface, more queue metrics
* Sim - display keys as capital hex
* Sim - add more details to node hover text
* Sim - add basic sim commands into ws api
* Sim - use an actor for running simulator event sequences
* Sim - handle AddNode command
* Fully reset state when all peers disconnect
* Sim - implement AddPeer and RemovePeer functionality
* Sim - Add state debug command to log all node state
* Sim - add remove node functionality to sim server
* Sim - use enums in ui code for update/command message IDs
* Sim - extract api enums into a separate file
* Sim - refactor server api so other modules can send commands
* Sim - swap letters for icons and add tool panel to ui
* Sim - bump up ui button margins
* Sim - unify approach to ui overlay buttons
* Sim - add multiselect and hook up node removal
* Sim - handle edge cases when removing node from ui
* Sim - fully stub out toolbox ui
* Sim - small UI tweaks
* Sim - show all selected nodes in the right panel
* Sim - hook up node and peer creation ui
* Sim - add feature to remove peer connections from ui
* Sim - fix edge case when trying to delete the same peering twice
* Sim - stub out play/pause commands
* Sim - add feature to import and play event sequence from a file
* Sim - fix ui bug where removing nodes didn't update stats panel
* Sim - add feature to play/pause event sequences
* Sim - log when a user event listener closes
* Sim - improve event sequence import validation
* Sim - refactor event sequence validation to own function
* Sim - Add adversary configuration commands to sim api
* Sim - Add node type select to node creation form
* Sim - work towards adversarial nodes
* Sim - fix handling of adversary peer settings command
* Sim - update drop rates with chosen adversary template
* Sim - add node type information to simulator state
* Sim - set adversary node colour to red
* Sim - adversary node work
* Sim - adversary now drops packets appropriately
* Sim - fix bug where disconnected peer state wasn't updated properly
* Sim - add adversary configuration options to ui
* Sim - refactor peer option override checkbox
* Sim - update example sequences to show more full use cases
* Sim - fix unsanitized logging
* Sim - escape html meta-characters for ui sliders
* Sim - parse slider inner value as number
* Sim - refactor ui by breaking out forms into separate files
* A few minor tweaks to reduce duplicate timers, letting GC do some work for us
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>