rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwooddc1ff882c5fb734e3e5cc6bc0661531c9323b305
{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
"name": "heartwood",
"description": "Radicle Heartwood Protocol & Stack",
"private": false,
"default_branch": "master",
"delegates": [
"did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Created",
"patch": {
"id": "e99a0decf70cf43936d8b668c4baade577af7faa",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"title": "cli/sync: Also print node addresses",
"state": {
"status": "merged",
"conflicts": []
},
"before": "72913b8c152e588e14f42aaa851df9de642f390d",
"after": "dc1ff882c5fb734e3e5cc6bc0661531c9323b305",
"commits": [
"dc1ff882c5fb734e3e5cc6bc0661531c9323b305"
],
"target": "7e1cb406bb935c3de008d2171e8961f57b4336ea",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "e99a0decf70cf43936d8b668c4baade577af7faa",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"description": "",
"base": "d9c76893a144fd787654613f2bfb919613014a71",
"oid": "ad463c7965e123b4233b34b730ffaa60cd5f7fc6",
"timestamp": 1733656649
},
{
"id": "d08caee7aeb3d9f3f8e107bcb8185e5522e45b73",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"description": "Adjust tests.",
"base": "d9c76893a144fd787654613f2bfb919613014a71",
"oid": "8c06a6b93f6f5eb53547a8725c0c03ca9482ddbd",
"timestamp": 1733834190
},
{
"id": "d31864baa33bea68cb1ea069265a396f6cc0fb53",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"description": "Use `match` instead of weird `if`s.",
"base": "d9c76893a144fd787654613f2bfb919613014a71",
"oid": "4a0148c8581f4c081c7ca4e28a023fb52e984318",
"timestamp": 1733834686
},
{
"id": "8cb372dee7e81ee4099e4af9d5d8417136517c17",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"description": "Save one line...",
"base": "d9c76893a144fd787654613f2bfb919613014a71",
"oid": "513633e0aac126b6e02e6dc22bc1dfe034bd5aeb",
"timestamp": 1733834804
},
{
"id": "8f478fe773a315686c0931fa1d0ca6bf0d041454",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"description": "Rebase and sign.",
"base": "96637aca7ee004620e35d8d495b33e6601270aca",
"oid": "75d430dab8572d9268a4677dd3e90d5b0c739181",
"timestamp": 1744891346
},
{
"id": "e575973d6b059e06f2307ea4820a54200f6af7d7",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"description": "Rebase.",
"base": "72913b8c152e588e14f42aaa851df9de642f390d",
"oid": "dc1ff882c5fb734e3e5cc6bc0661531c9323b305",
"timestamp": 1744892449
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2"
},
"info_url": "https://cci.rad.levitte.org//7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2.html"
}
Started at: 2026-09-08 20:15:42.201783+02:00
Commands:
$ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 .
✓ Creating checkout in ./...
✓ Remote cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT added
✓ Remote-tracking branch cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/master created for z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT
✓ Remote fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM added
✓ Remote-tracking branch fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/master created for z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
✓ Remote lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz added
✓ Remote-tracking branch lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz/master created for z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz
✓ Repository successfully cloned under /opt/radcis/ci.rad.levitte.org/cci/state/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 189 issues · 39 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout e99a0decf70cf43936d8b668c4baade577af7faa
✓ Switched to branch patch/e99a0de at revision e575973
✓ Branch patch/e99a0de setup to track rad/patches/e99a0decf70cf43936d8b668c4baade577af7faa
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout dc1ff882c5fb734e3e5cc6bc0661531c9323b305
HEAD is now at dc1ff882 cli/sync: Also print node addresses
Exit code: 0
$ rad patch show e99a0decf70cf43936d8b668c4baade577af7faa -p
╭────────────────────────────────────────────────────────────────────────────╮
│ Title cli/sync: Also print node addresses │
│ Patch e99a0decf70cf43936d8b668c4baade577af7faa │
│ Author lorenz z6MkkPv…WX5sTEz │
│ Head dc1ff882c5fb734e3e5cc6bc0661531c9323b305 │
│ Base 72913b8c152e588e14f42aaa851df9de642f390d │
│ Target master │
│ Branches patch/e99a0de │
│ Commits ahead 0, behind 1096 │
│ Status merged │
├────────────────────────────────────────────────────────────────────────────┤
│ dc1ff88 cli/sync: Also print node addresses │
├────────────────────────────────────────────────────────────────────────────┤
│ ● Revision e99a0de @ d9c7689..ad463c7 by lorenz z6MkkPv…WX5sTEz 1 year ago │
│ ↑ Revision d08caee @ d9c7689..8c06a6b by lorenz z6MkkPv…WX5sTEz 1 year ago │
│ ↑ Revision d31864b @ d9c7689..4a0148c by lorenz z6MkkPv…WX5sTEz 1 year ago │
│ ↑ Revision 8cb372d @ d9c7689..513633e by lorenz z6MkkPv…WX5sTEz 1 year ago │
│ ↑ Revision 8f478fe @ 96637ac..75d430d by lorenz z6MkkPv…WX5sTEz 1 year ago │
│ ↑ Revision e575973 @ 72913b8..dc1ff88 by lorenz z6MkkPv…WX5sTEz 1 year ago │
│ └─ ✓ merged by fintohaps z6Mkire…SQZ3voM │
╰────────────────────────────────────────────────────────────────────────────╯
commit dc1ff882c5fb734e3e5cc6bc0661531c9323b305
Author: Lorenz Leutgeb <lorenz@leutgeb.xyz>
Date: Sun Dec 8 12:17:12 2024 +0100
cli/sync: Also print node addresses
diff --git a/radicle-cli/examples/git/git-push-amend.md b/radicle-cli/examples/git/git-push-amend.md
index f656d62667..a547341d69 100644
--- a/radicle-cli/examples/git/git-push-amend.md
+++ b/radicle-cli/examples/git/git-push-amend.md
@@ -5,7 +5,7 @@ c036c0d89ce26aef3ad7da402157dba16b5163b4
``` ~bob
$ rad sync --fetch
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
```
diff --git a/radicle-cli/examples/git/git-push-converge.md b/radicle-cli/examples/git/git-push-converge.md
index ef9f54aadb..62d90aeef7 100644
--- a/radicle-cli/examples/git/git-push-converge.md
+++ b/radicle-cli/examples/git/git-push-converge.md
@@ -14,15 +14,15 @@ responsibilities:
``` ~bob
$ rad sync --fetch
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 2 seed(s)
```
``` ~eve
$ rad sync --fetch
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 2 seed(s)
```
@@ -58,14 +58,14 @@ found` error is showing up:
``` ~alice
$ rad remote add did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk --name bob
✓ Follow policy updated for z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk (bob)
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Remote bob added
✓ Remote-tracking branch bob/master created for z6Mkt67…v4N1tRk
$ rad remote add did:key:z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z --name eve
✓ Follow policy updated for z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z (eve)
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Remote eve added
✓ Remote-tracking branch eve/master created for z6Mkux1…nVhib7Z
```
@@ -100,8 +100,8 @@ To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkE
``` ~bob
$ rad remote add did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi --name alice
✓ Follow policy updated for z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi (alice)
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Remote alice added
✓ Remote-tracking branch alice/master created for z6MknSL…StBU8Vi
$ git reset --hard alice/master
@@ -126,8 +126,8 @@ Once Eve also resets to the merge commits, the canonical `master` is set to this
``` ~eve
$ rad remote add did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi --name alice
✓ Follow policy updated for z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi (alice)
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Remote alice added
✓ Remote-tracking branch alice/master created for z6MknSL…StBU8Vi
$ git reset --hard alice/master
diff --git a/radicle-cli/examples/git/git-push-diverge.md b/radicle-cli/examples/git/git-push-diverge.md
index cbf8fb3d4f..a9b86e54e4 100644
--- a/radicle-cli/examples/git/git-push-diverge.md
+++ b/radicle-cli/examples/git/git-push-diverge.md
@@ -13,7 +13,7 @@ Then, as Bob, we commit some code on top of the canonical head:
``` ~bob
$ rad sync --fetch
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
$ rad inspect --delegates
did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi (alice)
diff --git a/radicle-cli/examples/git/git-push-rollback.md b/radicle-cli/examples/git/git-push-rollback.md
index 1994624b91..b0c4784557 100644
--- a/radicle-cli/examples/git/git-push-rollback.md
+++ b/radicle-cli/examples/git/git-push-rollback.md
@@ -12,7 +12,7 @@ Bob then syncs these changes and adds a new commit:
``` ~bob
$ rad sync --fetch
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
$ git commit -m "Third commit" --allow-empty -q
$ git push rad
diff --git a/radicle-cli/examples/git/git-tag.md b/radicle-cli/examples/git/git-tag.md
index 6768f8c97d..96b74e9f71 100644
--- a/radicle-cli/examples/git/git-tag.md
+++ b/radicle-cli/examples/git/git-tag.md
@@ -37,7 +37,7 @@ Bob fetches the tag from Alice, by adding her as a remote:
$ cd heartwood
$ rad remote add z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi --name alice
✓ Follow policy updated for z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi (alice)
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Remote alice added
✓ Remote-tracking branch alice/master created for z6MknSL…StBU8Vi
```
@@ -73,7 +73,7 @@ update of the tag:
``` ~bob
$ rad sync -f
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
```
diff --git a/radicle-cli/examples/rad-clone-all.md b/radicle-cli/examples/rad-clone-all.md
index 0c1378b594..9ee1980b8a 100644
--- a/radicle-cli/examples/rad-clone-all.md
+++ b/radicle-cli/examples/rad-clone-all.md
@@ -1,7 +1,7 @@
```
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --scope all
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'all'
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
diff --git a/radicle-cli/examples/rad-clone-connect.md b/radicle-cli/examples/rad-clone-connect.md
index 4d8247748e..852906ec53 100644
--- a/radicle-cli/examples/rad-clone-connect.md
+++ b/radicle-cli/examples/rad-clone-connect.md
@@ -5,9 +5,9 @@ automatically connect to the necessary seeds.
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'all'
✓ Connecting to z6Mkt67…v4N1tRk@[..]
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Connecting to z6MknSL…StBU8Vi@[..]
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
diff --git a/radicle-cli/examples/rad-clone-directory.md b/radicle-cli/examples/rad-clone-directory.md
index 02f48cb24c..f499fac5db 100644
--- a/radicle-cli/examples/rad-clone-directory.md
+++ b/radicle-cli/examples/rad-clone-directory.md
@@ -4,7 +4,7 @@ by specifying the directory in the `rad clone` command:
```
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --scope followed Developer/Radicle
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'followed'
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Creating checkout in ./Developer/Radicle..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
@@ -22,6 +22,6 @@ and is not empty, will fail:
``` (fail)
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --scope followed Developer/Radicle
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✗ Error: the directory path "Developer/Radicle" already exists
```
diff --git a/radicle-cli/examples/rad-clone-partial-fail.md b/radicle-cli/examples/rad-clone-partial-fail.md
index c0270700e2..6fd8dd6b01 100644
--- a/radicle-cli/examples/rad-clone-partial-fail.md
+++ b/radicle-cli/examples/rad-clone-partial-fail.md
@@ -16,8 +16,8 @@ still returns successfully.
```
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --timeout 3
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'all'
-✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk.. error: failed to perform fetch handshake
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✗ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..].. error: failed to perform fetch handshake
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✗ Connecting to z6MksFq…bS9wzpT@[..].. error: connection reset
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
diff --git a/radicle-cli/examples/rad-clone.md b/radicle-cli/examples/rad-clone.md
index df2662ca97..4dc68cd81d 100644
--- a/radicle-cli/examples/rad-clone.md
+++ b/radicle-cli/examples/rad-clone.md
@@ -4,7 +4,7 @@ To create a local copy of a repository on the radicle network, we use the
```
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --scope followed
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'followed'
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
diff --git a/radicle-cli/examples/rad-fetch.md b/radicle-cli/examples/rad-fetch.md
index c4b32464f2..8e03ce1580 100644
--- a/radicle-cli/examples/rad-fetch.md
+++ b/radicle-cli/examples/rad-fetch.md
@@ -19,7 +19,7 @@ by passing the `--fetch` option.
```
$ rad sync --fetch rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
```
diff --git a/radicle-cli/examples/rad-id-collaboration.md b/radicle-cli/examples/rad-id-collaboration.md
index 5b21d7bbe9..d36892e2a1 100644
--- a/radicle-cli/examples/rad-id-collaboration.md
+++ b/radicle-cli/examples/rad-id-collaboration.md
@@ -9,8 +9,8 @@ to have a fork of the project and Alice must be aware of the fork:
``` ~bob
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --scope followed
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'followed'
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
@@ -50,15 +50,15 @@ So, instead Alice needs to first follow Bob and fetch his references:
$ rad follow did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk --alias bob
✓ Follow policy updated for z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk (bob)
$ rad sync
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
✓ Fetched repository from 2 seed(s)
✓ Synced with 1 node(s)
$ rad id update --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --title "Add Bob" --description "" --threshold 2 --delegate did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk --no-confirm -q
069e7d58faa9a7473d27f5510d676af33282796f
$ rad sync
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
✓ Fetched repository from 2 seed(s)
✓ Synced with 3 node(s)
```
@@ -67,8 +67,8 @@ Bob can confirm that he was made a delegate by fetching the update:
``` ~bob
$ rad sync
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
✓ Fetched repository from 2 seed(s)
✓ Synced with 1 node(s)
$ rad inspect --delegates
@@ -83,8 +83,8 @@ between Alice and Bob. Eve first needs to setup a fork:
``` ~eve
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --scope followed
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'followed'
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
@@ -107,8 +107,8 @@ Bob then adds Eve as a delegate:
$ rad id update --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --title "Add Eve" --description "" --delegate did:key:z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z --no-confirm -q
3cd3c7f9900de0fcb19705856a7cc339a38fb0b3
$ rad sync
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
✓ Fetched repository from 2 seed(s)
✓ Synced with 3 node(s)
```
@@ -122,8 +122,8 @@ the change to meet a quorum of votes (`votes >= (delegates / 2) + 1`):
``` ~alice
$ rad sync
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
✓ Fetched repository from 2 seed(s)
✓ Nothing to announce, already in sync with 3 node(s) (see `rad sync status`)
$ rad id list
@@ -157,8 +157,8 @@ since she has become a delegate:
``` ~alice
$ rad sync --timeout 3
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
✓ Fetched repository from 2 seed(s)
✓ Synced with 3 node(s)
$ rad inspect rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --sigrefs
@@ -173,8 +173,8 @@ see that both seeds are `synced`:
``` ~eve
$ rad sync
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkvVv…Z1Ct4tD@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MkuPZ…xEuaPUp@[..]..
✓ Fetched repository from 2 seed(s)
✓ Synced with 3 node(s)
$ rad sync status
diff --git a/radicle-cli/examples/rad-id-conflict.md b/radicle-cli/examples/rad-id-conflict.md
index 11f7e1771b..49d65306b6 100644
--- a/radicle-cli/examples/rad-id-conflict.md
+++ b/radicle-cli/examples/rad-id-conflict.md
@@ -7,7 +7,7 @@ $ rad id update --title "Add Bob" --description "Add Bob as a delegate" --delega
``` ~bob
$ cd heartwood
$ rad sync --fetch rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
```
@@ -28,7 +28,7 @@ revisions.
``` ~alice
$ rad sync --fetch rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Fetched repository from 1 seed(s)
$ rad id list
╭─────────────────────────────────────────────────────────────────────────────────╮
@@ -62,7 +62,7 @@ accepted now.
``` ~bob
$ rad sync --fetch rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
```
``` ~bob (fail)
diff --git a/radicle-cli/examples/rad-id-multi-delegate.md b/radicle-cli/examples/rad-id-multi-delegate.md
index 26d5cb0603..d2d057cf78 100644
--- a/radicle-cli/examples/rad-id-multi-delegate.md
+++ b/radicle-cli/examples/rad-id-multi-delegate.md
@@ -6,7 +6,7 @@ $ rad id update --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --title "Add Bob" --des
``` ~bob
$ rad watch --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --node z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z -r 'refs/rad/sigrefs' -t c9a828fc2fb01f893d6e6e9e17b9092dea2b3aba -i 500 --timeout 5000
$ rad sync --fetch rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
$ rad id --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
╭────────────────────────────────────────────────────────────────────────────────╮
@@ -57,8 +57,8 @@ $ rad id update --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --title "Add Eve" --des
``` ~alice
$ rad sync --fetch rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Fetched repository from 2 seed(s)
$ rad inspect rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --delegates
did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi (alice)
diff --git a/radicle-cli/examples/rad-id-threshold.md b/radicle-cli/examples/rad-id-threshold.md
index 73d6ccc62d..482f1b9a99 100644
--- a/radicle-cli/examples/rad-id-threshold.md
+++ b/radicle-cli/examples/rad-id-threshold.md
@@ -96,7 +96,7 @@ errors:
``` ~seed
$ rad sync rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji -f
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
```
@@ -170,8 +170,8 @@ sync` and fetch his references:
``` ~bob
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'all'
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
@@ -192,8 +192,8 @@ $ rad fork
``` ~alice
$ rad sync -f
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Fetched repository from 2 seed(s)
$ rad inspect --sigrefs
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi ae3c6b77dc1ed51c1c1e6a2772339c2779fa9ba8
diff --git a/radicle-cli/examples/rad-init-private-clone-seed.md b/radicle-cli/examples/rad-init-private-clone-seed.md
index 1094892a20..859f86dce5 100644
--- a/radicle-cli/examples/rad-init-private-clone-seed.md
+++ b/radicle-cli/examples/rad-init-private-clone-seed.md
@@ -31,7 +31,7 @@ $ rad inspect --identity
$ rad ls --all --private
$ rad clone rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu --seed z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi --timeout 1
✓ Seeding policy updated for rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu with scope 'all'
-✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi..
+✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi@[..]..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
@@ -49,5 +49,5 @@ We can also use `rad seed` to seed and fetch without creating a checkout.
``` ~bob
$ rad seed rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu --from z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi --timeout 1
✓ Seeding policy exists for rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu with scope 'all'
-✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi..
+✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi@[..]..
```
diff --git a/radicle-cli/examples/rad-init-private-clone.md b/radicle-cli/examples/rad-init-private-clone.md
index fe57bcfc6d..89f94965e2 100644
--- a/radicle-cli/examples/rad-init-private-clone.md
+++ b/radicle-cli/examples/rad-init-private-clone.md
@@ -7,7 +7,7 @@ $ rad ls
``` ~bob (fail)
$ rad clone rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu --seed z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi --timeout 1
✓ Seeding policy updated for rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu with scope 'all'
-✗ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi.. error: failed to perform fetch handshake
+✗ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi@[..].. error: failed to perform fetch handshake
✗ Error: repository rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu not found
```
@@ -26,7 +26,7 @@ that Alice has the repo after she announced her refs:
``` ~bob
$ rad sync rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu --fetch
-✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi..
+✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
$ rad ls --private --all
╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮
diff --git a/radicle-cli/examples/rad-init-private-seed.md b/radicle-cli/examples/rad-init-private-seed.md
index 7db7de8b82..501325300e 100644
--- a/radicle-cli/examples/rad-init-private-seed.md
+++ b/radicle-cli/examples/rad-init-private-seed.md
@@ -24,7 +24,7 @@ He has to specify a seed that isn't in his routing table:
``` ~bob
$ rad sync rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu --fetch --seed z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
-✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi..
+✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
```
@@ -42,7 +42,7 @@ seed succeeds.
``` ~bob
$ rad sync rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu --fetch --seed z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi --seed z6MkwPUeUS2fJMfc2HZN1RQTQcTTuhw4HhPySB8JeUg2mVvx
-✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi..
+✓ Fetching rad:z2ug5mwNKZB8KGpBDRTrWHAMbvHCu from z6MknSL…StBU8Vi@[..]..
! Warning: no addresses found for z6MkwPUeUS2fJMfc2HZN1RQTQcTTuhw4HhPySB8JeUg2mVvx, skipping..
✓ Fetched repository from 1 seed(s)
```
diff --git a/radicle-cli/examples/rad-patch-checkout-force.md b/radicle-cli/examples/rad-patch-checkout-force.md
index c08c037389..279959e12b 100644
--- a/radicle-cli/examples/rad-patch-checkout-force.md
+++ b/radicle-cli/examples/rad-patch-checkout-force.md
@@ -24,7 +24,7 @@ On the other end, Bob uses `rad patch checkout` to view the patch:
``` ~bob
$ cd heartwood
$ rad sync -f
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
$ rad patch checkout aa45913 --name alice-init
✓ Switched to branch alice-init at revision aa45913
diff --git a/radicle-cli/examples/rad-patch-delete.md b/radicle-cli/examples/rad-patch-delete.md
index 200124cb40..5d33d685ed 100644
--- a/radicle-cli/examples/rad-patch-delete.md
+++ b/radicle-cli/examples/rad-patch-delete.md
@@ -19,7 +19,7 @@ To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkE
``` ~bob
$ cd heartwood
$ rad sync -f
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
$ rad patch comment 6c61ef1 -m "I think we should use MIT"
╭───────────────────────────╮
diff --git a/radicle-cli/examples/rad-patch-pull-update.md b/radicle-cli/examples/rad-patch-pull-update.md
index 9f93cfa8c1..8a280467c9 100644
--- a/radicle-cli/examples/rad-patch-pull-update.md
+++ b/radicle-cli/examples/rad-patch-pull-update.md
@@ -23,7 +23,7 @@ To push changes, run `git push`.
``` ~bob
$ rad clone rad:zhbMU4DUXrzB8xT6qAJh6yZ7bFMK
✓ Seeding policy updated for rad:zhbMU4DUXrzB8xT6qAJh6yZ7bFMK with scope 'all'
-✓ Fetching rad:zhbMU4DUXrzB8xT6qAJh6yZ7bFMK from z6MknSL…StBU8Vi..
+✓ Fetching rad:zhbMU4DUXrzB8xT6qAJh6yZ7bFMK from z6MknSL…StBU8Vi@[..]..
✓ Creating checkout in ./heartwood..
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSL…StBU8Vi
diff --git a/radicle-cli/examples/rad-push-and-pull-patches.md b/radicle-cli/examples/rad-push-and-pull-patches.md
index 8c5f2e1e5b..1fee53d34d 100644
--- a/radicle-cli/examples/rad-push-and-pull-patches.md
+++ b/radicle-cli/examples/rad-push-and-pull-patches.md
@@ -17,7 +17,7 @@ $ rad patch checkout d004b67
✓ Branch patch/d004b67 setup to track rad/patches/d004b67355456c46de10c0d287e4a791ad1a6945
$ rad remote add z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk
✓ Follow policy updated for z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Remote bob@z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk added
✓ Remote-tracking branch bob@z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk/master created for z6Mkt67…v4N1tRk
$ git checkout master -q
diff --git a/radicle-cli/examples/rad-sync.md b/radicle-cli/examples/rad-sync.md
index 172f9f620f..851b0382d8 100644
--- a/radicle-cli/examples/rad-sync.md
+++ b/radicle-cli/examples/rad-sync.md
@@ -55,8 +55,8 @@ We can also use the `--fetch` option to only fetch objects:
```
$ rad sync --fetch
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Fetched repository from 2 seed(s)
```
@@ -64,8 +64,8 @@ Specifying both `--fetch` and `--announce` is equivalent to specifying none:
```
$ rad sync --fetch --announce
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Fetched repository from 2 seed(s)
✓ Nothing to announce, already in sync with 2 node(s) (see `rad sync status`)
```
@@ -74,7 +74,7 @@ It's also possible to use the `--seed` flag to only sync with a specific node:
```
$ rad sync --fetch --seed z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Fetched repository from 1 seed(s)
```
@@ -87,7 +87,7 @@ $ rad issue open --title "Test `rad sync --replicas`" --description "Check that
```
$ rad sync --replicas 1
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkux1…nVhib7Z@[..]..
✓ Fetched repository from 1 seed(s)
✓ Synced with 1 node(s)
```
diff --git a/radicle-cli/examples/workflow/5-patching-maintainer.md b/radicle-cli/examples/workflow/5-patching-maintainer.md
index f1f3ee0e7e..b20a2e3414 100644
--- a/radicle-cli/examples/workflow/5-patching-maintainer.md
+++ b/radicle-cli/examples/workflow/5-patching-maintainer.md
@@ -8,7 +8,7 @@ of this.
```
$ rad remote add z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk --name bob --sync --fetch
✓ Follow policy updated for z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk (bob)
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6Mkt67…v4N1tRk@[..]..
✓ Remote bob added
✓ Remote-tracking branch bob/master created for z6Mkt67…v4N1tRk
```
diff --git a/radicle-cli/examples/workflow/6-pulling-contributor.md b/radicle-cli/examples/workflow/6-pulling-contributor.md
index 2e57b5c703..5d3f2083c0 100644
--- a/radicle-cli/examples/workflow/6-pulling-contributor.md
+++ b/radicle-cli/examples/workflow/6-pulling-contributor.md
@@ -10,7 +10,7 @@ f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354
Then, we call `rad sync --fetch` to fetch from the maintainer:
```
$ rad sync --fetch
-✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
+✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi@[..]..
✓ Fetched repository from 1 seed(s)
```
diff --git a/radicle-cli/src/commands/sync.rs b/radicle-cli/src/commands/sync.rs
index d9db82d7fc..e8b52e566b 100644
--- a/radicle-cli/src/commands/sync.rs
+++ b/radicle-cli/src/commands/sync.rs
@@ -9,9 +9,9 @@ use anyhow::{anyhow, Context as _};
use radicle::node;
use radicle::node::address::Store;
-use radicle::node::AliasStore;
-use radicle::node::Seed;
-use radicle::node::{FetchResult, FetchResults, Handle as _, Node, SyncStatus};
+use radicle::node::{
+ AliasStore, FetchResult, FetchResults, Handle as _, Node, Seed, Session, SyncStatus,
+};
use radicle::prelude::{NodeId, Profile, RepoId};
use radicle::storage::{ReadStorage, RemoteRepository};
use radicle_term::Element;
@@ -461,25 +461,35 @@ pub fn fetch(
// Fetch from specified seeds, connecting to them if necessary.
for nid in &settings.seeds {
- if node.session(*nid)?.is_some_and(|s| s.is_connected()) {
- fetch_from(rid, nid, settings.timeout, &mut results, node)?;
- } else {
- let addrs = db.addresses_of(nid)?;
- if addrs.is_empty() {
- results.push(
+ match node.session(*nid)? {
+ Some(session) if session.is_connected() => {
+ fetch_from(
+ rid,
+ nid,
+ &session.addr,
+ settings.timeout,
+ &mut results,
+ node,
+ )?;
+ }
+ _ => {
+ let addrs = db.addresses_of(nid)?;
+ if addrs.is_empty() {
+ results.push(
+ *nid,
+ FetchResult::Failed {
+ reason: format!("no addresses found in routing table for {nid}"),
+ },
+ );
+ term::warning(format!("no addresses found for {nid}, skipping.."));
+ } else if let Some(addr) = connect(
*nid,
- FetchResult::Failed {
- reason: format!("no addresses found in routing table for {nid}"),
- },
- );
- term::warning(format!("no addresses found for {nid}, skipping.."));
- } else if connect(
- *nid,
- addrs.into_iter().map(|ka| ka.addr),
- settings.timeout,
- node,
- ) {
- fetch_from(rid, nid, settings.timeout, &mut results, node)?;
+ addrs.into_iter().map(|ka| ka.addr),
+ settings.timeout,
+ node,
+ ) {
+ fetch_from(rid, nid, &addr, settings.timeout, &mut results, node)?;
+ }
}
}
// We are done when we either hit our replica count,
@@ -512,7 +522,18 @@ pub fn fetch(
let Some(nid) = connected.pop_front() else {
break;
};
- fetch_from(rid, &nid, settings.timeout, &mut results, node)?;
+ if let Some(session) = node.session(nid)? {
+ fetch_from(
+ rid,
+ &nid,
+ &session.addr,
+ settings.timeout,
+ &mut results,
+ node,
+ )?;
+ } else {
+ log::warn!("Could not obtain session for seed with ID {nid}, even though it should be connected.")
+ }
}
// Try to connect to disconnected seeds and fetch from them.
@@ -524,13 +545,13 @@ pub fn fetch(
// Skip our own node.
continue;
}
- if connect(
+ if let Some(addr) = connect(
seed.nid,
seed.addrs.into_iter().map(|ka| ka.addr),
settings.timeout,
node,
) {
- fetch_from(rid, &seed.nid, settings.timeout, &mut results, node)?;
+ fetch_from(rid, &seed.nid, &addr, settings.timeout, &mut results, node)?;
}
}
@@ -542,7 +563,7 @@ fn connect(
addrs: impl Iterator<Item = node::Address>,
timeout: time::Duration,
node: &mut Node,
-) -> bool {
+) -> Option<node::Address> {
// Try all addresses until one succeeds.
for addr in addrs {
let spinner = term::spinner(format!(
@@ -552,7 +573,7 @@ fn connect(
));
let cr = node.connect(
nid,
- addr,
+ addr.clone(),
node::ConnectOptions {
persistent: false,
timeout,
@@ -562,7 +583,7 @@ fn connect(
match cr {
Ok(node::ConnectResult::Connected) => {
spinner.finish();
- return true;
+ return Some(addr);
}
Ok(node::ConnectResult::Disconnected { reason }) => {
spinner.error(reason);
@@ -574,20 +595,29 @@ fn connect(
}
}
}
- false
+ None
}
fn fetch_from(
rid: RepoId,
seed: &NodeId,
+ addr: &node::Address,
timeout: time::Duration,
results: &mut FetchResults,
node: &mut Node,
) -> Result<(), node::Error> {
+ // NOTE: addr is only used for better output.
+ // Whether it actually corresponds to the addr
+ // of the connection to seed is not checked.
+ // There could be races.
+ // Our goal is to provide better output to the user,
+ // and it should be good enough for that.
+
let spinner = term::spinner(format!(
- "Fetching {} from {}..",
+ "Fetching {} from {}@{}..",
term::format::tertiary(rid),
- term::format::tertiary(term::format::node(seed))
+ term::format::tertiary(term::format::node(seed)),
+ addr,
));
let result = node.fetch(rid, *seed, timeout)?;
Exit code: 0
shell: 'cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- --deny warnings cargo build --all-targets --workspace cargo doc --workspace --no-deps cargo test --workspace --no-fail-fast '
Commands:
$ podman run --name 7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2 -v /opt/radcis/ci.rad.levitte.org/cci/state/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/s:/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w:/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w -w /7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:trixie bash /7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/s/script.sh
+ cargo --version
info: syncing channel updates for '1.85-x86_64-unknown-linux-gnu'
info: latest update on 2025-03-18, rust version 1.85.1 (4eb161250 2025-03-15)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-src'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-src'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
cargo 1.85.1 (d73d2caf9 2024-12-31)
+ rustc --version
rustc 1.85.1 (4eb161250 2025-03-15)
+ cargo fmt --check
+ cargo clippy --all-targets --workspace -- --deny warnings
Updating crates.io index
Downloading crates ...
Downloaded aead v0.5.2
Downloaded adler2 v2.0.0
Downloaded rand_core v0.6.4
Downloaded rand_chacha v0.3.1
Downloaded amplify_num v0.5.2
Downloaded gix-pack v0.56.0
Downloaded rsa v0.9.6
Downloaded chacha20 v0.9.1
Downloaded ryu v1.0.17
Downloaded bitflags v2.5.0
Downloaded const-oid v0.9.6
Downloaded chacha20poly1305 v0.10.1
Downloaded spin v0.9.8
Downloaded sec1 v0.7.3
Downloaded serde v1.0.219
Downloaded ct-codecs v1.1.1
Downloaded cc v1.2.2
Downloaded gix-fs v0.12.1
Downloaded tree-sitter-language v0.1.2
Downloaded ed25519 v1.5.3
Downloaded der v0.7.9
Downloaded writeable v0.5.5
Downloaded tree-sitter-toml-ng v0.6.0
Downloaded ssh-cipher v0.2.0
Downloaded signals_receipts v0.2.0
Downloaded socket2 v0.5.7
Downloaded tree-sitter-json v0.24.8
Downloaded gix-path v0.10.15
Downloaded gix-hash v0.15.1
Downloaded gix-odb v0.66.0
Downloaded nonempty v0.5.0
Downloaded netservices v0.8.0
Downloaded num-integer v0.1.46
Downloaded icu_normalizer_data v1.5.1
Downloaded newline-converter v0.3.0
Downloaded zerofrom v0.1.6
Downloaded libm v0.2.8
Downloaded jobserver v0.1.31
Downloaded pem-rfc7468 v0.7.0
Downloaded numtoa v0.1.0
Downloaded keccak v0.1.5
Downloaded idna_adapter v1.2.0
Downloaded icu_locid v1.5.0
Downloaded pkg-config v0.3.30
Downloaded localtime v1.3.1
Downloaded once_cell v1.19.0
Downloaded percent-encoding v2.3.1
Downloaded io-reactor v0.5.2
Downloaded multibase v0.9.1
Downloaded gix-refspec v0.27.0
Downloaded qcheck-macros v1.0.0
Downloaded num-iter v0.1.44
Downloaded zeroize v1.7.0
Downloaded unicode-width v0.1.11
Downloaded typenum v1.17.0
Downloaded icu_collections v1.5.0
Downloaded group v0.13.0
Downloaded pkcs8 v0.10.2
Downloaded gix-prompt v0.9.1
Downloaded lazy_static v1.5.0
Downloaded gix-quote v0.4.15
Downloaded gix-validate v0.9.4
Downloaded lexopt v0.3.0
Downloaded iana-time-zone v0.1.60
Downloaded gix-transport v0.44.0
Downloaded poly1305 v0.8.0
Downloaded lock_api v0.4.11
Downloaded miniz_oxide v0.8.8
Downloaded inquire v0.7.5
Downloaded gix-packetline v0.18.4
Downloaded gix-ref v0.49.1
Downloaded hmac v0.12.1
Downloaded primeorder v0.13.6
Downloaded qcheck v1.0.0
Downloaded phf v0.11.3
Downloaded num-traits v0.2.18
Downloaded pkcs1 v0.7.5
Downloaded ssh-key v0.6.6
Downloaded proc-macro2 v1.0.92
Downloaded icu_properties v1.5.1
Downloaded jiff v0.2.1
Downloaded gix-protocol v0.47.0
Downloaded tree-sitter-go v0.23.4
Downloaded pretty_assertions v1.4.0
Downloaded prodash v29.0.2
Downloaded serde_json v1.0.116
Downloaded p256 v0.13.2
Downloaded url v2.5.4
Downloaded unicode-segmentation v1.11.0
Downloaded unicode-normalization v0.1.23
Downloaded zerovec-derive v0.10.3
Downloaded gix-revision v0.31.1
Downloaded winnow v0.6.26
Downloaded hashbrown v0.14.3
Downloaded tree-sitter-python v0.23.4
Downloaded p521 v0.13.3
Downloaded tree-sitter v0.24.4
Downloaded vcpkg v0.2.15
Downloaded tree-sitter-c v0.23.2
Downloaded p384 v0.13.0
Downloaded syn v1.0.109
Downloaded libc v0.2.155
Downloaded tree-sitter-md v0.3.2
Downloaded tree-sitter-rust v0.23.2
Downloaded syn v2.0.89
Downloaded regex-automata v0.4.9
Downloaded rustix v0.38.34
Downloaded quote v1.0.36
Downloaded tree-sitter-bash v0.23.3
Downloaded indexmap v2.2.6
Downloaded proc-macro-error v1.0.4
Downloaded tree-sitter-css v0.23.1
Downloaded tree-sitter-ruby v0.23.1
Downloaded tempfile v3.10.1
Downloaded phf_shared v0.11.3
Downloaded gix-traverse v0.43.1
Downloaded log v0.4.21
Downloaded memmap2 v0.9.4
Downloaded ppv-lite86 v0.2.17
Downloaded walkdir v2.5.0
Downloaded popol v3.0.0
Downloaded radicle-git-ext v0.8.0
Downloaded polyval v0.6.2
Downloaded unicode-ident v1.0.12
Downloaded gix-trace v0.1.12
Downloaded tree-sitter-typescript v0.23.2
Downloaded gix-revwalk v0.17.0
Downloaded radicle-std-ext v0.1.0
Downloaded maybe-async v0.2.10
Downloaded idna v1.0.3
Downloaded litemap v0.7.5
Downloaded proc-macro-error-attr v1.0.4
Downloaded opaque-debug v0.3.1
Downloaded parking_lot v0.12.1
Downloaded sha3 v0.10.8
Downloaded icu_provider v1.5.0
Downloaded thiserror-impl v1.0.69
Downloaded gix-shallow v0.1.0
Downloaded parking_lot_core v0.9.9
Downloaded thiserror v1.0.69
Downloaded gix-utils v0.1.14
Downloaded gix-tempfile v15.0.0
Downloaded linux-raw-sys v0.4.13
Downloaded memchr v2.7.2
Downloaded rand v0.8.5
Downloaded num-bigint-dig v0.8.4
Downloaded itoa v1.0.11
Downloaded home v0.5.9
Downloaded thiserror-impl v2.0.12
Downloaded thiserror v2.0.12
Downloaded streaming-iterator v0.1.9
Downloaded normalize-line-endings v0.3.0
Downloaded libgit2-sys v0.17.0+1.8.1
Downloaded utf8parse v0.2.1
Downloaded utf8_iter v1.0.4
Downloaded subtle v2.5.0
Downloaded noise-framework v0.4.0
Downloaded gix-date v0.9.4
Downloaded pbkdf2 v0.12.2
Downloaded zerovec v0.10.4
Downloaded zerofrom-derive v0.1.6
Downloaded write16 v1.0.0
Downloaded version_check v0.9.4
Downloaded tree-sitter-highlight v0.24.4
Downloaded inout v0.1.3
Downloaded icu_provider_macros v1.5.0
Downloaded icu_properties_data v1.5.1
Downloaded nonempty v0.9.0
Downloaded icu_locid_transform_data v1.5.1
Downloaded radicle-surf v0.22.0
Downloaded tree-sitter-html v0.23.2
Downloaded termion v3.0.0
Downloaded git2 v0.19.0
Downloaded emojis v0.6.4
Downloaded either v1.11.0
Downloaded data-encoding-macro-internal v0.1.12
Downloaded data-encoding-macro v0.1.14
Downloaded gix-sec v0.10.12
Downloaded tinyvec_macros v0.1.1
Downloaded gix-commitgraph v0.25.1
Downloaded git-ref-format v0.3.0
Downloaded equivalent v1.0.1
Downloaded utf16_iter v1.0.5
Downloaded yoke-derive v0.7.5
Downloaded xattr v1.3.1
Downloaded cyphernet v0.5.2
Downloaded scrypt v0.11.0
Downloaded errno v0.3.9
Downloaded regex-syntax v0.8.5
Downloaded gix-object v0.46.1
Downloaded icu_locid_transform v1.5.0
Downloaded yoke v0.7.5
Downloaded tinyvec v1.6.0
Downloaded tar v0.4.40
Downloaded snapbox v0.4.17
Downloaded smallvec v1.13.2
Downloaded sem_safe v0.2.0
Downloaded data-encoding v2.5.0
Downloaded gix-url v0.28.2
Downloaded unicode-display-width v0.3.0
Downloaded gix-credentials v0.26.0
Downloaded elliptic-curve v0.13.8
Downloaded icu_normalizer v1.5.0
Downloaded yansi v0.5.1
Downloaded universal-hash v0.5.1
Downloaded stable_deref_trait v1.2.0
Downloaded spki v0.7.3
Downloaded siphasher v0.3.11
Downloaded gix-command v0.4.1
Downloaded gix-chunk v0.4.11
Downloaded git-ref-format-core v0.3.0
Downloaded displaydoc v0.2.5
Downloaded diff v0.1.13
Downloaded crossbeam-utils v0.8.19
Downloaded gix-diff v0.49.0
Downloaded form_urlencoded v1.2.1
Downloaded flate2 v1.1.1
Downloaded fastrand v2.1.0
Downloaded escargot v0.5.10
Downloaded digest v0.10.7
Downloaded crypto-common v0.1.6
Downloaded crypto-bigint v0.5.5
Downloaded crc32fast v1.4.0
Downloaded cpufeatures v0.2.12
Downloaded libz-sys v1.1.16
Downloaded tinystr v0.7.6
Downloaded sha2 v0.10.8
Downloaded gix-hashtable v0.6.0
Downloaded git-ref-format-macro v0.3.0
Downloaded ec25519 v0.1.0
Downloaded sqlite3-src v0.5.1
Downloaded dyn-clone v1.0.17
Downloaded ctr v0.9.2
Downloaded anstream v0.6.13
Downloaded ssh-encoding v0.2.0
Downloaded socks5-client v0.4.1
Downloaded signature v2.2.0
Downloaded gix-features v0.39.1
Downloaded ghash v0.5.1
Downloaded fxhash v0.2.1
Downloaded ff v0.13.0
Downloaded faster-hex v0.9.0
Downloaded same-file v1.0.6
Downloaded generic-array v0.14.7
Downloaded shell-words v1.1.0
Downloaded sqlite3-sys v0.15.2
Downloaded filetime v0.2.23
Downloaded cyphergraphy v0.3.0
Downloaded synstructure v0.13.1
Downloaded sha1_smol v1.0.0
Downloaded serde_derive v1.0.219
Downloaded scopeguard v1.2.0
Downloaded salsa20 v0.10.2
Downloaded bstr v1.9.1
Downloaded timeago v0.4.2
Downloaded termion v2.0.3
Downloaded similar v2.5.0
Downloaded shlex v1.3.0
Downloaded gix-lock v15.0.1
Downloaded gix-config-value v0.14.12
Downloaded getrandom v0.2.15
Downloaded ecdsa v0.16.9
Downloaded crossbeam-channel v0.5.15
Downloaded sqlite v0.32.0
Downloaded snapbox-macros v0.3.8
Downloaded siphasher v1.0.1
Downloaded signature v1.6.4
Downloaded gix-negotiate v0.17.0
Downloaded cypheraddr v0.4.0
Downloaded gix-actor v0.33.2
Downloaded bloomy v1.2.0
Downloaded base64 v0.22.1
Downloaded aho-corasick v1.1.3
Downloaded chrono v0.4.38
Downloaded regex v1.11.1
Downloaded byteorder v1.5.0
Downloaded base64 v0.21.7
Downloaded amplify v4.6.0
Downloaded aes-gcm v0.10.3
Downloaded cbc v0.1.2
Downloaded blowfish v0.9.1
Downloaded base64 v0.13.1
Downloaded autocfg v1.2.0
Downloaded ascii v1.1.0
Downloaded arc-swap v1.7.1
Downloaded aes v0.8.4
Downloaded anyhow v1.0.82
Downloaded amplify_syn v2.0.1
Downloaded anstyle-query v1.0.2
Downloaded rfc6979 v0.4.0
Downloaded colored v2.1.0
Downloaded cipher v0.4.4
Downloaded block-padding v0.3.3
Downloaded bcrypt-pbkdf v0.10.0
Downloaded base64ct v1.6.0
Downloaded anstyle-parse v0.2.3
Downloaded anstyle v1.0.6
Downloaded amplify_derive v4.0.0
Downloaded block-buffer v0.10.4
Downloaded base16ct v0.2.0
Downloaded colorchoice v1.0.0
Downloaded cfg-if v1.0.0
Downloaded base32 v0.4.0
Downloaded base-x v0.2.11
Compiling libc v0.2.155
Compiling proc-macro2 v1.0.92
Compiling unicode-ident v1.0.12
Checking cfg-if v1.0.0
Compiling shlex v1.3.0
Compiling version_check v0.9.4
Checking memchr v2.7.2
Compiling jobserver v0.1.31
Compiling quote v1.0.36
Compiling typenum v1.17.0
Compiling syn v2.0.89
Compiling cc v1.2.2
Checking getrandom v0.2.15
Compiling generic-array v0.14.7
Checking aho-corasick v1.1.3
Checking regex-syntax v0.8.5
Checking rand_core v0.6.4
Checking smallvec v1.13.2
Compiling serde v1.0.219
Checking crypto-common v0.1.6
Checking log v0.4.21
Checking fastrand v2.1.0
Compiling autocfg v1.2.0
Checking bitflags v2.5.0
Checking regex-automata v0.4.9
Checking subtle v2.5.0
Compiling syn v1.0.109
Checking once_cell v1.19.0
Checking stable_deref_trait v1.2.0
Checking zeroize v1.7.0
Checking cpufeatures v0.2.12
Checking tinyvec_macros v0.1.1
Checking tinyvec v1.6.0
Compiling synstructure v0.13.1
Compiling crc32fast v1.4.0
Checking unicode-normalization v0.1.23
Checking bstr v1.9.1
Checking block-padding v0.3.3
Compiling serde_derive v1.0.219
Compiling zerofrom-derive v0.1.6
Compiling yoke-derive v0.7.5
Compiling zerovec-derive v0.10.3
Compiling displaydoc v0.2.5
Checking zerofrom v0.1.6
Checking yoke v0.7.5
Checking writeable v0.5.5
Checking litemap v0.7.5
Compiling icu_locid_transform_data v1.5.1
Checking inout v0.1.3
Compiling icu_provider_macros v1.5.0
Checking block-buffer v0.10.4
Checking zerovec v0.10.4
Compiling pkg-config v0.3.30
Compiling icu_properties_data v1.5.1
Checking digest v0.10.7
Checking tinystr v0.7.6
Checking cipher v0.4.4
Compiling icu_normalizer_data v1.5.1
Checking icu_locid v1.5.0
Checking icu_collections v1.5.0
Compiling thiserror v1.0.69
Checking icu_provider v1.5.0
Compiling thiserror-impl v1.0.69
Checking write16 v1.0.0
Checking utf8_iter v1.0.4
Checking utf16_iter v1.0.5
Checking icu_locid_transform v1.5.0
Compiling rustix v0.38.34
Checking sha2 v0.10.8
Checking icu_properties v1.5.1
Checking hashbrown v0.14.3
Checking itoa v1.0.11
Checking percent-encoding v2.3.1
Checking linux-raw-sys v0.4.13
Checking universal-hash v0.5.1
Checking form_urlencoded v1.2.1
Compiling vcpkg v0.2.15
Checking opaque-debug v0.3.1
Compiling amplify_syn v2.0.1
Checking icu_normalizer v1.5.0
Checking byteorder v1.5.0
Compiling libz-sys v1.1.16
Compiling data-encoding v2.5.0
Checking idna_adapter v1.2.0
Checking idna v1.0.3
Checking url v2.5.4
Compiling amplify_derive v4.0.0
Compiling data-encoding-macro-internal v0.1.12
Checking amplify_num v0.5.2
Checking ascii v1.1.0
Checking signature v1.6.4
Checking ed25519 v1.5.3
Checking data-encoding-macro v0.1.14
Checking tempfile v3.10.1
Compiling libgit2-sys v0.17.0+1.8.1
Checking aead v0.5.2
Compiling proc-macro-error-attr v1.0.4
Checking ct-codecs v1.1.1
Checking base-x v0.2.11
Checking ec25519 v0.1.0
Checking multibase v0.9.1
Checking poly1305 v0.8.0
Checking chacha20 v0.9.1
Compiling proc-macro-error v1.0.4
Checking amplify v4.6.0
Checking keccak v0.1.5
Checking sha3 v0.10.8
Compiling git-ref-format-core v0.3.0
Checking cyphergraphy v0.3.0
Checking polyval v0.6.2
Checking hmac v0.12.1
Compiling sqlite3-src v0.5.1
Compiling thiserror v2.0.12
Checking ppv-lite86 v0.2.17
Checking base32 v0.4.0
Checking base64ct v1.6.0
Checking cypheraddr v0.4.0
Checking pem-rfc7468 v0.7.0
Checking rand_chacha v0.3.1
Checking ghash v0.5.1
Compiling git-ref-format-macro v0.3.0
Checking pbkdf2 v0.12.2
Checking chacha20poly1305 v0.10.1
Checking ctr v0.9.2
Checking aes v0.8.4
Compiling thiserror-impl v2.0.12
Compiling crossbeam-utils v0.8.19
Checking aes-gcm v0.10.3
Checking git-ref-format v0.3.0
Checking noise-framework v0.4.0
Checking rand v0.8.5
Checking ssh-encoding v0.2.0
Checking socks5-client v0.4.1
Checking blowfish v0.9.1
Checking cbc v0.1.2
Checking radicle-std-ext v0.1.0
Checking ssh-cipher v0.2.0
Checking cyphernet v0.5.2
Checking bcrypt-pbkdf v0.10.0
Checking signature v2.2.0
Checking ssh-key v0.6.6
Checking crossbeam-channel v0.5.15
Checking qcheck v1.0.0
Checking radicle-ssh v0.9.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-ssh)
Compiling num-traits v0.2.18
Compiling serde_json v1.0.116
Checking equivalent v1.0.1
Checking indexmap v2.2.6
Checking tree-sitter-language v0.1.2
Checking ryu v1.0.17
Checking siphasher v1.0.1
Checking nonempty v0.9.0
Compiling lock_api v0.4.11
Checking radicle-dag v0.10.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-dag)
Compiling anyhow v1.0.82
Checking lazy_static v1.5.0
Compiling parking_lot_core v0.9.9
Checking anstyle-query v1.0.2
Checking gix-trace v0.1.12
Checking scopeguard v1.2.0
Checking iana-time-zone v0.1.60
Checking chrono v0.4.38
Checking colored v2.1.0
Checking localtime v1.3.1
Checking base64 v0.21.7
Checking utf8parse v0.2.1
Checking anstyle-parse v0.2.3
Checking parking_lot v0.12.1
Checking faster-hex v0.9.0
Checking sem_safe v0.2.0
Checking errno v0.3.9
Checking anstyle v1.0.6
Checking colorchoice v1.0.0
Checking signals_receipts v0.2.0
Checking anstream v0.6.13
Checking gix-utils v0.1.14
Checking adler2 v2.0.0
Checking snapbox-macros v0.3.8
Checking miniz_oxide v0.8.8
Checking gix-hash v0.15.1
Checking normalize-line-endings v0.3.0
Checking similar v2.5.0
Checking same-file v1.0.6
Checking walkdir v2.5.0
Checking snapbox v0.4.17
Checking flate2 v1.1.1
Checking radicle-signals v0.11.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-signals)
Checking prodash v29.0.2
Compiling tree-sitter v0.24.4
Checking sha1_smol v1.0.0
Checking gix-features v0.39.1
Checking diff v0.1.13
Checking numtoa v0.1.0
Checking unicode-segmentation v1.11.0
Checking yansi v0.5.1
Checking pretty_assertions v1.4.0
Compiling xattr v1.3.1
Compiling filetime v0.2.23
Checking lexopt v0.3.0
Compiling escargot v0.5.10
Checking home v0.5.9
Checking gix-path v0.10.15
Compiling tar v0.4.40
Checking newline-converter v0.3.0
Checking termion v2.0.3
Checking fxhash v0.2.1
Checking regex v1.11.1
Checking dyn-clone v1.0.17
Checking unicode-width v0.1.11
Checking streaming-iterator v0.1.9
Checking inquire v0.7.5
Compiling radicle-surf v0.22.0
Checking unicode-display-width v0.3.0
Checking termion v3.0.0
Compiling tree-sitter-toml-ng v0.6.0
Compiling tree-sitter-bash v0.23.3
Compiling tree-sitter-typescript v0.23.2
Compiling tree-sitter-html v0.23.2
Compiling tree-sitter-python v0.23.4
Compiling tree-sitter-json v0.24.8
Compiling tree-sitter-css v0.23.1
Compiling tree-sitter-rust v0.23.2
Compiling tree-sitter-md v0.3.2
Compiling tree-sitter-c v0.23.2
Compiling tree-sitter-go v0.23.4
Compiling tree-sitter-ruby v0.23.1
Checking sqlite3-sys v0.15.2
Checking sqlite v0.32.0
Compiling radicle-cli v0.12.1 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-cli)
Checking nonempty v0.5.0
Checking base64 v0.13.1
Checking tree-sitter-highlight v0.24.4
Checking timeago v0.4.2
Checking jiff v0.2.1
Checking winnow v0.6.26
Checking gix-hashtable v0.6.0
Checking gix-validate v0.9.4
Checking memmap2 v0.9.4
Checking gix-chunk v0.4.11
Checking gix-fs v0.12.1
Checking gix-commitgraph v0.25.1
Checking gix-tempfile v15.0.0
Checking shell-words v1.1.0
Checking gix-lock v15.0.1
Checking gix-command v0.4.1
Checking gix-config-value v0.14.12
Checking gix-url v0.28.2
Checking gix-quote v0.4.15
Checking gix-sec v0.10.12
Checking gix-prompt v0.9.1
Checking gix-packetline v0.18.4
Checking gix-credentials v0.26.0
Checking gix-transport v0.44.0
Checking gix-shallow v0.1.0
Compiling maybe-async v0.2.10
Checking arc-swap v1.7.1
Checking gix-date v0.9.4
Checking popol v3.0.0
Checking gix-actor v0.33.2
Checking either v1.11.0
Checking io-reactor v0.5.2
Checking gix-object v0.46.1
Checking salsa20 v0.10.2
Checking socket2 v0.5.7
Checking siphasher v0.3.11
Compiling radicle-node v0.10.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-node)
Checking netservices v0.8.0
Checking bloomy v1.2.0
Checking gix-revwalk v0.17.0
Checking gix-diff v0.49.0
Checking gix-ref v0.49.1
Checking scrypt v0.11.0
Checking gix-traverse v0.43.1
Checking gix-revision v0.31.1
Checking gix-pack v0.56.0
Checking gix-refspec v0.27.0
Checking gix-negotiate v0.17.0
Checking radicle-systemd v0.9.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-systemd)
Compiling qcheck-macros v1.0.0
Checking gix-protocol v0.47.0
Compiling radicle-remote-helper v0.10.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-remote-helper)
Checking phf_shared v0.11.3
Checking gix-odb v0.66.0
Checking phf v0.11.3
Checking emojis v0.6.4
Checking git2 v0.19.0
Checking radicle-git-ext v0.8.0
Checking radicle-term v0.12.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-term)
Checking radicle-crypto v0.11.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-crypto)
Checking radicle-cob v0.13.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-cob)
Checking radicle-crdt v0.1.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-crdt)
Checking radicle v0.14.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle)
Checking radicle-cli-test v0.10.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-cli-test)
Checking radicle-fetch v0.10.0 (/7f8b9b2c-98cd-4856-b7d5-6df41b1c54a2/w/radicle-fetch)
error: unused import: `Session`
--> radicle-cli/src/commands/sync.rs:13:69
|
13 | AliasStore, FetchResult, FetchResults, Handle as _, Node, Seed, Session, SyncStatus,
| ^^^^^^^
|
= note: `-D unused-imports` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unused_imports)]`
error: could not compile `radicle-cli` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile `radicle-cli` (lib test) due to 1 previous error
Exit code: 101
{
"response": "finished",
"result": "failure"
}