Radish alpha
r
rad:z39mP9rQAaGmERfUMPULfPUi473tY
Radicle terminal user interface
Radicle
Git
chore: Update to radicle 0.16.1
Merged did:key:z6MkgFq6...nBGz opened 9 months ago
9 files changed +583 -204 227bd3b1 2057d49a
modified Cargo.lock
@@ -1,6 +1,6 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
-
version = 3
+
version = 4

[[package]]
name = "addr2line"
@@ -152,35 +152,12 @@ dependencies = [
]

[[package]]
-
name = "anstream"
-
version = "0.6.13"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
-
dependencies = [
-
 "anstyle",
-
 "anstyle-parse",
-
 "anstyle-query",
-
 "anstyle-wincon",
-
 "colorchoice",
-
 "utf8parse",
-
]
-

-
[[package]]
name = "anstyle"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"

[[package]]
-
name = "anstyle-parse"
-
version = "0.2.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
-
dependencies = [
-
 "utf8parse",
-
]
-

-
[[package]]
name = "anstyle-query"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -190,16 +167,6 @@ dependencies = [
]

[[package]]
-
name = "anstyle-wincon"
-
version = "3.0.2"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
-
dependencies = [
-
 "anstyle",
-
 "windows-sys 0.52.0",
-
]
-

-
[[package]]
name = "anyhow"
version = "1.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -273,6 +240,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"

[[package]]
+
name = "base64"
+
version = "0.22.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+

+
[[package]]
name = "base64ct"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -297,9 +270,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"

[[package]]
name = "bitflags"
-
version = "2.4.1"
+
version = "2.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
dependencies = [
 "serde",
]
@@ -362,6 +335,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"

[[package]]
+
name = "bytesize"
+
version = "2.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a3c8f83209414aacf0eeae3cf730b18d6981697fba62f200fcfb92b9f082acba"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
name = "cassowary"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -445,12 +427,6 @@ dependencies = [
]

[[package]]
-
name = "colorchoice"
-
version = "1.0.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-

-
[[package]]
name = "colored"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -482,6 +458,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"

[[package]]
+
name = "convert_case"
+
version = "0.7.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7"
+
dependencies = [
+
 "unicode-segmentation",
+
]
+

