1
0
mirror of https://github.com/matrix-org/pinecone.git synced 2026-10-24 11:59:18 +03:00
Commit Graph

95 Commits

Author SHA1 Message Date
Neil Alexander
ca3f61af1b Tidy up sim 2022-04-14 15:20:47 +01:00
Neil Alexander
7217bb816e Merge branch 'main' into softstate 2022-04-14 14:51:33 +01:00
devonh
c600e7aae8 Sim - add url anchors so refreshing returns to the same view (#42) 2022-04-14 14:51:24 +01:00
Neil Alexander
3fdf3e734a Initial soft-state testing 2022-04-12 11:13:00 +01:00
Neil Alexander
f686361e6d Allow specifying custom http.Client to connection manager for WebSocket connections 2022-04-11 14:28:53 +01:00
Neil Alexander
b880dddb10 Update standalone to listen for WebSockets 2022-04-07 10:47:09 +01:00
Neil Alexander
e526fa82f7 QUIC sessions (#37)
* 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
2022-04-04 15:13:26 +01:00
Neil Alexander
5b805cec49 Add connection manager, macOS/iOS framework build 2022-03-31 14:48:00 +01:00
Neil Alexander
f83fe8f8ab Allow access to manholes in pineconesim 2022-03-30 14:54:10 +01:00
Neil Alexander
351265543d Enable keepalives in -sockets mode on the connecting side (since they are already enabled on the accepting side) (#23) 2022-01-21 09:49:51 +00:00
devonh
65e7965c06 Add functionality to control the simulator from the UI (#21)
* 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>
2022-01-18 16:28:41 +00:00
Neil Alexander
58c31a1eed Add /simws handler back 2021-11-25 11:01:23 +00:00
Neil Alexander
cc7886682c The PeerTypes need to be ints after all because gomobile/gobind requires simple types 2021-11-25 10:18:24 +00:00
Neil Alexander
51e85f9ea0 Consolidated Connect function with ConnectionOptions (#17)
* Consolidated `Connect` function with `ConnectionOptions`, add `Peers` API function

* Populate URI
2021-11-25 09:13:09 +00:00
Devon Hudson
89a8b34e40 Allow sim side panels to grow larger to work better on mobile 2021-11-16 19:48:59 -03:00
Devon Hudson
9d01695e66 Fix sim ui focus node button margin 2021-11-16 19:20:31 -03:00
Devon Hudson
e7ef7cb2d5 Refine sim node focusing ui 2021-11-16 19:15:14 -03:00
Devon Hudson
afee89c4b4 Add sim ui node focus button 2021-11-16 18:18:34 -03:00
Devon Hudson
30f8430c02 Swap asc & desc nodes in sim stats panel to fix display bug 2021-11-16 15:48:13 -03:00
Devon Hudson
258df2770d Cleanup unavailable sim ui elements 2021-11-16 15:36:14 -03:00
Devon Hudson
251679d30c Add public keys to sim ui 2021-11-16 14:55:38 -03:00
Devon Hudson
ba8a11281a Cleanup sim & router apis that are no longer necessary 2021-11-16 14:17:59 -03:00
Devon Hudson
c25e69ef2d Add peer port information to simulator UI 2021-11-16 14:09:41 -03:00
Devon Hudson
d7ec009a70 Display hex paths in sim with uppercase letters 2021-11-16 13:47:17 -03:00
Devon Hudson
edf019d2cc Add pathid info to simulator 2021-11-16 13:44:00 -03:00
Devon Hudson
969ec9fd2c Add dynamic updating to sim stats panel 2021-11-16 12:31:13 -03:00
Devon Hudson
51ca1bd1ef Update sim ui when any node info changes 2021-11-16 11:21:16 -03:00
Devon Hudson
441ec96dfb Fill in sim node detail panel with root, snek and tree info 2021-11-16 11:12:44 -03:00
Devon Hudson
5cd0f7fbc8 Add peers to sim node info panel 2021-11-16 10:48:57 -03:00
Devon Hudson
d80b074c3a Show sim announcement timestamp in ms 2021-11-16 09:29:13 -03:00
Devon Hudson
ea5cc53a65 Uplift sim ui info styling 2021-11-16 09:19:12 -03:00
Devon Hudson
64c0a022dd Add node info to hover tooltip in sim 2021-11-16 09:19:05 -03:00
Devon Hudson
452b4402a1 Fix multiple event subscriber bug 2021-11-14 16:58:07 -03:00
Devon Hudson
69f57feec5 Remove dead code in sim 2021-11-14 16:21:30 -03:00
Devon Hudson
9755670e6a Refactor some sim code for clarity 2021-11-14 16:14:10 -03:00
Devon Hudson
d5549d2100 Add node count to sim summary panel 2021-11-14 13:03:11 -03:00
Devon Hudson
618fa8c1cd Refactor initial sim sync further to reduce number of iterations 2021-11-14 12:33:14 -03:00
Devon Hudson
b1cfbac0c1 Refactor initial sim sync more to reduce overhead 2021-11-14 11:55:08 -03:00
Devon Hudson
6b5336caa8 Go back to single events in sim update messages 2021-11-14 10:38:30 -03:00
Devon Hudson
642367531b Refactor initial sim sync 2021-11-14 10:33:51 -03:00
Devon Hudson
8f72045812 Rename sim ui announcement update function 2021-11-14 10:26:20 -03:00
Devon Hudson
c99919ee10 Send root announcement state with initial sim sync 2021-11-14 10:17:59 -03:00
Devon Hudson
95ed5c42c8 Add root announcement update messages to sim 2021-11-14 09:08:06 -03:00
Devon Hudson
829b7d9cd5 Add option to sim html for using an offline copy of visjs 2021-11-13 16:55:33 -03:00
Devon Hudson
4416488c0a Rename physical topo to peer topo 2021-11-08 16:03:09 -05:00
Devon Hudson
8027090ad5 Refactor simulator actor handling 2021-11-08 15:50:45 -05:00
Devon Hudson
a9930acf5c Change simulator side to use actor model 2021-11-08 14:02:05 -05:00
Neil Alexander
8bc39143e2 Use inboxes so that subscribers don't block node operations (#15) 2021-11-08 17:20:53 +00:00
Devon Hudson
931d607d69 Add tree parent live updates to sim 2021-11-08 10:14:32 -05:00
Devon Hudson
b8bc956dba Refactor snek events to centralise publishing call 2021-11-08 09:02:11 -05:00