mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-11-16 03:40:37 +08:00
Bump deps to radicle 0.24 / radicle-job 0.6
- bump radicle 0.22 -> 0.24, radicle-job 0.5.2 -> 0.6, and radicle-surf 0.27.0 -> 0.27.1 to match heartwood - raise radicle-tauri rust-version to 1.86 for radicle-job 0.6's MSRV - migrate to the 0.24 COB store API: signer moves onto the cache via WriteAs, so issues_mut/patches_mut take &signer and the per-call signer arg disappears from every issue/patch action method - pass ReadOnly to JobsStore::open for radicle-job 0.6's new Access type param - replace the removed Profile::socket() with home().socket_from_env() and the removed WriteRepository::set_head() with the set_canonical_symbolic_refs + set_default_branch_to_canonical_head pair used by rad::init - split the old ssh::agent::Error into AgentError + ConnectError so Agent::connect failures still bubble through ? - swap SignedRefsInfo::is_ok() (gone in 0.23) for an explicit matches!(_, Some(_)) on the new None/Some/NeedsMigration enum
This commit is contained in:
Generated
+111
-77
@@ -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"
|
||||
@@ -383,12 +383,6 @@ version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
|
||||
|
||||
[[package]]
|
||||
name = "base32"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa"
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.21.7"
|
||||
@@ -1061,15 +1055,39 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cypheraddr"
|
||||
version = "0.4.0"
|
||||
name = "curve25519-dalek"
|
||||
version = "4.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ba5c54d2ad4ab9941383519471b75d12abc1a7b4779265e233168f2703a730d9"
|
||||
checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures",
|
||||
"curve25519-dalek-derive",
|
||||
"digest",
|
||||
"fiat-crypto",
|
||||
"rustc_version",
|
||||
"subtle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "curve25519-dalek-derive"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.101",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cypheraddr"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4204e8808fcdd40bed39e49371f13f56d6984c32bc03dcb577d2a40b989b9d68"
|
||||
dependencies = [
|
||||
"amplify",
|
||||
"base32",
|
||||
"cyphergraphy",
|
||||
"sha3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1084,9 +1102,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cyphernet"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac949369884a7a1d802cc669821269c707be8cec4d65043382e253733d2e62e1"
|
||||
checksum = "2de2031ff4b9fc77e4dad022047341b55d285398164cc698e4082f4754b2e684"
|
||||
dependencies = [
|
||||
"cypheraddr",
|
||||
"cyphergraphy",
|
||||
@@ -1453,7 +1471,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bdfd533a2fc01178c738c99412ae1f7e1ad2cb37c2e14bfd87e9d4618171c825"
|
||||
dependencies = [
|
||||
"ct-codecs",
|
||||
"ed25519",
|
||||
"ed25519 1.5.3",
|
||||
"getrandom 0.2.16",
|
||||
]
|
||||
|
||||
@@ -1480,6 +1498,27 @@ dependencies = [
|
||||
"signature 1.6.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ed25519"
|
||||
version = "2.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
|
||||
dependencies = [
|
||||
"signature 2.2.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ed25519-dalek"
|
||||
version = "2.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9"
|
||||
dependencies = [
|
||||
"curve25519-dalek",
|
||||
"ed25519 2.2.3",
|
||||
"sha2",
|
||||
"subtle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.15.0"
|
||||
@@ -1616,6 +1655,12 @@ dependencies = [
|
||||
"subtle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fiat-crypto"
|
||||
version = "0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
|
||||
|
||||
[[package]]
|
||||
name = "field-offset"
|
||||
version = "0.3.6"
|
||||
@@ -2711,15 +2756,6 @@ dependencies = [
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "keccak"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
|
||||
dependencies = [
|
||||
"cpufeatures",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "keyboard-types"
|
||||
version = "0.7.0"
|
||||
@@ -3940,9 +3976,9 @@ checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
|
||||
|
||||
[[package]]
|
||||
name = "radicle"
|
||||
version = "0.22.1"
|
||||
version = "0.24.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "31fcfcac7b87b1a3677dccae9979046b949fb529d3061214c55b82d643c3b39a"
|
||||
checksum = "0c07a8a270e9b1b8064a33f0aa78b4fd39924ce4d31e0715659a923917e07b46"
|
||||
dependencies = [
|
||||
"amplify",
|
||||
"base64 0.21.7",
|
||||
@@ -3956,17 +3992,15 @@ dependencies = [
|
||||
"indexmap 2.9.0",
|
||||
"libc",
|
||||
"log",
|
||||
"multibase",
|
||||
"nonempty 0.9.0",
|
||||
"qcheck",
|
||||
"radicle-cob",
|
||||
"radicle-core",
|
||||
"radicle-crypto",
|
||||
"radicle-git-metadata 0.2.0",
|
||||
"radicle-git-metadata",
|
||||
"radicle-git-ref-format",
|
||||
"radicle-localtime",
|
||||
"radicle-oid",
|
||||
"radicle-ssh",
|
||||
"serde",
|
||||
"serde-untagged",
|
||||
"serde_json",
|
||||
@@ -3980,9 +4014,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "radicle-cob"
|
||||
version = "0.19.0"
|
||||
version = "0.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cd49b584b0a61cba52cfd8ec873bb5f3cbc50763d020a4c333aeffa95a5c839e"
|
||||
checksum = "59e5d3e54429dff785bee3f80b334d67b701f4bd66b7e825d1b4efa8435bba74"
|
||||
dependencies = [
|
||||
"fastrand",
|
||||
"git-ref-format-core",
|
||||
@@ -3991,7 +4025,7 @@ dependencies = [
|
||||
"nonempty 0.9.0",
|
||||
"radicle-crypto",
|
||||
"radicle-dag",
|
||||
"radicle-git-metadata 0.1.0",
|
||||
"radicle-git-metadata",
|
||||
"radicle-oid",
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -4001,9 +4035,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "radicle-core"
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "617b55b262b946470a355052a6d72c7f8efc724b8d8068021234cda74df7dd30"
|
||||
checksum = "656cf8f177c04702ac4b4702e622c75a370da0634f925c56c10cab5cadf7487f"
|
||||
dependencies = [
|
||||
"git2",
|
||||
"multibase",
|
||||
@@ -4018,9 +4052,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "radicle-crypto"
|
||||
version = "0.16.0"
|
||||
version = "0.17.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f77cf406d3e448de958e3a821bb09612bb2f97ac1dbb2ee314b59264cde8281d"
|
||||
checksum = "514c5e0c63134b80da4cbcca9a22f7b5cdd741ec63c6acce16ad9389b0f0cd6e"
|
||||
dependencies = [
|
||||
"amplify",
|
||||
"cyphernet",
|
||||
@@ -4029,12 +4063,13 @@ dependencies = [
|
||||
"git-ref-format-core",
|
||||
"multibase",
|
||||
"qcheck",
|
||||
"radicle-ssh",
|
||||
"serde",
|
||||
"signature 2.2.0",
|
||||
"sqlite",
|
||||
"ssh-agent-lib",
|
||||
"ssh-key",
|
||||
"thiserror 2.0.12",
|
||||
"winpipe",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
@@ -4061,15 +4096,6 @@ dependencies = [
|
||||
"thiserror 1.0.69",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "radicle-git-metadata"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "522d7fa07dfe61981b5d96e9aeb2b7fb2f4a8d5804638e928eaedb33e423eccb"
|
||||
dependencies = [
|
||||
"thiserror 2.0.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "radicle-git-metadata"
|
||||
version = "0.2.0"
|
||||
@@ -4090,13 +4116,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "radicle-job"
|
||||
version = "0.5.2"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "16629f31639215409091e4e1099af070db245e773c76680b234c275b329efe42"
|
||||
checksum = "627fab204e988b8b2aed83cf46f35091e300f41380077b92a674c3927b6b8bb9"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"clap",
|
||||
"indexmap 2.9.0",
|
||||
"log",
|
||||
"nonempty 0.11.0",
|
||||
"once_cell",
|
||||
"qcheck",
|
||||
@@ -4119,25 +4146,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "radicle-oid"
|
||||
version = "0.1.0"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d95c486f589d4f5ef7bd8fce56419854d90cc63a8bbcebe021e0a4f4cca75ac9"
|
||||
checksum = "e60c3fab5115369bee5b757dab3ba9b93825236d3edde230742becb36ba0930a"
|
||||
dependencies = [
|
||||
"git2",
|
||||
"qcheck",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "radicle-ssh"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "216e9e1259d8c857cdb38b2f832fb117e8e26478f110b9a2690bca20b87ec9c5"
|
||||
dependencies = [
|
||||
"thiserror 1.0.69",
|
||||
"winpipe",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "radicle-std-ext"
|
||||
version = "0.2.0"
|
||||
@@ -4146,9 +4163,9 @@ checksum = "fb935931bdd2a2966f3b584f3031d9d54ec0713ddbc563a0193d54e62a88ec73"
|
||||
|
||||
[[package]]
|
||||
name = "radicle-surf"
|
||||
version = "0.27.0"
|
||||
version = "0.27.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2c6a29eac2e55a6d0632c8faeb3cbe91afb1e07be60d157a27fdadb8cc4c508"
|
||||
checksum = "a2dfaa46d3e05ca10fc5841bb9cfac9fe6d3685cf2a02b16972f4cafbb888bd1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64 0.21.7",
|
||||
@@ -4696,6 +4713,15 @@ dependencies = [
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "secrecy"
|
||||
version = "0.10.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e891af845473308773346dc847b2c23ee78fe442e0472ac50e22a18a93d3ae5a"
|
||||
dependencies = [
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "selectors"
|
||||
version = "0.24.0"
|
||||
@@ -4918,16 +4944,6 @@ dependencies = [
|
||||
"digest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha3"
|
||||
version = "0.10.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
|
||||
dependencies = [
|
||||
"digest",
|
||||
"keccak",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shared_child"
|
||||
version = "1.0.2"
|
||||
@@ -5022,9 +5038,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "socks5-client"
|
||||
version = "0.4.1"
|
||||
version = "0.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffc7dcf6fab1d65d82d633006a4cc658d76ce436e01cf1a7c71873c0eeba324c"
|
||||
checksum = "a87421b87207f5d39606da1ac9edd9a5333f4809d26a1fa9bbac58ca42913535"
|
||||
dependencies = [
|
||||
"amplify",
|
||||
"cypheraddr",
|
||||
@@ -5122,6 +5138,22 @@ dependencies = [
|
||||
"sqlite3-src",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ssh-agent-lib"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f3d0582e6e5724c4a5d038472976e8fad64d824b3de37210aa60c35883e3e766"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"log",
|
||||
"secrecy",
|
||||
"signature 2.2.0",
|
||||
"ssh-encoding",
|
||||
"ssh-key",
|
||||
"subtle",
|
||||
"thiserror 2.0.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ssh-cipher"
|
||||
version = "0.2.0"
|
||||
@@ -5157,6 +5189,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b86f5297f0f04d08cabaa0f6bff7cb6aec4d9c3b49d87990d63da9d9156a8c3"
|
||||
dependencies = [
|
||||
"bcrypt-pbkdf",
|
||||
"ed25519-dalek",
|
||||
"num-bigint-dig",
|
||||
"p256",
|
||||
"p384",
|
||||
"p521",
|
||||
@@ -5511,9 +5545,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
|
||||
|
||||
[[package]]
|
||||
name = "tar"
|
||||
version = "0.4.44"
|
||||
version = "0.4.45"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a"
|
||||
checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973"
|
||||
dependencies = [
|
||||
"filetime",
|
||||
"libc",
|
||||
|
||||
@@ -4,7 +4,7 @@ version = "0.0.0"
|
||||
authors = ["Rudolfs Osins <rudolfs@osins.org>", "Sebastian Martinez <me@sebastinez.dev>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.77"
|
||||
rust-version = "1.86"
|
||||
publish = false
|
||||
|
||||
[lib]
|
||||
@@ -21,9 +21,9 @@ either = { version = "1.15" }
|
||||
git2 = { version = "0.20.4", default-features = false, features = ["vendored-libgit2"] }
|
||||
infer = { version = "0.19.0" }
|
||||
log = { version = "0.4.22" }
|
||||
radicle = { version = "0.22" }
|
||||
radicle = { version = "0.24" }
|
||||
radicle-types = { version = "0.1.0", path = "../radicle-types" }
|
||||
radicle-surf = { version = "0.27.0", features = ["serde"] }
|
||||
radicle-surf = { version = "0.27.1", features = ["serde"] }
|
||||
serde = { version = "1.0.0", features = ["derive"] }
|
||||
serde_json = { version = "1.0.0" }
|
||||
tauri = { version = "2.10.3", features = ["isolation"] }
|
||||
|
||||
@@ -77,7 +77,8 @@ pub async fn rebuild_issue_cache(
|
||||
on_event: tauri::ipc::Channel<types::cobs::CacheEvent>,
|
||||
) -> Result<(), Error> {
|
||||
let repo = ctx.profile.storage.repository(rid)?;
|
||||
let mut issues = ctx.profile.issues_mut(&repo)?;
|
||||
let signer = ctx.profile.signer()?;
|
||||
let mut issues = ctx.profile.issues_mut(&repo, &signer)?;
|
||||
on_event.send(types::cobs::CacheEvent::Started { rid })?;
|
||||
issues.write_all(|result, progress| {
|
||||
match result {
|
||||
|
||||
@@ -128,7 +128,7 @@ pub fn create_patch_review(
|
||||
) -> Result<ReviewId, Error> {
|
||||
let repo = ctx.profile.storage.repository(args.rid)?;
|
||||
let signer = ctx.profile.signer()?;
|
||||
let mut patches = ctx.profile.patches_mut(&repo)?;
|
||||
let mut patches = ctx.profile.patches_mut(&repo, &signer)?;
|
||||
let patch_id = match patches.find_by_revision(&args.revision)? {
|
||||
Some(found) => found.id,
|
||||
None => return Err(cob::patch::Error::RevisionNotFound(args.revision).into()),
|
||||
@@ -139,7 +139,6 @@ pub fn create_patch_review(
|
||||
args.verdict.map(Into::into),
|
||||
args.summary,
|
||||
args.labels,
|
||||
&signer,
|
||||
)?;
|
||||
|
||||
for comment in args.comments {
|
||||
@@ -149,7 +148,6 @@ pub fn create_patch_review(
|
||||
comment.location.map(Into::into),
|
||||
None,
|
||||
vec![],
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
|
||||
@@ -172,7 +170,8 @@ pub async fn rebuild_patch_cache(
|
||||
on_event: tauri::ipc::Channel<cobs::CacheEvent>,
|
||||
) -> Result<(), Error> {
|
||||
let repo = ctx.profile.storage.repository(rid)?;
|
||||
let mut patches = ctx.profile.patches_mut(&repo)?;
|
||||
let signer = ctx.profile.signer()?;
|
||||
let mut patches = ctx.profile.patches_mut(&repo, &signer)?;
|
||||
on_event.send(types::cobs::CacheEvent::Started { rid })?;
|
||||
patches.write_all(|result, progress| {
|
||||
match result {
|
||||
|
||||
@@ -189,7 +189,8 @@ pub(crate) async fn create_repo(
|
||||
.backend
|
||||
.reference(ns_head.as_str(), base, false, "Created namespace ref")?;
|
||||
|
||||
project.set_head()?;
|
||||
project.set_canonical_symbolic_refs("set-canonical from create_repo")?;
|
||||
project.set_default_branch_to_canonical_head()?;
|
||||
project.sign_refs(&signer)?;
|
||||
|
||||
Ok(())
|
||||
|
||||
@@ -85,7 +85,7 @@ pub(crate) fn startup(app: AppHandle) -> Result<Config, Error> {
|
||||
|
||||
let node_handle = app.app_handle().clone();
|
||||
|
||||
let node = Node::new(profile.socket());
|
||||
let node = Node::new(profile.home().socket_from_env());
|
||||
|
||||
app.manage(inbox_service);
|
||||
app.manage(patch_service);
|
||||
|
||||
@@ -14,10 +14,10 @@ git2 = { version = "0.20.4", default-features = false, features = ["vendored-lib
|
||||
log = { version = "0.4.22" }
|
||||
infer = { version = "0.19.0" }
|
||||
mime-infer = { version = "3.0.0" }
|
||||
radicle = { version = "0.22" }
|
||||
radicle-job = { version = "0.5.2" }
|
||||
radicle = { version = "0.24" }
|
||||
radicle-job = { version = "0.6" }
|
||||
radicle-localtime = { version = "0.1.0", features = ["serde"] }
|
||||
radicle-surf = { version = "0.27.0", features = ["serde"] }
|
||||
radicle-surf = { version = "0.27.1", features = ["serde"] }
|
||||
serde = { version = "1.0.0", features = ["derive"] }
|
||||
serde_json = { version = "1.0.0" }
|
||||
sqlite = { version = "0.37.0", features = ["bundled"] }
|
||||
@@ -53,4 +53,4 @@ ts-rs = { version = "12.0.1", features = [
|
||||
url = { version = "2.5.4", features = ["serde"] }
|
||||
|
||||
[dev-dependencies]
|
||||
radicle = { version = "0.22", features = ["test"] }
|
||||
radicle = { version = "0.24", features = ["test"] }
|
||||
|
||||
@@ -102,7 +102,11 @@ pub enum Error {
|
||||
|
||||
/// SSH Agent error.
|
||||
#[error(transparent)]
|
||||
Agent(#[from] radicle::crypto::ssh::agent::Error),
|
||||
Agent(#[from] radicle::crypto::ssh::agent::AgentError),
|
||||
|
||||
/// SSH Agent connection error.
|
||||
#[error(transparent)]
|
||||
AgentConnect(#[from] radicle::crypto::ssh::agent::ConnectError),
|
||||
|
||||
/// Node database error.
|
||||
#[error(transparent)]
|
||||
|
||||
@@ -102,11 +102,11 @@ pub trait IssuesMut: Profile {
|
||||
opts: cobs::CobOptions,
|
||||
) -> Result<cobs::issue::Issue, Error> {
|
||||
let profile = self.profile();
|
||||
let mut node = Node::new(profile.socket());
|
||||
let mut node = Node::new(profile.home().socket_from_env());
|
||||
let repo = profile.storage.repository(rid)?;
|
||||
let signer = profile.signer()?;
|
||||
let aliases = profile.aliases();
|
||||
let mut issues = profile.issues_mut(&repo)?;
|
||||
let mut issues = profile.issues_mut(&repo, &signer)?;
|
||||
let title = Title::try_from(new.title)?;
|
||||
let issue = issues.create(
|
||||
title,
|
||||
@@ -114,7 +114,6 @@ pub trait IssuesMut: Profile {
|
||||
&new.labels,
|
||||
&new.assignees,
|
||||
new.embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
|
||||
if opts.announce() {
|
||||
@@ -134,35 +133,32 @@ pub trait IssuesMut: Profile {
|
||||
opts: cobs::CobOptions,
|
||||
) -> Result<cobs::issue::Issue, Error> {
|
||||
let profile = self.profile();
|
||||
let mut node = Node::new(profile.socket());
|
||||
let mut node = Node::new(profile.home().socket_from_env());
|
||||
let repo = profile.storage.repository(rid)?;
|
||||
let signer = profile.signer()?;
|
||||
let aliases = profile.aliases();
|
||||
let mut issues = profile.issues_mut(&repo)?;
|
||||
let mut issues = profile.issues_mut(&repo, &signer)?;
|
||||
let mut issue = issues.get_mut(&cob_id.into())?;
|
||||
|
||||
match action {
|
||||
cobs::issue::Action::Lifecycle { state } => {
|
||||
issue.lifecycle(state.into(), &signer)?;
|
||||
issue.lifecycle(state.into())?;
|
||||
}
|
||||
cobs::issue::Action::Assign { assignees } => {
|
||||
issue.assign(
|
||||
assignees.iter().map(|a| *a.did()).collect::<BTreeSet<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
issue.assign(assignees.iter().map(|a| *a.did()).collect::<BTreeSet<_>>())?;
|
||||
}
|
||||
cobs::issue::Action::Label { labels } => {
|
||||
issue.label(labels, &signer)?;
|
||||
issue.label(labels)?;
|
||||
}
|
||||
cobs::issue::Action::CommentReact {
|
||||
id,
|
||||
reaction,
|
||||
active,
|
||||
} => {
|
||||
issue.react(id, reaction, active, &signer)?;
|
||||
issue.react(id, reaction, active)?;
|
||||
}
|
||||
cobs::issue::Action::CommentRedact { id } => {
|
||||
issue.redact_comment(id, &signer)?;
|
||||
issue.redact_comment(id)?;
|
||||
}
|
||||
cobs::issue::Action::Comment {
|
||||
body,
|
||||
@@ -173,7 +169,6 @@ pub trait IssuesMut: Profile {
|
||||
body,
|
||||
reply_to.unwrap_or(cob_id),
|
||||
embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
cobs::issue::Action::CommentEdit { id, body, embeds } => {
|
||||
@@ -181,11 +176,10 @@ pub trait IssuesMut: Profile {
|
||||
id,
|
||||
body,
|
||||
embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
cobs::issue::Action::Edit { title } => {
|
||||
issue.edit(Title::try_from(title)?, &signer)?;
|
||||
issue.edit(Title::try_from(title)?)?;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use radicle::cob::store::access::ReadOnly;
|
||||
use radicle::storage::ReadStorage;
|
||||
use radicle::{git, identity};
|
||||
use radicle_job::{Job, JobId, Jobs as JobsStore};
|
||||
@@ -12,7 +13,7 @@ pub trait Jobs: Profile {
|
||||
let repo = profile.storage.repository(rid)?;
|
||||
let aliases = &profile.aliases();
|
||||
|
||||
let jobs = JobsStore::open(&repo).unwrap();
|
||||
let jobs = JobsStore::open(&repo, ReadOnly).unwrap();
|
||||
let found_jobs: Result<Vec<(JobId, Job)>, _> = jobs.find_by_commit(sha)?.collect();
|
||||
|
||||
Ok(found_jobs?
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use std::collections::BTreeSet;
|
||||
|
||||
use radicle::cob::Title;
|
||||
use radicle::node::device::BoxedSigner;
|
||||
use radicle::node::Handle;
|
||||
use radicle::patch::cache::Patches as _;
|
||||
use radicle::storage::ReadStorage;
|
||||
@@ -100,11 +99,11 @@ pub trait PatchesMut: Profile {
|
||||
opts: cobs::CobOptions,
|
||||
) -> Result<models::patch::Patch, Error> {
|
||||
let profile = self.profile();
|
||||
let mut node = Node::new(profile.socket());
|
||||
let mut node = Node::new(profile.home().socket_from_env());
|
||||
let repo = profile.storage.repository(rid)?;
|
||||
let signer = profile.signer()?;
|
||||
let aliases = profile.aliases();
|
||||
let mut patches = profile.patches_mut(&repo)?;
|
||||
let mut patches = profile.patches_mut(&repo, &signer)?;
|
||||
let mut patch = patches.get_mut(&cob_id.into())?;
|
||||
|
||||
match action {
|
||||
@@ -117,14 +116,13 @@ pub trait PatchesMut: Profile {
|
||||
revision,
|
||||
description,
|
||||
embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
models::patch::Action::RevisionCommentRedact { revision, comment } => {
|
||||
patch.comment_redact(revision, comment, &signer)?;
|
||||
patch.comment_redact(revision, comment)?;
|
||||
}
|
||||
models::patch::Action::ReviewCommentRedact { review, comment } => {
|
||||
patch.redact_review_comment(review, comment, &signer)?;
|
||||
patch.redact_review_comment(review, comment)?;
|
||||
}
|
||||
models::patch::Action::ReviewCommentReact {
|
||||
review,
|
||||
@@ -132,16 +130,16 @@ pub trait PatchesMut: Profile {
|
||||
reaction,
|
||||
active,
|
||||
} => {
|
||||
patch.react_review_comment(review, comment, reaction, active, &signer)?;
|
||||
patch.react_review_comment(review, comment, reaction, active)?;
|
||||
}
|
||||
models::patch::Action::ReviewCommentResolve { review, comment } => {
|
||||
patch.resolve_review_comment(review, comment, &signer)?;
|
||||
patch.resolve_review_comment(review, comment)?;
|
||||
}
|
||||
models::patch::Action::ReviewCommentUnresolve { review, comment } => {
|
||||
patch.unresolve_review_comment(review, comment, &signer)?;
|
||||
patch.unresolve_review_comment(review, comment)?;
|
||||
}
|
||||
models::patch::Action::Edit { title, target } => {
|
||||
patch.edit::<BoxedSigner, String>(Title::try_from(title)?, target, &signer)?;
|
||||
patch.edit(Title::try_from(title)?, target)?;
|
||||
}
|
||||
models::patch::Action::ReviewEdit {
|
||||
review,
|
||||
@@ -160,7 +158,6 @@ pub trait PatchesMut: Profile {
|
||||
.into_iter()
|
||||
.map(Into::into)
|
||||
.collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
models::patch::Action::ReviewReact {
|
||||
@@ -168,7 +165,7 @@ pub trait PatchesMut: Profile {
|
||||
reaction,
|
||||
active,
|
||||
} => {
|
||||
patch.review_react(review, reaction, active, &signer)?;
|
||||
patch.review_react(review, reaction, active)?;
|
||||
}
|
||||
models::patch::Action::Review {
|
||||
revision,
|
||||
@@ -176,16 +173,10 @@ pub trait PatchesMut: Profile {
|
||||
verdict,
|
||||
labels,
|
||||
} => {
|
||||
patch.review(
|
||||
revision,
|
||||
verdict.map(|v| v.into()),
|
||||
summary,
|
||||
labels,
|
||||
&signer,
|
||||
)?;
|
||||
patch.review(revision, verdict.map(|v| v.into()), summary, labels)?;
|
||||
}
|
||||
models::patch::Action::ReviewRedact { review } => {
|
||||
patch.redact_review(review, &signer)?;
|
||||
patch.redact_review(review)?;
|
||||
}
|
||||
models::patch::Action::ReviewComment {
|
||||
review,
|
||||
@@ -200,7 +191,6 @@ pub trait PatchesMut: Profile {
|
||||
location.map(|l| l.into()),
|
||||
reply_to,
|
||||
embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
models::patch::Action::ReviewCommentEdit {
|
||||
@@ -214,20 +204,16 @@ pub trait PatchesMut: Profile {
|
||||
comment,
|
||||
body,
|
||||
embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
models::patch::Action::Lifecycle { state } => {
|
||||
patch.lifecycle(state, &signer)?;
|
||||
patch.lifecycle(state)?;
|
||||
}
|
||||
models::patch::Action::Assign { assignees } => {
|
||||
patch.assign(
|
||||
assignees.iter().map(|a| *a.did()).collect::<BTreeSet<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
patch.assign(assignees.iter().map(|a| *a.did()).collect::<BTreeSet<_>>())?;
|
||||
}
|
||||
models::patch::Action::Label { labels } => {
|
||||
patch.label(labels, &signer)?;
|
||||
patch.label(labels)?;
|
||||
}
|
||||
models::patch::Action::RevisionReact {
|
||||
revision,
|
||||
@@ -235,13 +221,7 @@ pub trait PatchesMut: Profile {
|
||||
location,
|
||||
active,
|
||||
} => {
|
||||
patch.react(
|
||||
revision,
|
||||
reaction,
|
||||
location.map(|l| l.into()),
|
||||
active,
|
||||
&signer,
|
||||
)?;
|
||||
patch.react(revision, reaction, location.map(|l| l.into()), active)?;
|
||||
}
|
||||
models::patch::Action::RevisionComment {
|
||||
revision,
|
||||
@@ -256,7 +236,6 @@ pub trait PatchesMut: Profile {
|
||||
reply_to,
|
||||
location.map(|l| l.into()),
|
||||
embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
models::patch::Action::RevisionCommentEdit {
|
||||
@@ -270,7 +249,6 @@ pub trait PatchesMut: Profile {
|
||||
comment,
|
||||
body,
|
||||
embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
}
|
||||
models::patch::Action::RevisionCommentReact {
|
||||
@@ -279,10 +257,10 @@ pub trait PatchesMut: Profile {
|
||||
reaction,
|
||||
active,
|
||||
} => {
|
||||
patch.comment_react(revision, comment, reaction, active, &signer)?;
|
||||
patch.comment_react(revision, comment, reaction, active)?;
|
||||
}
|
||||
models::patch::Action::RevisionRedact { revision } => {
|
||||
patch.redact(revision, &signer)?;
|
||||
patch.redact(revision)?;
|
||||
}
|
||||
models::patch::Action::Merge { .. } => {
|
||||
unimplemented!("We don't support merging of patches through the desktop")
|
||||
|
||||
@@ -41,7 +41,9 @@ pub trait Repo: Profile {
|
||||
let mut entries = Vec::new();
|
||||
|
||||
for RepositoryInfo { rid, doc, refs, .. } in repos {
|
||||
if refs.is_ok() && show == Show::Contributor {
|
||||
if matches!(refs, radicle::storage::SignedRefsInfo::Some(_))
|
||||
&& show == Show::Contributor
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -124,7 +126,7 @@ pub trait Repo: Profile {
|
||||
delegate += 1;
|
||||
}
|
||||
|
||||
if refs.is_ok() {
|
||||
if matches!(refs, radicle::storage::SignedRefsInfo::Some(_)) {
|
||||
contributor += 1;
|
||||
}
|
||||
}
|
||||
@@ -472,7 +474,7 @@ pub trait Repo: Profile {
|
||||
|
||||
fn unseed(&self, rid: identity::RepoId) -> Result<(), Error> {
|
||||
let profile = self.profile();
|
||||
let mut node = radicle::Node::new(profile.socket());
|
||||
let mut node = radicle::Node::new(profile.home().socket_from_env());
|
||||
|
||||
profile.unseed(rid, &mut node)?;
|
||||
|
||||
@@ -481,7 +483,7 @@ pub trait Repo: Profile {
|
||||
|
||||
fn seed(&self, rid: identity::RepoId) -> Result<(), Error> {
|
||||
let profile = self.profile();
|
||||
let mut node = radicle::Node::new(profile.socket());
|
||||
let mut node = radicle::Node::new(profile.home().socket_from_env());
|
||||
|
||||
profile.seed(rid, node::policy::Scope::All, &mut node)?;
|
||||
|
||||
|
||||
@@ -99,10 +99,10 @@ pub trait Thread: Profile {
|
||||
) -> Result<cobs::thread::Comment<cobs::Never>, Error> {
|
||||
let profile = self.profile();
|
||||
let aliases = &profile.aliases();
|
||||
let mut node = Node::new(profile.socket());
|
||||
let mut node = Node::new(profile.home().socket_from_env());
|
||||
let signer = profile.signer()?;
|
||||
let repo = profile.storage.repository(rid)?;
|
||||
let mut issues = profile.issues_mut(&repo)?;
|
||||
let mut issues = profile.issues_mut(&repo, &signer)?;
|
||||
let mut issue = issues.get_mut(&new.id.into())?;
|
||||
let id = new.reply_to.unwrap_or_else(|| {
|
||||
let (root_id, _) = issue.root();
|
||||
@@ -113,7 +113,6 @@ pub trait Thread: Profile {
|
||||
n.body,
|
||||
id,
|
||||
n.embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
|
||||
if opts.announce() {
|
||||
@@ -144,10 +143,10 @@ pub trait Thread: Profile {
|
||||
) -> Result<cobs::thread::Comment<cobs::thread::CodeLocation>, Error> {
|
||||
let profile = self.profile();
|
||||
let aliases = &profile.aliases();
|
||||
let mut node = Node::new(profile.socket());
|
||||
let mut node = Node::new(profile.home().socket_from_env());
|
||||
let signer = profile.signer()?;
|
||||
let repo = profile.storage.repository(rid)?;
|
||||
let mut patches = profile.patches_mut(&repo)?;
|
||||
let mut patches = profile.patches_mut(&repo, &signer)?;
|
||||
let mut patch = patches.get_mut(&new.id.into())?;
|
||||
let n = new.clone();
|
||||
let oid = patch.comment(
|
||||
@@ -156,7 +155,6 @@ pub trait Thread: Profile {
|
||||
n.reply_to,
|
||||
n.location.map(|l| l.into()),
|
||||
n.embeds.into_iter().map(Into::into).collect::<Vec<_>>(),
|
||||
&signer,
|
||||
)?;
|
||||
|
||||
if opts.announce() {
|
||||
|
||||
@@ -13,8 +13,8 @@ anyhow = { version = "1.0.90" }
|
||||
axum = { version = "0.8.1", default-features = false, features = ["json", "query", "tokio", "http1"] }
|
||||
hyper = { version = "1.6", default-features = false }
|
||||
lexopt = { version = "0.3.0" }
|
||||
radicle = { version = "0.22" }
|
||||
radicle-surf = { version = "0.27.0", default-features = false, features = ["serde"] }
|
||||
radicle = { version = "0.24" }
|
||||
radicle-surf = { version = "0.27.1", default-features = false, features = ["serde"] }
|
||||
radicle-types = { path = "../radicle-types" }
|
||||
serde = { version = "1.0.0", features = ["derive"] }
|
||||
serde_json = { version = "1.0.0", features = ["preserve_order"] }
|
||||
|
||||
Reference in New Issue
Block a user