rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwoodb66feb330c8c318f5f4aef99512f89ac6d6caf6d
{
"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": "fda5cfa2adc2ebe5e0fa626fc30d4804659593d8",
"author": {
"id": "did:key:z6MkknknvqZkuDxZ5DtKqy3Ef11wnWFHByfamcoMdN754CG2",
"alias": "nandi"
},
"title": "Accept URL-encoded RIDs from web UI paste",
"state": {
"status": "open",
"conflicts": []
},
"before": "6ba619f9a636fecfe5f30b36ebb6b8c06774d5cb",
"after": "b66feb330c8c318f5f4aef99512f89ac6d6caf6d",
"commits": [
"b66feb330c8c318f5f4aef99512f89ac6d6caf6d"
],
"target": "7e1cb406bb935c3de008d2171e8961f57b4336ea",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "fda5cfa2adc2ebe5e0fa626fc30d4804659593d8",
"author": {
"id": "did:key:z6MkknknvqZkuDxZ5DtKqy3Ef11wnWFHByfamcoMdN754CG2",
"alias": "nandi"
},
"description": "The Radicle web UI copies RIDs in percent-encoded form (rad%3A\u2026) from browser URLs. This patch decodes those in RepoId::from_urn so all CLI commands (seed, clone, etc.) accept pasted values without manual conversion.",
"base": "6ba619f9a636fecfe5f30b36ebb6b8c06774d5cb",
"oid": "b66feb330c8c318f5f4aef99512f89ac6d6caf6d",
"timestamp": 1786202239
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "19ccb6b2-af60-4041-aac8-68f787d9fdce"
},
"info_url": "https://cci.rad.levitte.org//19ccb6b2-af60-4041-aac8-68f787d9fdce.html"
}
Started at: 2026-09-08 22:49:54.064771+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/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 189 issues · 39 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout fda5cfa2adc2ebe5e0fa626fc30d4804659593d8
✓ Switched to branch patch/fda5cfa at revision fda5cfa
✓ Branch patch/fda5cfa setup to track rad/patches/fda5cfa2adc2ebe5e0fa626fc30d4804659593d8
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout b66feb330c8c318f5f4aef99512f89ac6d6caf6d
HEAD is now at b66feb33 core: Accept URL-encoded RIDs from web UI paste
Exit code: 0
$ rad patch show fda5cfa2adc2ebe5e0fa626fc30d4804659593d8 -p
╭───────────────────────────────────────────────────────────────────────────────╮
│ Title Accept URL-encoded RIDs from web UI paste │
│ Patch fda5cfa2adc2ebe5e0fa626fc30d4804659593d8 │
│ Author nandi z6Mkknk…N754CG2 │
│ Head b66feb330c8c318f5f4aef99512f89ac6d6caf6d │
│ Base 6ba619f9a636fecfe5f30b36ebb6b8c06774d5cb │
│ Target master │
│ Branches patch/fda5cfa │
│ Commits ahead 1, behind 49 │
│ Status open │
│ │
│ The Radicle web UI copies RIDs in percent-encoded form (rad%3A…) from browser │
│ URLs. This patch decodes those in RepoId::from_urn so all CLI commands (seed, │
│ clone, etc.) accept pasted values without manual conversion. │
├───────────────────────────────────────────────────────────────────────────────┤
│ b66feb3 core: Accept URL-encoded RIDs from web UI paste │
├───────────────────────────────────────────────────────────────────────────────┤
│ ● Revision fda5cfa @ 6ba619f..b66feb3 by nandi z6Mkknk…N754CG2 1 month ago │
╰───────────────────────────────────────────────────────────────────────────────╯
commit b66feb330c8c318f5f4aef99512f89ac6d6caf6d
Author: nandi <78769380+codegod100@users.noreply.github.com>
Date: Sat Aug 8 08:17:01 2026 -0700
core: Accept URL-encoded RIDs from web UI paste
The Radicle web UI copies RIDs in percent-encoded form (rad%3A…)
from browser URLs. Decode these in RepoId::from_urn so all CLI
commands accept pasted values without manual conversion.
Co-authored-by: Cursor <cursoragent@cursor.com>
diff --git a/crates/radicle-core/src/repo.rs b/crates/radicle-core/src/repo.rs
index 92a700a1a2..b4ae615003 100644
--- a/crates/radicle-core/src/repo.rs
+++ b/crates/radicle-core/src/repo.rs
@@ -39,6 +39,37 @@ fn fmt_mismatched_base_encoding(
)
}
+/// Percent-decode a string when it contains URL-encoded sequences.
+///
+/// This is a no-op when no `%` byte is present.
+fn percent_decode_if_needed(input: &str) -> alloc::borrow::Cow<'_, str> {
+ use alloc::borrow::Cow;
+
+ if !input.as_bytes().contains(&b'%') {
+ return Cow::Borrowed(input);
+ }
+
+ let mut out = String::with_capacity(input.len());
+ let bytes = input.as_bytes();
+ let mut i = 0;
+
+ while i < bytes.len() {
+ if bytes[i] == b'%' && i + 2 < bytes.len() {
+ if let Ok(hex) = core::str::from_utf8(&bytes[i + 1..i + 3]) {
+ if let Ok(byte) = u8::from_str_radix(hex, 16) {
+ out.push(byte as char);
+ i += 3;
+ continue;
+ }
+ }
+ }
+ out.push(bytes[i] as char);
+ i += 1;
+ }
+
+ Cow::Owned(out)
+}
+
/// A repository identifier.
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
@@ -80,7 +111,12 @@ impl RepoId {
/// Parse an identifier from the human-readable URN format.
/// Accepts strings without the prefix [`RAD_PREFIX`] as well,
/// for convenience.
+ ///
+ /// Also accepts URL-encoded URNs as copied from the Radicle web UI,
+ /// e.g. `rad%3Az3XncAdkZjeK9mQS5Sdc4qhw98BUX`.
pub fn from_urn(s: &str) -> Result<Self, IdError> {
+ let s = percent_decode_if_needed(s);
+ let s = s.strip_prefix("rad://").unwrap_or(&s);
let s = s.strip_prefix(RAD_PREFIX).unwrap_or(s);
let id = Self::from_canonical(s)?;
@@ -411,4 +447,18 @@ mod test {
assert!("z3gqcJUoA1n9HaHKufZs5FCSGazv5".parse::<RepoId>().is_ok());
assert!("z3XncAdkZjeK9mQS5Sdc4qhw98BUX".parse::<RepoId>().is_ok());
}
+
+ #[test]
+ fn valid_url_encoded() {
+ assert!(
+ "rad%3Az3gqcJUoA1n9HaHKufZs5FCSGazv5"
+ .parse::<RepoId>()
+ .is_ok()
+ );
+ assert!(
+ "rad%3A%2F%2Fz3gqcJUoA1n9HaHKufZs5FCSGazv5"
+ .parse::<RepoId>()
+ .is_ok()
+ );
+ }
}
Exit code: 0
shell: 'export RUSTDOCFLAGS=''-D warnings'' cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- --deny warnings cargo build --all-targets --workspace cargo doc --workspace --no-deps --all-features cargo test --workspace --no-fail-fast '
Commands:
$ podman run --name 19ccb6b2-af60-4041-aac8-68f787d9fdce -v /opt/radcis/ci.rad.levitte.org/cci/state/19ccb6b2-af60-4041-aac8-68f787d9fdce/s:/19ccb6b2-af60-4041-aac8-68f787d9fdce/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/19ccb6b2-af60-4041-aac8-68f787d9fdce/w:/19ccb6b2-af60-4041-aac8-68f787d9fdce/w -w /19ccb6b2-af60-4041-aac8-68f787d9fdce/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:trixie bash /19ccb6b2-af60-4041-aac8-68f787d9fdce/s/script.sh
+ export 'RUSTDOCFLAGS=-D warnings'
+ RUSTDOCFLAGS='-D warnings'
+ cargo --version
info: syncing channel updates for '1.97.1-x86_64-unknown-linux-gnu'
info: latest update on 2026-07-16, rust version 1.97.1 (8bab26f4f 2026-07-14)
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.97.1 (c980f4866 2026-06-30)
+ rustc --version
rustc 1.97.1 (8bab26f4f 2026-07-14)
+ cargo fmt --check
+ cargo clippy --all-targets --workspace -- --deny warnings
Updating crates.io index
Downloading crates ...
Downloaded cipher v0.4.4
Downloaded addr2line v0.25.1
Downloaded quick-error v1.2.3
Downloaded clap_builder v4.6.0
Downloaded cpufeatures v0.2.17
Downloaded displaydoc v0.2.5
Downloaded gix-shallow v0.12.0
Downloaded crypto-bigint v0.5.5
Downloaded ctr v0.9.2
Downloaded quote v1.0.45
Downloaded clap v4.6.0
Downloaded faster-hex v0.10.0
Downloaded rand v0.8.5
Downloaded rand v0.9.2
Downloaded fancy-regex v0.14.0
Downloaded clap_derive v4.6.0
Downloaded const-str v0.4.3
Downloaded crypto-common v0.1.7
Downloaded clap_complete v4.6.0
Downloaded curve25519-dalek v4.1.3
Downloaded digest v0.10.7
Downloaded crossbeam-channel v0.5.15
Downloaded crossterm v0.29.0
Downloaded email_address v0.2.9
Downloaded crossbeam-utils v0.8.21
Downloaded emojis v0.6.4
Downloaded fast-glob v0.3.3
Downloaded dyn-clone v1.0.20
Downloaded colorchoice v1.0.5
Downloaded crc32fast v1.5.0
Downloaded ecdsa v0.16.9
Downloaded console v0.16.3
Downloaded ec25519 v0.1.0
Downloaded ed25519 v1.5.3
Downloaded fluent-uri v0.3.2
Downloaded fnv v1.0.7
Downloaded clap_lex v1.1.0
Downloaded cypheraddr v0.4.1
Downloaded errno v0.3.14
Downloaded escargot v0.5.15
Downloaded gix-hashtable v0.15.0
Downloaded convert_case v0.10.0
Downloaded gix-error v0.2.3
Downloaded serde_core v1.0.228
Downloaded sem_safe v0.2.1
Downloaded secrecy v0.10.3
Downloaded smallvec v1.15.1
Downloaded semver v1.0.27
Downloaded snapbox v1.2.2
Downloaded spin v0.9.8
Downloaded same-file v1.0.6
Downloaded serde v1.0.228
Downloaded sharded-slab v0.1.7
Downloaded sval_dynamic v2.17.0
Downloaded cyphergraphy v0.3.1
Downloaded equivalent v1.0.2
Downloaded gix-quote v0.7.1
Downloaded getrandom v0.4.3
Downloaded generic-array v0.14.7
Downloaded derive_more-impl v2.1.1
Downloaded find-msvc-tools v0.1.9
Downloaded structured-logger v1.0.5
Downloaded data-encoding-macro-internal v0.1.17
Downloaded env_filter v1.0.0
Downloaded gix-negotiate v0.31.0
Downloaded gix-lock v23.0.0
Downloaded signature v2.2.0
Downloaded snapbox-macros v1.1.0
Downloaded gix-glob v0.26.0
Downloaded gix-actor v0.41.0
Downloaded scopeguard v1.2.0
Downloaded socks5-client v0.4.3
Downloaded gix-refspec v0.41.0
Downloaded fastrand v2.3.0
Downloaded const-oid v0.9.6
Downloaded gix-date v0.15.3
Downloaded signal-hook v0.3.18
Downloaded siphasher v0.3.11
Downloaded ssh-cipher v0.2.0
Downloaded ref-cast v1.0.25
Downloaded sval_ref v2.17.0
Downloaded salsa20 v0.10.2
Downloaded sha1 v0.10.6
Downloaded rusty-fork v0.3.1
Downloaded spki v0.7.3
Downloaded document-features v0.2.12
Downloaded dunce v1.0.5
Downloaded ghash v0.5.1
Downloaded signal-hook-mio v0.2.5
Downloaded curve25519-dalek-derive v0.1.1
Downloaded data-encoding v2.10.0
Downloaded gix-hash v0.25.0
Downloaded gix-prompt v0.15.0
Downloaded getrandom v0.2.17
Downloaded getrandom v0.3.4
Downloaded rand_chacha v0.3.1
Downloaded serde_spanned v1.0.4
Downloaded signal-hook-registry v1.4.8
Downloaded sqlite3-sys v0.18.0
Downloaded strsim v0.11.1
Downloaded subtle v2.6.1
Downloaded serde-untagged v0.1.9
Downloaded rand_core v0.9.5
Downloaded cfg-if v1.0.4
Downloaded ryu v1.0.23
Downloaded siphasher v1.0.2
Downloaded form_urlencoded v1.2.2
Downloaded sha2 v0.10.9
Downloaded shell-words v1.1.1
Downloaded ssh-encoding v0.2.0
Downloaded diff v0.1.13
Downloaded ff v0.13.1
Downloaded gix-command v0.9.0
Downloaded gix-config-value v0.18.0
Downloaded gix-credentials v0.38.0
Downloaded gix-features v0.48.0
Downloaded gix-sec v0.14.0
Downloaded either v1.15.0
Downloaded erased-serde v0.4.10
Downloaded gix-chunk v0.7.1
Downloaded gix-packetline v0.21.3
Downloaded gix-ref v0.63.0
Downloaded gix-revision v0.45.0
Downloaded gix-revwalk v0.31.0
Downloaded rand_xorshift v0.4.0
Downloaded rustc_version v0.4.1
Downloaded sec1 v0.7.3
Downloaded serde_derive v1.0.228
Downloaded serde_json v1.0.149
Downloaded signature v1.6.4
Downloaded simd-adler32 v0.3.8
Downloaded sval_buffer v2.17.0
Downloaded sval_fmt v2.17.0
Downloaded sval_json v2.17.0
Downloaded sval_nested v2.17.0
Downloaded sval_serde v2.17.0
Downloaded synstructure v0.13.2
Downloaded tempfile v3.27.0
Downloaded test-log v0.2.19
Downloaded thiserror-impl v1.0.69
Downloaded colored v2.2.0
Downloaded ed25519 v2.2.3
Downloaded env_logger v0.11.9
Downloaded gix-commitgraph v0.37.0
Downloaded gix-path v0.12.0
Downloaded gix-tempfile v23.0.0
Downloaded group v0.13.0
Downloaded memmap2 v0.9.10
Downloaded referencing v0.30.0
Downloaded rfc6979 v0.4.0
Downloaded test-log-macros v0.2.19
Downloaded scrypt v0.11.0
Downloaded sqlite v0.37.0
Downloaded systemd-journal-logger v2.2.2
Downloaded der v0.7.10
Downloaded gix-odb v0.80.0
Downloaded gix-object v0.60.0
Downloaded inout v0.1.4
Downloaded elliptic-curve v0.13.8
Downloaded stable_deref_trait v1.2.1
Downloaded gix-protocol v0.61.0
Downloaded num-iter v0.1.45
Downloaded shlex v1.3.0
Downloaded gix-diff v0.63.0
Downloaded icu_normalizer_data v2.1.1
Downloaded ref-cast-impl v1.0.25
Downloaded schemars_derive v1.2.1
Downloaded serde_fmt v1.1.0
Downloaded streaming-iterator v0.1.9
Downloaded data-encoding-macro v0.1.19
Downloaded thread_local v1.1.9
Downloaded lazy_static v1.5.0
Downloaded serde_derive_internals v0.29.1
Downloaded bytes v1.11.1
Downloaded ed25519-dalek v2.2.0
Downloaded flate2 v1.1.9
Downloaded rustversion v1.0.22
Downloaded tinyvec_macros v0.1.1
Downloaded hex-literal v1.1.0
Downloaded thiserror v1.0.69
Downloaded thiserror-impl v2.0.18
Downloaded lexopt v0.3.2
Downloaded similar v3.1.1
Downloaded timeago v0.4.2
Downloaded derive_more v2.1.1
Downloaded schemars v1.2.1
Downloaded gix-fs v0.21.1
Downloaded gix-pack v0.70.0
Downloaded percent-encoding v2.3.2
Downloaded pkcs8 v0.10.2
Downloaded pastey v0.2.1
Downloaded rand_core v0.6.4
Downloaded socket2 v0.5.10
Downloaded ssh-agent-lib v0.6.0
Downloaded signals_receipts v0.2.5
Downloaded rustc-demangle v0.1.27
Downloaded unicode-display-width v0.3.0
Downloaded gix-url v0.36.0
Downloaded thiserror v2.0.18
Downloaded cyphernet v0.5.4
Downloaded gix-trace v0.1.19
Downloaded adler2 v2.0.1
Downloaded amplify_num v0.5.3
Downloaded base-x v0.2.11
Downloaded humantime v2.3.0
Downloaded phf v0.11.3
Downloaded rand_chacha v0.9.0
Downloaded pkg-config v0.3.32
Downloaded value-bag-serde1 v1.12.0
Downloaded icu_properties v2.1.2
Downloaded heck v0.5.0
Downloaded universal-hash v0.5.1
Downloaded bit-set v0.8.0
Downloaded idna_adapter v1.2.1
Downloaded match-lookup v0.1.2
Downloaded amplify_derive v4.0.1
Downloaded num v0.4.3
Downloaded rsa v0.9.10
Downloaded sval v2.17.0
Downloaded unit-prefix v0.5.2
Downloaded memchr v2.8.0
Downloaded outref v0.5.2
Downloaded indexmap v2.13.0
Downloaded tracing-log v0.2.0
Downloaded yoke v0.8.1
Downloaded log v0.4.29
Downloaded unicode-ident v1.0.24
Downloaded base64ct v1.8.3
Downloaded bcrypt-pbkdf v0.10.0
Downloaded bytesize v2.3.1
Downloaded base16ct v0.2.0
Downloaded opaque-debug v0.3.1
Downloaded polyval v0.6.2
Downloaded qcheck v1.0.0
Downloaded bit-vec v0.8.0
Downloaded anstyle v1.0.14
Downloaded tree-sitter-css v0.23.2
Downloaded zmij v1.0.21
Downloaded anstyle-parse v1.0.0
Downloaded noise-framework v0.4.1
Downloaded gix-traverse v0.57.0
Downloaded fraction v0.15.3
Downloaded indicatif v0.18.4
Downloaded once_cell v1.21.4
Downloaded ssh-key v0.6.7
Downloaded normalize-line-endings v0.3.0
Downloaded writeable v0.6.2
Downloaded qcheck-macros v1.0.0
Downloaded block-padding v0.3.3
Downloaded borrow-or-share v0.2.4
Downloaded pkcs1 v0.7.5
Downloaded human-panic v2.0.6
Downloaded miniz_oxide v0.8.9
Downloaded toml v0.9.12+spec-1.1.0
Downloaded yoke-derive v0.8.1
Downloaded anstyle-query v1.1.5
Downloaded base256emoji v1.0.2
Downloaded base32 v0.4.0
Downloaded block-buffer v0.10.4
Downloaded pbkdf2 v0.12.2
Downloaded gix-transport v0.57.0
Downloaded tree-sitter-highlight v0.24.7
Downloaded byteorder v1.5.0
Downloaded icu_locale_core v2.1.1
Downloaded gix-validate v0.11.1
Downloaded hmac v0.12.1
Downloaded litrs v1.0.0
Downloaded zerovec-derive v0.11.2
Downloaded num-integer v0.1.46
Downloaded unarray v0.1.4
Downloaded hash32 v0.3.1
Downloaded tree-sitter-language v0.1.7
Downloaded gix-utils v0.3.2
Downloaded multibase v0.9.2
Downloaded wait-timeout v0.2.1
Downloaded potential_utf v0.1.4
Downloaded proc-macro2 v1.0.106
Downloaded tree-sitter-json v0.24.8
Downloaded primeorder v0.13.6
Downloaded itoa v1.0.17
Downloaded version_check v0.9.5
Downloaded nonempty v0.12.0
Downloaded num-cmp v0.1.0
Downloaded iana-time-zone v0.1.65
Downloaded blowfish v0.9.1
Downloaded pem-rfc7468 v0.7.0
Downloaded vsimd v0.8.0
Downloaded bytecount v0.6.9
Downloaded chacha20 v0.9.1
Downloaded nonempty v0.9.0
Downloaded tree-sitter-html v0.23.2
Downloaded base64 v0.22.1
Downloaded anyhow v1.0.102
Downloaded pin-project-lite v0.2.17
Downloaded ascii v1.1.0
Downloaded is_terminal_polyfill v1.70.2
Downloaded autocfg v1.5.0
Downloaded phf_shared v0.11.3
Downloaded matchers v0.2.0
Downloaded typeid v1.0.3
Downloaded uuid-simd v0.8.0
Downloaded value-bag-sval2 v1.12.0
Downloaded tinystr v0.8.2
Downloaded keccak v0.1.6
Downloaded utf8_iter v1.0.4
Downloaded nu-ansi-term v0.50.3
Downloaded anstream v1.0.0
Downloaded zerofrom v0.1.6
Downloaded aead v0.5.2
Downloaded amplify_syn v2.0.1
Downloaded cbc v0.1.2
Downloaded num-complex v0.4.6
Downloaded toml_writer v1.0.7+spec-1.1.0
Downloaded poly1305 v0.8.0
Downloaded zerofrom-derive v0.1.6
Downloaded zerotrie v0.2.3
Downloaded num-rational v0.4.2
Downloaded num-bigint-dig v0.8.6
Downloaded value-bag v1.12.0
Downloaded anstream v0.6.21
Downloaded tinyvec v1.11.0
Downloaded backtrace v0.3.76
Downloaded zeroize v1.9.0
Downloaded bitflags v2.11.0
Downloaded ppv-lite86 v0.2.21
Downloaded jobserver v0.1.34
Downloaded maybe-async v0.2.10
Downloaded anstyle-parse v0.2.7
Downloaded amplify v4.9.0
Downloaded toml_datetime v0.7.5+spec-1.1.0
Downloaded tree-sitter-toml-ng v0.6.0
Downloaded lock_api v0.4.14
Downloaded walkdir v2.5.0
Downloaded yansi v1.0.1
Downloaded parking_lot v0.12.5
Downloaded utf8parse v0.2.2
Downloaded icu_provider v2.1.1
Downloaded heapless v0.8.0
Downloaded tracing-core v0.1.36
Downloaded parking_lot_core v0.9.12
Downloaded p256 v0.13.2
Downloaded litemap v0.8.1
Downloaded ahash v0.8.12
Downloaded mio v1.1.1
Downloaded num-traits v0.2.19
Downloaded syn v1.0.109
Downloaded num-bigint v0.4.6
Downloaded base64 v0.21.7
Downloaded regex v1.12.3
Downloaded tree-sitter-go v0.23.4
Downloaded icu_normalizer v2.1.1
Downloaded unicode-normalization v0.1.25
Downloaded arc-swap v1.9.1
Downloaded jsonschema v0.30.0
Downloaded uuid v1.22.0
Downloaded chacha20poly1305 v0.10.1
Downloaded pretty_assertions v1.4.1
Downloaded git2 v0.21.0
Downloaded unicode-segmentation v1.12.0
Downloaded icu_collections v2.1.1
Downloaded aes-gcm v0.10.3
Downloaded url v2.5.8
Downloaded cc v1.2.57
Downloaded prodash v31.0.0
Downloaded sysinfo v0.37.2
Downloaded typenum v1.20.1
Downloaded jiff-static v0.2.23
Downloaded inquire v0.9.4
Downloaded p521 v0.13.3
Downloaded p384 v0.13.1
Downloaded idna v1.1.0
Downloaded hashbrown v0.16.1
Downloaded aes v0.8.4
Downloaded portable-atomic v1.13.1
Downloaded libm v0.2.16
Downloaded tree-sitter v0.24.7
Downloaded gimli v0.32.3
Downloaded itertools v0.14.0
Downloaded zerovec v0.11.5
Downloaded aho-corasick v1.1.4
Downloaded tracing-subscriber v0.3.23
Downloaded icu_properties_data v2.1.2
Downloaded tree-sitter-python v0.23.6
Downloaded proptest v1.10.0
Downloaded zlib-rs v0.6.5
Downloaded tree-sitter-c v0.23.4
Downloaded unicode-width v0.2.2
Downloaded syn v2.0.117
Downloaded regex-syntax v0.8.10
Downloaded vcpkg v0.2.15
Downloaded chrono v0.4.44
Downloaded object v0.37.3
Downloaded zerocopy v0.8.42
Downloaded tree-sitter-bash v0.23.3
Downloaded bloomy v1.2.0
Downloaded tree-sitter-rust v0.23.3
Downloaded rustix v1.1.4
Downloaded tree-sitter-md v0.3.2
Downloaded bstr v1.12.1
Downloaded tracing v0.1.44
Downloaded regex-automata v0.4.14
Downloaded tree-sitter-ruby v0.23.1
Downloaded jiff v0.2.23
Downloaded sha1-checked v0.10.0
Downloaded sha3 v0.10.8
Downloaded libc v0.2.183
Downloaded libz-sys v1.1.25
Downloaded tokio v1.50.0
Downloaded tree-sitter-typescript v0.23.2
Downloaded libgit2-sys v0.18.4+1.9.3
Downloaded sqlite3-src v0.7.0
Downloaded linux-raw-sys v0.12.1
Compiling libc v0.2.183
Compiling proc-macro2 v1.0.106
Compiling quote v1.0.45
Compiling unicode-ident v1.0.24
Compiling serde_core v1.0.228
Checking cfg-if v1.0.4
Compiling serde v1.0.228
Compiling syn v2.0.117
Compiling version_check v0.9.5
Checking getrandom v0.2.17
Compiling generic-array v0.14.7
Checking rand_core v0.6.4
Checking typenum v1.20.1
Checking memchr v2.8.0
Compiling shlex v1.3.0
Compiling find-msvc-tools v0.1.9
Checking subtle v2.6.1
Compiling jobserver v0.1.34
Checking const-oid v0.9.6
Checking smallvec v1.15.1
Checking regex-syntax v0.8.10
Checking aho-corasick v1.1.4
Compiling cc v1.2.57
Checking cpufeatures v0.2.17
Compiling thiserror v2.0.18
Checking regex-automata v0.4.14
Checking fastrand v2.3.0
Compiling parking_lot_core v0.9.12
Checking scopeguard v1.2.0
Checking lock_api v0.4.14
Checking stable_deref_trait v1.2.1
Checking bitflags v2.11.0
Checking parking_lot v0.12.5
Compiling typeid v1.0.3
Compiling erased-serde v0.4.10
Checking tinyvec_macros v0.1.1
Checking gix-trace v0.1.19
Checking itoa v1.0.17
Checking tinyvec v1.11.0
Checking serde_fmt v1.1.0
Checking hashbrown v0.16.1
Checking unicode-normalization v0.1.25
Compiling serde_derive v1.0.228
Compiling thiserror-impl v2.0.18
Checking bstr v1.12.1
Checking value-bag-serde1 v1.12.0
Checking byteorder v1.5.0
Checking value-bag v1.12.0
Checking gix-validate v0.11.1
Checking gix-utils v0.3.2
Checking log v0.4.29
Compiling crc32fast v1.5.0
Checking same-file v1.0.6
Checking walkdir v2.5.0
Checking prodash v31.0.0
Checking zlib-rs v0.6.5
Compiling heapless v0.8.0
Compiling pkg-config v0.3.32
Checking gix-path v0.12.0
Compiling libm v0.2.16
Compiling autocfg v1.5.0
Checking hash32 v0.3.1
Checking gix-features v0.48.0
Compiling rustix v1.1.4
Compiling num-traits v0.2.19
Checking linux-raw-sys v0.12.1
Checking faster-hex v0.10.0
Compiling getrandom v0.4.3
Compiling zerocopy v0.8.42
Checking zeroize v1.9.0
Compiling zmij v1.0.21
Checking crypto-common v0.1.7
Checking block-buffer v0.10.4
Checking equivalent v1.0.2
Compiling serde_json v1.0.149
Checking digest v0.10.7
Checking indexmap v2.13.0
Checking sha1 v0.10.6
Checking sha1-checked v0.10.0
Checking gix-hash v0.25.0
Compiling ref-cast v1.0.25
Checking once_cell v1.21.4
Checking block-padding v0.3.3
Compiling ref-cast-impl v1.0.25
Checking inout v0.1.4
Checking sha2 v0.10.9
Compiling vcpkg v0.2.15
Checking dyn-clone v1.0.20
Checking cipher v0.4.4
Checking tempfile v3.27.0
Compiling serde_derive_internals v0.29.1
Checking der v0.7.10
Compiling libz-sys v1.1.25
Compiling libgit2-sys v0.18.4+1.9.3
Compiling schemars_derive v1.2.1
Checking spin v0.9.8
Checking lazy_static v1.5.0
Compiling syn v1.0.109
Checking ppv-lite86 v0.2.21
Compiling tree-sitter-language v0.1.7
Checking rand_chacha v0.3.1
Checking rand v0.8.5
Checking hmac v0.12.1
Checking universal-hash v0.5.1
Checking num-integer v0.1.46
Checking schemars v1.2.1
Checking opaque-debug v0.3.1
Checking spki v0.7.3
Checking signature v2.2.0
Checking ff v0.13.1
Checking base16ct v0.2.0
Checking sec1 v0.7.3
Checking group v0.13.0
Checking crypto-bigint v0.5.5
Compiling data-encoding v2.10.0
Compiling data-encoding-macro-internal v0.1.17
Checking elliptic-curve v0.13.8
Compiling amplify_syn v2.0.1
Checking num-iter v0.1.45
Checking aead v0.5.2
Compiling match-lookup v0.1.2
Checking signature v1.6.4
Compiling semver v1.0.27
Checking const-str v0.4.3
Compiling rustc_version v0.4.1
Compiling amplify_derive v4.0.1
Checking base256emoji v1.0.2
Checking data-encoding-macro v0.1.19
Checking ed25519 v1.5.3
Checking poly1305 v0.8.0
Checking rfc6979 v0.4.0
Checking qcheck v1.0.0
Checking chacha20 v0.9.1
Checking gix-error v0.2.3
Checking base-x v0.2.11
Checking ascii v1.1.0
Checking amplify_num v0.5.3
Checking multibase v0.9.2
Checking ecdsa v0.16.9
Checking ec25519 v0.1.0
Compiling curve25519-dalek v4.1.3
Checking primeorder v0.13.6
Checking polyval v0.6.2
Compiling num-bigint-dig v0.8.6
Checking amplify v4.9.0
Checking base64ct v1.8.3
Checking ghash v0.5.1
Checking pem-rfc7468 v0.7.0
Checking pkcs8 v0.10.2
Checking cyphergraphy v0.3.1
Checking pbkdf2 v0.12.2
Checking aes v0.8.4
Checking ctr v0.9.2
Checking radicle-git-ref-format v0.2.0 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-git-ref-format)
Compiling sqlite3-src v0.7.0
Compiling curve25519-dalek-derive v0.1.1
Compiling synstructure v0.13.2
Checking keccak v0.1.6
Checking sha3 v0.10.8
Checking aes-gcm v0.10.3
Checking ssh-encoding v0.2.0
Checking pkcs1 v0.7.5
Checking ed25519 v2.2.3
Checking cbc v0.1.2
Checking blowfish v0.9.1
Checking base32 v0.4.0
Checking percent-encoding v2.3.2
Checking cypheraddr v0.4.1
Checking rsa v0.9.10
Checking bcrypt-pbkdf v0.10.0
Checking ssh-cipher v0.2.0
Checking ed25519-dalek v2.2.0
Compiling zerofrom-derive v0.1.6
Checking p521 v0.13.3
Checking p256 v0.13.2
Checking p384 v0.13.1
Checking chacha20poly1305 v0.10.1
Checking noise-framework v0.4.1
Checking ssh-key v0.6.7
Checking zerofrom v0.1.6
Checking socks5-client v0.4.3
Compiling yoke-derive v0.8.1
Checking secrecy v0.10.3
Checking ssh-agent-lib v0.6.0
Checking yoke v0.8.1
Checking cyphernet v0.5.4
Checking nonempty v0.9.0
Checking utf8parse v0.2.2
Checking anstyle-query v1.1.5
Checking jiff v0.2.23
Compiling zerovec-derive v0.11.2
Checking zerovec v0.11.5
Checking radicle-localtime v0.1.0 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-localtime)
Compiling displaydoc v0.2.5
Checking errno v0.3.14
Checking is_terminal_polyfill v1.70.2
Checking colorchoice v1.0.5
Checking anstyle v1.0.14
Checking base64 v0.21.7
Checking gix-hashtable v0.15.0
Checking gix-date v0.15.3
Checking siphasher v1.0.2
Checking gix-actor v0.41.0
Checking radicle-dag v0.10.0 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-dag)
Checking gix-object v0.60.0
Checking memmap2 v0.9.10
Checking nonempty v0.12.0
Checking tinystr v0.8.2
Checking gix-chunk v0.7.1
Compiling radicle v0.25.1 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle)
Checking litemap v0.8.1
Checking writeable v0.6.2
Checking icu_locale_core v2.1.1
Checking gix-commitgraph v0.37.0
Checking zerotrie v0.2.3
Checking potential_utf v0.1.4
Checking anstyle-parse v1.0.0
Checking serde-untagged v0.1.9
Checking bytesize v2.3.1
Checking fast-glob v0.3.3
Compiling icu_normalizer_data v2.1.1
Checking dunce v1.0.5
Compiling icu_properties_data v2.1.2
Checking icu_provider v2.1.1
Checking anstream v1.0.0
Checking icu_collections v2.1.1
Checking gix-revwalk v0.31.0
Checking gix-fs v0.21.1
Checking mio v1.1.1
Checking sem_safe v0.2.1
Checking simd-adler32 v0.3.8
Checking adler2 v2.0.1
Checking signals_receipts v0.2.5
Checking miniz_oxide v0.8.9
Checking gix-tempfile v23.0.0
Checking gix-quote v0.7.1
Checking icu_properties v2.1.2
Checking icu_normalizer v2.1.1
Compiling unicode-segmentation v1.12.0
Checking shell-words v1.1.1
Checking either v1.15.0
Checking iana-time-zone v0.1.65
Compiling signal-hook v0.3.18
Checking idna_adapter v1.2.1
Checking chrono v0.4.44
Checking gix-command v0.9.0
Compiling convert_case v0.10.0
Checking radicle-signals v0.12.1 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-signals)
Checking signal-hook-registry v1.4.8
Checking colored v2.2.0
Checking utf8_iter v1.0.4
Compiling object v0.37.3
Compiling rustversion v1.0.22
Compiling getrandom v0.3.4
Checking idna v1.1.0
Compiling derive_more-impl v2.1.1
Checking gix-lock v23.0.0
Checking gix-url v0.36.0
Checking gix-config-value v0.18.0
Checking gix-sec v0.14.0
Checking unicode-width v0.2.2
Compiling litrs v1.0.0
Checking gimli v0.32.3
Compiling portable-atomic v1.13.1
Compiling thiserror v1.0.69
Compiling document-features v0.2.12
Checking derive_more v2.1.1
Checking gix-prompt v0.15.0
Checking addr2line v0.25.1
Checking signal-hook-mio v0.2.5
Checking radicle-log v0.2.0 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-log)
Checking gix-traverse v0.57.0
Checking gix-revision v0.45.0
Checking gix-diff v0.63.0
Checking anstyle-parse v0.2.7
Checking gix-packetline v0.21.3
Checking gix-glob v0.26.0
Compiling thiserror-impl v1.0.69
Checking rustc-demangle v0.1.27
Checking gix-refspec v0.41.0
Checking backtrace v0.3.76
Checking gix-transport v0.57.0
Checking anstream v0.6.21
Checking gix-pack v0.70.0
Checking arc-swap v1.9.1
Checking crossterm v0.29.0
Checking gix-credentials v0.38.0
Checking console v0.16.3
Checking gix-ref v0.63.0
Checking gix-shallow v0.12.0
Checking gix-negotiate v0.31.0
Checking form_urlencoded v1.2.2
Checking regex v1.12.3
Compiling maybe-async v0.2.10
Compiling tree-sitter v0.24.7
Checking unit-prefix v0.5.2
Checking indicatif v0.18.4
Checking gix-protocol v0.61.0
Checking url v2.5.8
Checking gix-odb v0.80.0
Checking inquire v0.9.4
Checking unicode-display-width v0.3.0
Checking uuid v1.22.0
Checking bytes v1.11.1
Checking snapbox-macros v1.1.0
Checking salsa20 v0.10.2
Checking clap_lex v1.1.0
Checking strsim v0.11.1
Checking siphasher v0.3.11
Checking similar v3.1.1
Compiling heck v0.5.0
Checking streaming-iterator v0.1.9
Checking normalize-line-endings v0.3.0
Compiling crossbeam-utils v0.8.21
Checking snapbox v1.2.2
Checking sqlite3-sys v0.18.0
Compiling clap_derive v4.6.0
Checking bloomy v1.2.0
Checking sqlite v0.37.0
Checking clap_builder v4.6.0
Checking radicle-crypto v0.19.0 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-crypto)
Checking scrypt v0.11.0
Checking systemd-journal-logger v2.2.2
Compiling tree-sitter-bash v0.23.3
Compiling tree-sitter-rust v0.23.3
Compiling tree-sitter-ruby v0.23.1
Compiling tree-sitter-go v0.23.4
Compiling tree-sitter-md v0.3.2
Compiling tree-sitter-css v0.23.2
Compiling tree-sitter-toml-ng v0.6.0
Compiling tree-sitter-python v0.23.6
Compiling tree-sitter-typescript v0.23.2
Compiling tree-sitter-json v0.24.8
Compiling tree-sitter-html v0.23.2
Compiling tree-sitter-c v0.23.4
Checking toml_datetime v0.7.5+spec-1.1.0
Checking serde_spanned v1.0.4
Checking bit-vec v0.8.0
Checking toml_writer v1.0.7+spec-1.1.0
Checking pin-project-lite v0.2.17
Compiling anyhow v1.0.102
Checking bit-set v0.8.0
Checking toml v0.9.12+spec-1.1.0
Checking tokio v1.50.0
Checking clap v4.6.0
Checking rand_core v0.9.5
Checking sysinfo v0.37.2
Checking yansi v1.0.1
Checking diff v0.1.13
Compiling radicle-cli v0.23.0 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-cli)
Compiling radicle-node v0.21.1 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-node)
Checking pretty_assertions v1.4.1
Checking human-panic v2.0.6
Checking crossbeam-channel v0.5.15
Checking clap_complete v4.6.0
Checking structured-logger v1.0.5
Checking radicle-systemd v0.13.0 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-systemd)
Checking tree-sitter-highlight v0.24.7
Checking itertools v0.14.0
Checking socket2 v0.5.10
Checking humantime v2.3.0
Compiling escargot v0.5.15
Checking lexopt v0.3.2
Checking timeago v0.4.2
Checking wait-timeout v0.2.1
Checking fnv v1.0.7
Checking quick-error v1.2.3
Checking rusty-fork v0.3.1
Checking rand_chacha v0.9.0
Checking rand v0.9.2
Checking rand_xorshift v0.4.0
Compiling qcheck-macros v1.0.0
Checking num-bigint v0.4.6
Compiling ahash v0.8.12
Checking unarray v0.1.4
Checking proptest v1.10.0
Checking num-complex v0.4.6
Checking env_filter v1.0.0
Checking borrow-or-share v0.2.4
Checking fluent-uri v0.3.2
Checking num-rational v0.4.2
Checking num v0.4.3
Checking env_logger v0.11.9
Checking flate2 v1.1.9
Checking phf_shared v0.11.3
Compiling test-log-macros v0.2.19
Checking vsimd v0.8.0
Checking hex-literal v1.1.0
Checking outref v0.5.2
Compiling radicle-remote-helper v0.18.1 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-remote-helper)
Checking uuid-simd v0.8.0
Checking test-log v0.2.19
Checking phf v0.11.3
Checking referencing v0.30.0
Checking fraction v0.15.3
Checking fancy-regex v0.14.0
Checking email_address v0.2.9
Checking bytecount v0.6.9
Checking num-cmp v0.1.0
Checking base64 v0.22.1
Checking emojis v0.6.4
Compiling pastey v0.2.1
Checking jsonschema v0.30.0
Checking radicle-windows v0.1.0 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-windows)
Checking git2 v0.21.0
Checking radicle-oid v0.2.2 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-oid)
Checking radicle-git-metadata v0.2.1 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-git-metadata)
Checking radicle-term v0.19.1 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-term)
Checking radicle-core v0.4.1 (/19ccb6b2-af60-4041-aac8-68f787d9fdce/w/crates/radicle-core)
error: this `if` statement can be collapsed
--> crates/radicle-core/src/repo.rs:57:9
|
57 | / if bytes[i] == b'%' && i + 2 < bytes.len() {
58 | | if let Ok(hex) = core::str::from_utf8(&bytes[i + 1..i + 3]) {
59 | | if let Ok(byte) = u8::from_str_radix(hex, 16) {
60 | | out.push(byte as char);
... |
65 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#collapsible_if
= note: `-D clippy::collapsible-if` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::collapsible_if)]`
help: collapse nested if block
|
57 ~ if bytes[i] == b'%' && i + 2 < bytes.len()
58 ~ && let Ok(hex) = core::str::from_utf8(&bytes[i + 1..i + 3]) {
59 | if let Ok(byte) = u8::from_str_radix(hex, 16) {
...
63 | }
64 ~ }
|
error: indexing may panic
--> crates/radicle-core/src/repo.rs:57:12
|
57 | if bytes[i] == b'%' && i + 2 < bytes.len() {
| ^^^^^^^^
|
= help: consider using `.get(n)` or `.get_mut(n)` instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#indexing_slicing
= note: requested on the command line with `-D clippy::indexing-slicing`
error: this `if` statement can be collapsed
--> crates/radicle-core/src/repo.rs:58:13
|
58 | / if let Ok(hex) = core::str::from_utf8(&bytes[i + 1..i + 3]) {
59 | | if let Ok(byte) = u8::from_str_radix(hex, 16) {
60 | | out.push(byte as char);
61 | | i += 3;
... |
64 | | }
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#collapsible_if
help: collapse nested if block
|
58 ~ if let Ok(hex) = core::str::from_utf8(&bytes[i + 1..i + 3])
59 ~ && let Ok(byte) = u8::from_str_radix(hex, 16) {
60 | out.push(byte as char);
61 | i += 3;
62 | continue;
63 ~ }
|
error: slicing may panic
--> crates/radicle-core/src/repo.rs:58:52
|
58 | if let Ok(hex) = core::str::from_utf8(&bytes[i + 1..i + 3]) {
| ^^^^^^^^^^^^^^^^^^^
|
= help: consider using `.get(n..m)` or `.get_mut(n..m)` instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#indexing_slicing
error: indexing may panic
--> crates/radicle-core/src/repo.rs:66:18
|
66 | out.push(bytes[i] as char);
| ^^^^^^^^
|
= help: consider using `.get(n)` or `.get_mut(n)` instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#indexing_slicing
error: could not compile `radicle-core` (lib test) due to 5 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `radicle-core` (lib) due to 5 previous errors
Exit code: 101
{
"response": "finished",
"result": "failure"
}