Commit Graph

1582 Commits

Author SHA1 Message Date
Alexis Sellier 1017a2bc69
node: Don't simulate transport
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:14:00 +02:00
Alexis Sellier 2b6e20b50c
node: Decode messages in wire layer
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:08:36 +02:00
Alexis Sellier 8e160f170c
node: Add wire protocol
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:08:36 +02:00
Alexis Sellier a925fb0e02
node: Create `Transport` layer
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:08:32 +02:00
Alexis Sellier d3dd83447e
node: Rename 'hello' message to 'initialize'
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-15 14:05:22 +02:00
Alexis Sellier 381080a5a5
node: User smaller type to represent wire sizes
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-15 13:35:53 +02:00
Alexis Sellier 79c89a239a
node: Implement subscriptions via bloom filter
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-15 13:20:59 +02:00
Alexis Sellier d7a2520ad3
node: Make sure not to prune on initial fetch
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-14 18:27:02 +02:00
Alexis Sellier 59ccfdda77
node: Improve verification function 2022-09-14 18:20:57 +02:00
Alexis Sellier 38dc571f2e
node: Add verification on fetch 2022-09-14 16:01:32 +02:00
Alexis Sellier 9cda5507a5
node: Implement `fork` 2022-09-13 16:46:14 +02:00
Alexis Sellier 44664bddd5
Add CI
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-13 14:18:16 +02:00
Alexis Sellier db176c06b5
node: Add `until` to `Subscribe` message
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-13 13:55:08 +02:00
Alexis Sellier de8dcc5022
node: Start implementing gossip subscriptions
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-13 11:58:02 +02:00
Alexis Sellier 651513c757
node: Re-think gossip messages and signing
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier b265f1b456
node: Fix onion address type
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier a47463a664
node: Test fetch comes from right place
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Slack Coder 825bd3f5e1
node: Test push/pull flow
Signed-off-by: Slack Coder <slackcoder@server.ky>
2022-09-13 10:16:05 +02:00
Alexis Sellier a70a6822e0
node: Propagate refs update
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier db6932d58c
node: Propagate ref updates
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier cb4939fd75
node: More work on encoding
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 1dec499e3d
node: Improve wire code
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 9d3030a093
node: Move over to binary protocol
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier b3d3077ccc
node: Implement binary encoding for messages
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier c7f78eafb6
node: Add some docs
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 927f062dc9
node: Rename `ProjId` -> `Id`
Remove `UserId` type.

Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier c80ba01ed9
node: Use CJSON for identities
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 46ee08aaf3
node: Rename "user"
In some cases to "public key" and in other cases to "remote".

Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 4e9b60dee0
node: Implement project checkout
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 09265eb3da
node: Rename 'providers' to 'seeds' to match docs
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier c4c0e0413f
node: Start implementing fetch control
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Slack Coder d273cd0247
node: Add track/untrack support
Signed-off-by: Slack Coder <slackcoder@server.ky>
2022-09-13 10:16:05 +02:00
Alexis Sellier 8fbcb51963
node: Infer the arg type
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier ec865ee9f4
node: Improve fetch command
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier ef2d09114a
node: Implement 'fetch' command properly
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 7be6fe3414
node: Turn remotes into an iterator
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 078184b7d6
node: Fix encoding of identifiers
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier c3b7a6fbd7
node: Implement project retrieval
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 910cd74294
node: Improve project init
Improvement doesn't modify the working copy index.

Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier e4e4d9dcaa
node: Use stronger types for refs
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier a4d2232578
node: Improve some tests
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier cd7421eb86
node: Implement signed refs
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 6e86218c36
node: Use default branch
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 6830a044d7
node: Fix repository layout
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 14395ad873
node: Handle refs update announcement
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier ff2bd185e7
node: Handle announcement commands
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 400ba8d935
node: Test control socket
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier 12dd6d4a5d
node: Start control socket server
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier fc30dc2668
node: Add client control socket
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00
Alexis Sellier e663e8c516
node: Implement `Client`
Signed-off-by: Alexis Sellier <self@cloudhead.io>
2022-09-13 10:16:05 +02:00