+
[[package]]
name = "coolor"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -532,14 +517,30 @@ dependencies = [

[[package]]
name = "crossterm"
+
version = "0.25.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
+
dependencies = [
+
 "bitflags 1.3.2",
+
 "crossterm_winapi",
+
 "libc",
+
 "mio 0.8.10",
+
 "parking_lot",
+
 "signal-hook",
+
 "signal-hook-mio",
+
 "winapi",
+
]
+

+
[[package]]
+
name = "crossterm"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
dependencies = [
-
 "bitflags 2.4.1",
+
 "bitflags 2.9.1",
 "crossterm_winapi",
 "libc",
-
 "mio",
+
 "mio 0.8.10",
 "parking_lot",
 "signal-hook",
 "signal-hook-mio",
@@ -547,6 +548,24 @@ dependencies = [
]

[[package]]
+
name = "crossterm"
+
version = "0.29.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b"
+
dependencies = [
+
 "bitflags 2.9.1",
+
 "crossterm_winapi",
+
 "derive_more",
+
 "document-features",
+
 "mio 1.0.4",
+
 "parking_lot",
+
 "rustix 1.0.8",
+
 "signal-hook",
+
 "signal-hook-mio",
+
 "winapi",
+
]
+

+
[[package]]
name = "crossterm_winapi"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -706,6 +725,27 @@ dependencies = [
]

[[package]]
+
name = "derive_more"
+
version = "2.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678"
+
dependencies = [
+
 "derive_more-impl",
+
]
+

+
[[package]]
+
name = "derive_more-impl"
+
version = "2.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3"
+
dependencies = [
+
 "convert_case",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.90",
+
]
+

+
[[package]]
name = "diff"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -730,16 +770,36 @@ dependencies = [
]

[[package]]
+
name = "displaydoc"
+
version = "0.2.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.90",
+
]
+

+
[[package]]
name = "doc-comment"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"

[[package]]
+
name = "document-features"
+
version = "0.2.11"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d"
+
dependencies = [
+
 "litrs",
+
]
+

+
[[package]]
name = "dyn-clone"
-
version = "1.0.16"
+
version = "1.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d"
+
checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"

[[package]]
name = "ec25519"
@@ -807,24 +867,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"

[[package]]
-
name = "errno"
-
version = "0.3.2"
+
name = "erased-serde"
+
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
+
checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7"
dependencies = [
-
 "errno-dragonfly",
-
 "libc",
-
 "windows-sys 0.48.0",
+
 "serde",
+
 "typeid",
]

[[package]]
-
name = "errno-dragonfly"
-
version = "0.1.2"
+
name = "errno"
+
version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+
checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
dependencies = [
-
 "cc",
 "libc",
+
 "windows-sys 0.52.0",
]

[[package]]
@@ -926,9 +985,9 @@ dependencies = [

[[package]]
name = "getrandom"
-
version = "0.2.10"
+
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
dependencies = [
 "cfg-if",
 "libc",
@@ -989,7 +1048,7 @@ version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724"
dependencies = [
-
 "bitflags 2.4.1",
+
 "bitflags 2.9.1",
 "libc",
 "libgit2-sys",
 "log",
@@ -1018,6 +1077,12 @@ dependencies = [
]

[[package]]
+
name = "hashbrown"
+
version = "0.15.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
+

+
[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1074,6 +1139,92 @@ dependencies = [
]

[[package]]
+
name = "icu_collections"
+
version = "2.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
+
dependencies = [
+
 "displaydoc",
+
 "potential_utf",
+
 "yoke",
+
 "zerofrom",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_locale_core"
+
version = "2.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
+
dependencies = [
+
 "displaydoc",
+
 "litemap",
+
 "tinystr",
+
 "writeable",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_normalizer"
+
version = "2.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
+
dependencies = [
+
 "displaydoc",
+
 "icu_collections",
+
 "icu_normalizer_data",
+
 "icu_properties",
+
 "icu_provider",
+
 "smallvec",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_normalizer_data"
+
version = "2.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
+

+
[[package]]
+
name = "icu_properties"
+
version = "2.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
+
dependencies = [
+
 "displaydoc",
+
 "icu_collections",
+
 "icu_locale_core",
+
 "icu_properties_data",
+
 "icu_provider",
+
 "potential_utf",
+
 "zerotrie",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_properties_data"
+
version = "2.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
+

+
[[package]]
+
name = "icu_provider"
+
version = "2.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
+
dependencies = [
+
 "displaydoc",
+
 "icu_locale_core",
+
 "stable_deref_trait",
+
 "tinystr",
+
 "writeable",
+
 "yoke",
+
 "zerofrom",
+
 "zerotrie",
+
 "zerovec",
+
]
+

+
[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1081,22 +1232,33 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"

[[package]]
name = "idna"
-
version = "0.5.0"
+
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+
checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
dependencies = [
-
 "unicode-bidi",
-
 "unicode-normalization",
+
 "idna_adapter",
+
 "smallvec",
+
 "utf8_iter",
+
]
+

+
[[package]]
+
name = "idna_adapter"
+
version = "1.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
+
dependencies = [
+
 "icu_normalizer",
+
 "icu_properties",
]

[[package]]
name = "indexmap"
-
version = "2.1.0"
+
version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+
checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
dependencies = [
 "equivalent",
-
 "hashbrown",
+
 "hashbrown 0.15.4",
]

[[package]]
@@ -1121,7 +1283,8 @@ version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fddf93031af70e75410a2511ec04d49e758ed2f26dad3404a934e0fb45cc12a"
dependencies = [
-
 "bitflags 2.4.1",
+
 "bitflags 2.9.1",
+
 "crossterm 0.25.0",
 "dyn-clone",
 "fxhash",
 "newline-converter",
@@ -1214,9 +1377,9 @@ checksum = "baff4b617f7df3d896f97fe922b64817f6cd9a756bb81d40f8883f2f66dcb401"

[[package]]
name = "libc"
-
version = "0.2.153"
+
version = "0.2.174"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"

[[package]]
name = "libgit2-sys"
@@ -1242,7 +1405,7 @@ version = "0.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
dependencies = [
-
 "bitflags 2.4.1",
+
 "bitflags 2.9.1",
 "libc",
 "redox_syscall 0.4.1",
]
@@ -1266,6 +1429,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"

[[package]]
+
name = "linux-raw-sys"
+
version = "0.9.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
+

+
[[package]]
+
name = "litemap"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
+

+
[[package]]
+
name = "litrs"
+
version = "0.4.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5"
+

+
[[package]]
name = "localtime"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1296,7 +1477,7 @@ version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22"
dependencies = [
-
 "hashbrown",
+
 "hashbrown 0.14.3",
]

[[package]]
@@ -1348,6 +1529,18 @@ dependencies = [
]

[[package]]
+
name = "mio"
+
version = "1.0.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
+
dependencies = [
+
 "libc",
+
 "log",
+
 "wasi 0.11.0+wasi-snapshot-preview1",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
name = "multibase"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1386,7 +1579,7 @@ version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
dependencies = [
-
 "bitflags 2.4.1",
+
 "bitflags 2.9.1",
 "cfg-if",
 "cfg_aliases",
 "libc",
@@ -1689,6 +1882,15 @@ dependencies = [
]

[[package]]
+
name = "potential_utf"
+
version = "0.1.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
+
dependencies = [
+
 "zerovec",
+
]
+

+
[[package]]
name = "powerfmt"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1802,12 +2004,13 @@ dependencies = [

[[package]]
name = "radicle"
-
version = "0.14.0"
+
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "fd823aeed3ffe73eb82a213e62cb3811f9bdf453844d6e0b14684e0757fb389b"
+
checksum = "d5fe953b25a8f5c24baf1019f746912e7453746d617a1af04cb347904d241005"
dependencies = [
 "amplify",
-
 "base64",
+
 "base64 0.21.7",
+
 "bytesize",
 "chrono",
 "colored",
 "crossbeam-channel",
@@ -1819,13 +2022,14 @@ dependencies = [
 "log",
 "multibase",
 "nonempty",
-
 "once_cell",
 "qcheck",
 "radicle-cob",
 "radicle-crypto",
 "radicle-git-ext",
 "radicle-ssh",
+
 "schemars",
 "serde",
+
 "serde-untagged",
 "serde_json",
 "siphasher 1.0.0",
 "sqlite",
@@ -1836,9 +2040,9 @@ dependencies = [

[[package]]
name = "radicle-cli"
-
version = "0.12.1"
+
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d41c1d8b9c0a6e5fd92eeefc247107d330e1d0517f1e55ded9d3bf2a12104420"
+
checksum = "0b362b0301c59fb94f4ead7bd7366c0668ac431c1fed8a9fe8fc88a64b03dc91"
dependencies = [
 "anyhow",
 "chrono",
@@ -1848,12 +2052,12 @@ dependencies = [
 "log",
 "nonempty",
 "radicle",
-
 "radicle-cli-test",
 "radicle-cob",
 "radicle-crypto",
 "radicle-git-ext",
 "radicle-surf",
 "radicle-term",
+
 "schemars",
 "serde",
 "serde_json",
 "shlex",
@@ -1878,23 +2082,10 @@ dependencies = [
]

[[package]]
-
name = "radicle-cli-test"
-
version = "0.1.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "df187ee120e2dfc949bfae6b1acbe8b8d815167ba5229a312cdabfeb4952bc27"
-
dependencies = [
-
 "log",
-
 "pretty_assertions",
-
 "shlex",
-
 "snapbox",
-
 "thiserror",
-
]
-

-
[[package]]
name = "radicle-cob"
-
version = "0.13.0"
+
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "90581a9508ccc310998e991d7acf139d2991297d3fb37d30de07536e10256afb"
+
checksum = "6e9c90efa7a3febd01d33ed2e72cb12296c971ce03efa243d11c01520fcc1be8"
dependencies = [
 "fastrand",
 "git2",
@@ -1906,14 +2097,15 @@ dependencies = [
 "radicle-git-ext",
 "serde",
 "serde_json",
+
 "signature 2.2.0",
 "thiserror",
]

[[package]]
name = "radicle-crypto"
-
version = "0.11.0"
+
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d1d6a67969719841ad06049597006368eb4238ca63a02d20207654dfd1d2d6ad"
+
checksum = "d16d9e1403a6c3073dce14f3ed893f430bb67d7af6a07cc7fe4b81907025ba22"
dependencies = [
 "amplify",
 "cyphernet",
@@ -1924,6 +2116,7 @@ dependencies = [
 "radicle-git-ext",
 "radicle-ssh",
 "serde",
+
 "signature 2.2.0",
 "sqlite",
 "ssh-key",
 "thiserror",
@@ -1955,12 +2148,13 @@ dependencies = [

[[package]]
name = "radicle-signals"
-
version = "0.10.0"
+
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7fba65f6ed964e6e8d34d935f83d40c506f14bf45e60c635042ca4ad4185f149"
+
checksum = "d2bcf567e08ec477457dafd190a9785f368c9b86272a42c684db609510ebc456"
dependencies = [
 "crossbeam-channel",
 "libc",
+
 "signals_receipts",
]

[[package]]
@@ -1977,9 +2171,9 @@ dependencies = [

[[package]]
name = "radicle-std-ext"
-
version = "0.1.0"
+
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "db20136bbc9ae63f3fec8e5a6c369f4902fac2244501b5dfc6d668e43475aaa4"
+
checksum = "5310e7a04506b6ce92dc9c47b26bd24c1c680937a3dcd13cd20847f89dbda32a"

[[package]]
name = "radicle-surf"
@@ -1988,7 +2182,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf6aff57520e8e7200bf7826ddc5ccf8d4612dd880497a4f256c3d272eeb805"
dependencies = [
 "anyhow",
-
 "base64",
+
 "base64 0.21.7",
 "flate2",
 "git2",
 "log",
@@ -2002,20 +2196,19 @@ dependencies = [

[[package]]
name = "radicle-term"
-
version = "0.12.0"
+
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "829c1f1d97d2d0f0d8738c8050c4821a74b59bf9d034d9b6aae55b19372236de"
+
checksum = "5fd82b00d1e729319fdeccc6a2e37158b01ad32cc8e4dbff40a612ca94a1e311"
dependencies = [
 "anstyle-query",
 "anyhow",
 "crossbeam-channel",
+
 "crossterm 0.29.0",
 "git2",
 "inquire",
 "libc",
-
 "once_cell",
 "radicle-signals",
 "shlex",
-
 "termion 3.0.0",
 "thiserror",
 "unicode-display-width",
 "unicode-segmentation",
@@ -2098,7 +2291,7 @@ version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b"
dependencies = [
-
 "bitflags 2.4.1",
+
 "bitflags 2.9.1",
 "cassowary",
 "compact_str",
 "indoc",
@@ -2155,6 +2348,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb"

[[package]]
+
name = "ref-cast"
+
version = "1.0.24"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf"
+
dependencies = [
+
 "ref-cast-impl",
+
]
+

+
[[package]]
+
name = "ref-cast-impl"
+
version = "1.0.24"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.90",
+
]
+

+
[[package]]
name = "regex"
version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2226,14 +2439,27 @@ version = "0.38.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ee020b1716f0a80e2ace9b03441a749e402e86712f15f16fe8a8f75afac732f"
dependencies = [
-
 "bitflags 2.4.1",
+
 "bitflags 2.9.1",
 "errno",
 "libc",
-
 "linux-raw-sys",
+
 "linux-raw-sys 0.4.5",
 "windows-sys 0.48.0",
]

[[package]]
+
name = "rustix"
+
version = "1.0.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
+
dependencies = [
+
 "bitflags 2.9.1",
+
 "errno",
+
 "libc",
+
 "linux-raw-sys 0.9.4",
+
 "windows-sys 0.52.0",
+
]
+

+
[[package]]
name = "rustversion"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2246,6 +2472,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"

[[package]]
+
name = "schemars"
+
version = "1.0.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
+
dependencies = [
+
 "dyn-clone",
+
 "ref-cast",
+
 "schemars_derive",
+
 "serde",
+
 "serde_json",
+
]
+

+
[[package]]
+
name = "schemars_derive"
+
version = "1.0.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "serde_derive_internals",
+
 "syn 2.0.90",
+
]
+

+
[[package]]
name = "scopeguard"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2266,6 +2517,18 @@ dependencies = [
]

[[package]]
+
name = "sem_safe"
+
version = "0.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "be9665e92f9b596cf2b20a8c0f55126cfee3514307740a859f1b25bc929e4947"
+
dependencies = [
+
 "base64 0.22.1",
+
 "errno",
+
 "getrandom",
+
 "libc",
+
]
+

+
[[package]]
name = "serde"
version = "1.0.195"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2275,6 +2538,17 @@ dependencies = [
]

[[package]]
+
name = "serde-untagged"
+
version = "0.1.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "299d9c19d7d466db4ab10addd5703e4c615dec2a5a16dbbafe191045e87ee66e"
+
dependencies = [
+
 "erased-serde",
+
 "serde",
+
 "typeid",
+
]
+

+
[[package]]
name = "serde_derive"
version = "1.0.195"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2286,13 +2560,25 @@ dependencies = [
]

[[package]]
+
name = "serde_derive_internals"
+
version = "0.29.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.90",
+
]
+

+
[[package]]
name = "serde_json"
-
version = "1.0.108"
+
version = "1.0.141"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+
checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
dependencies = [
 "indexmap",
 "itoa",
+
 "memchr",
 "ryu",
 "serde",
]
@@ -2336,12 +2622,13 @@ dependencies = [

[[package]]
name = "signal-hook-mio"
-
version = "0.2.3"
+
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
+
checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd"
dependencies = [
 "libc",
-
 "mio",
+
 "mio 0.8.10",
+
 "mio 1.0.4",
 "signal-hook",
]

@@ -2355,6 +2642,18 @@ dependencies = [
]

[[package]]
+
name = "signals_receipts"
+
version = "0.2.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3adf3706076a9fdded5de487d2a0f378353c240b0dfec9028ba7ab299ca4a14f"
+
dependencies = [
+
 "cfg-if",
+
 "errno",
+
 "libc",
+
 "sem_safe",
+
]
+

+
[[package]]
name = "signature"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2377,12 +2676,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"

[[package]]
-
name = "similar"
-
version = "2.5.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640"
-

-
[[package]]
name = "simple-logging"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2407,9 +2700,9 @@ checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"

[[package]]
name = "smallvec"
-
version = "1.11.0"
+
version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"

[[package]]
name = "smawk"
@@ -2418,28 +2711,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"

[[package]]
-
name = "snapbox"
-
version = "0.4.17"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "4b831b6e80fbcd2889efa75b185d24005f85981431495f995292b25836519d84"
-
dependencies = [
-
 "anstream",
-
 "anstyle",
-
 "normalize-line-endings",
-
 "similar",
-
 "snapbox-macros",
-
]
-

-
[[package]]
-
name = "snapbox-macros"
-
version = "0.3.8"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e1c4b838b05d15ab22754068cb73500b2f3b07bf09d310e15b27f88160f1de40"
-
dependencies = [
-
 "anstream",
-
]
-

-
[[package]]
name = "socket2"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2555,6 +2826,12 @@ dependencies = [
]

[[package]]
+
name = "stable_deref_trait"
+
version = "1.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+

+
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2623,6 +2900,17 @@ dependencies = [
]

[[package]]
+
name = "synstructure"
+
version = "0.13.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.90",
+
]
+

+
[[package]]
name = "tar"
version = "0.4.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2642,7 +2930,7 @@ dependencies = [
 "cfg-if",
 "fastrand",
 "redox_syscall 0.3.5",
-
 "rustix",
+
 "rustix 0.38.6",
 "windows-sys 0.48.0",
]

@@ -2653,7 +2941,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2ecb7b6ab8a3eeff2b61770d313d1e971f184e29321785c62ef523b132437b7"
dependencies = [
 "coolor",
-
 "crossterm",
+
 "crossterm 0.27.0",
 "thiserror",
 "xterm-query",
]
@@ -2795,6 +3083,16 @@ dependencies = [
]

[[package]]
+
name = "tinystr"
+
version = "0.8.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
+
dependencies = [
+
 "displaydoc",
+
 "zerovec",
+
]
+

+
[[package]]
name = "tinyvec"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2818,7 +3116,7 @@ dependencies = [
 "backtrace",
 "bytes",
 "libc",
-
 "mio",
+
 "mio 0.8.10",
 "num_cpus",
 "parking_lot",
 "pin-project-lite",
@@ -3024,16 +3322,16 @@ dependencies = [
]

[[package]]
-
name = "typenum"
-
version = "1.17.0"
+
name = "typeid"
+
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c"

[[package]]
-
name = "unicode-bidi"
-
version = "0.3.13"
+
name = "typenum"
+
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"

[[package]]
name = "unicode-display-width"
@@ -3106,9 +3404,9 @@ dependencies = [

[[package]]
name = "url"
-
version = "2.5.0"
+
version = "2.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+
checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
dependencies = [
 "form_urlencoded",
 "idna",
@@ -3116,10 +3414,10 @@ dependencies = [
]

[[package]]
-
name = "utf8parse"
-
version = "0.2.1"
+
name = "utf8_iter"
+
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"

[[package]]
name = "vcpkg"
@@ -3317,6 +3615,15 @@ dependencies = [
]

[[package]]
+
name = "windows-sys"
+
version = "0.59.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+
dependencies = [
+
 "windows-targets 0.52.6",
+
]
+

+
[[package]]
name = "windows-targets"
version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3438,6 +3745,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"

[[package]]
+
name = "writeable"
+
version = "0.6.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
+

+
[[package]]
name = "xattr"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3463,6 +3776,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"

[[package]]
+
name = "yoke"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
+
dependencies = [
+
 "serde",
+
 "stable_deref_trait",
+
 "yoke-derive",
+
 "zerofrom",
+
]
+

+
[[package]]
+
name = "yoke-derive"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.90",
+
 "synstructure",
+
]
+

+
[[package]]
name = "zerocopy"
version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3483,7 +3820,61 @@ dependencies = [
]

[[package]]
+
name = "zerofrom"
+
version = "0.1.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
+
dependencies = [
+
 "zerofrom-derive",
+
]
+

+
[[package]]
+
name = "zerofrom-derive"
+
version = "0.1.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.90",
+
 "synstructure",
+
]
+

+
[[package]]
name = "zeroize"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
+

+
[[package]]
+
name = "zerotrie"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
+
dependencies = [
+
 "displaydoc",
+
 "yoke",
+
 "zerofrom",
+
]
+

+
[[package]]
+
name = "zerovec"
+
version = "0.11.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428"
+
dependencies = [
+
 "yoke",
+
 "zerofrom",
+
 "zerovec-derive",
+
]
+

+
[[package]]
+
name = "zerovec-derive"
+
version = "0.11.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.90",
+
]
modified Cargo.toml
@@ -24,7 +24,10 @@ required-features = ["bin"]
[dependencies]
ansi-to-tui = { version = "7.0.0" }
anyhow = { version = "1" }
-
inquire = { version = "0.7.4", default-features = false, features = ["termion", "editor"] }
+
inquire = { version = "0.7.4", default-features = false, features = [
+
    "termion",
+
    "editor",
+
] }
lexopt = { version = "0.3.0" }
fuzzy-matcher = "0.3.7"
homedir = { version = "0.3.3" }
@@ -32,12 +35,16 @@ lazy_static = { version = "1.5.0" }
libc = { version = "^0.2" }
log = { version = "0.4.19" }
nom = { version = "^7.1.0" }
-
radicle = { version = "0.14.0" }
-
radicle-term = { version = "0.12.0" }
-
radicle-cli = { version = "0.12.1" }
+
radicle = { version = "0.16.1" }
+
radicle-term = { version = "0.13.0" }
+
radicle-cli = { version = "0.14.0" }
radicle-surf = { version = "0.22.0" }
-
radicle-signals = { version = "0.10.0" }
-
ratatui = { version = "0.29.0", default-features = false, features = ["all-widgets", "termion", "serde"] }
+
radicle-signals = { version = "0.11.0" }
+
ratatui = { version = "0.29.0", default-features = false, features = [
+
    "all-widgets",
+
    "termion",
+
    "serde",
+
] }
md5 = { version = "0.7.0" }
simple-logging = { version = "2.0.2" }
serde = { version = "1.0", features = ["derive"] }
@@ -50,18 +57,20 @@ textwrap = { version = "0.16.0" }
thiserror = { version = "1" }
tokio = { version = "1.32.0", features = ["full"] }
tokio-stream = { version = "0.1.14" }
-
tui-textarea = { version = "0.7.0", default-features = false, features = ["termion"] }
+
tui-textarea = { version = "0.7.0", default-features = false, features = [
+
    "termion",
+
] }
tui-tree-widget = { version = "0.23.0" }

[dev-dependencies]
assert_cmd = "2.0.14"
predicates = "3.1.0"
pretty_assertions = "^1.4.1"
-
radicle = { version = "0.14.0", features = ["test"]}
+
radicle = { version = "0.16.1", features = ["test"] }
radicle-git-ext = { version = "0.8.0", features = ["serde"] }


[dev-dependencies.git2]
version = "0.19.0"
default-features = false
-
features = ["vendored-libgit2"]

\ No newline at end of file
+
features = ["vendored-libgit2"]
modified bin/cob/issue.rs
@@ -4,10 +4,9 @@ use std::fmt::Write as _;
use anyhow::Result;

use radicle::cob::issue::{Issue, IssueId};
-
use radicle::cob::Label;
use radicle::issue::cache::Issues;
use radicle::issue::State;
-
use radicle::prelude::{Did, Signer};
+
use radicle::prelude::Did;
use radicle::storage::git::Repository;
use radicle::Profile;

@@ -81,28 +80,6 @@ pub fn all(profile: &Profile, repository: &Repository) -> Result<Vec<(IssueId, I
    Ok(issues.flatten().collect())
}

-
#[allow(dead_code)]
-
pub fn find(profile: &Profile, repository: &Repository, id: &IssueId) -> Result<Option<Issue>> {
-
    let cache = profile.issues(repository)?;
-
    Ok(cache.get(id)?)
-
}
-

-
#[allow(dead_code)]
-
pub fn create<G: Signer>(
-
    profile: &Profile,
-
    repository: &Repository,
-
    signer: &G,
-
    title: String,
-
    description: String,
-
    labels: &[Label],
-
    assignees: &[Did],
-
) -> Result<IssueId> {
-
    let mut issues = profile.issues_mut(repository)?;
-
    let issue = issues.create(title, description.trim(), labels, assignees, [], signer)?;
-

-
    Ok(*issue.id())
-
}
-

#[cfg(test)]
mod tests {
    use std::str::FromStr;
modified bin/cob/patch.rs
@@ -4,8 +4,8 @@ use std::fmt::Write as _;
use anyhow::Result;

use radicle::cob::patch::{Patch, PatchId};
-
use radicle::crypto::Signer;
use radicle::identity::Did;
+
use radicle::node::device::Device;
use radicle::patch::cache::Patches;
use radicle::patch::{Review, ReviewId, Revision, Status};
use radicle::storage::git::Repository;
@@ -86,10 +86,10 @@ pub fn find(profile: &Profile, repository: &Repository, id: &PatchId) -> Result<
    Ok(cache.get(id)?)
}

-
pub fn find_review<'a, G: Signer>(
+
pub fn find_review<'a, G>(
    patch: &'a Patch,
    revision: &Revision,
-
    signer: &G,
+
    signer: &Device<G>,
) -> Option<(ReviewId, &'a Review)> {
    patch
        .reviews_of(revision.id())
modified bin/commands/patch.rs
@@ -46,7 +46,7 @@ List options

    The MODE argument can be 'operation' or 'id'. 'operation' selects a patch id and
    an operation, whereas 'id' selects a patch id only.
-
    
+


Other options

@@ -93,7 +93,7 @@ impl ReviewOptions {
        &'a self,
        patch: &'a Patch,
        repo: &Repository,
-
    ) -> anyhow::Result<(RevisionId, &Revision)> {
+
    ) -> anyhow::Result<(RevisionId, &'a Revision)> {
        let revision_id = self
            .revision_id
            .as_ref()
@@ -322,7 +322,6 @@ mod interface {

    use radicle::cob;
    use radicle::cob::ObjectId;
-
    use radicle::crypto::Signer;
    use radicle::identity::RepoId;
    use radicle::patch::PatchId;
    use radicle::patch::Verdict;
modified bin/commands/patch/review.rs
@@ -640,7 +640,7 @@ A terminal interface for reviewing patch revisions.

Starts a new or resumes an existing review for a given revision (default: latest). When the
review is done, it needs to be finalized via `rad patch review --accept | --reject <id>`.
-
    
+

# Keybindings

`←,h`       move cursor to the left
@@ -688,7 +688,6 @@ mod test {

        use radicle::cob::cache::NoCache;
        use radicle::patch::{Cache, PatchMut, Review, ReviewId, Revision, Verdict};
-
        use radicle::prelude::Signer;
        use radicle::storage::git::cob::DraftStore;
        use radicle::storage::git::Repository;

modified bin/test.rs
@@ -123,9 +123,11 @@ pub mod fixtures {
    use anyhow::Result;

    use radicle::cob::cache::NoCache;
-
    use radicle::crypto::{Signer, Verified};
+
    use radicle::crypto;
+
    use radicle::crypto::Verified;
    use radicle::git;
    use radicle::identity::{RepoId, Visibility};
+
    use radicle::node::device::Device;
    use radicle::patch::{Cache, MergeTarget, PatchMut, Patches};
    use radicle::rad;
    use radicle::storage::git::Repository;
@@ -232,11 +234,14 @@ fn main() {
    }

    /// Create a new repository at the given path, and initialize it into a project.
-
    pub fn project<P: AsRef<Path>, G: Signer>(
+
    pub fn project<P: AsRef<Path>, G>(
        path: P,
        storage: &Storage,
-
        signer: &G,
-
    ) -> Result<(RepoId, SignedRefs<Verified>, git2::Repository, git2::Oid), rad::InitError> {
+
        signer: &Device<G>,
+
    ) -> Result<(RepoId, SignedRefs<Verified>, git2::Repository, git2::Oid), rad::InitError>
+
    where
+
        G: crypto::signature::Signer<crypto::Signature>,
+
    {
        radicle::storage::git::transport::local::register(storage.clone());

        let (working, head) = repository(path);
modified bin/ui/items.rs
@@ -1965,7 +1965,6 @@ mod tests {
    use std::path::PathBuf;

    use anyhow::Result;
-
    use radicle::crypto::Signer;

    use crate::test;

modified rust-toolchain
@@ -1 +1 @@
-
1.80
+
1.85