rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwood50f54c88c46753e4eb871e4757dce75dfb026b1f
{
"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:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Updated",
"patch": {
"id": "a37eca87f09eba6a72b94f5a7c49be3983b7b386",
"author": {
"id": "did:key:z6MkwcURkqsfxaqUvxME953L1CDRae1KDyPxvr7zsRDWq1kL",
"alias": "matthiasbeyer"
},
"title": "Add filtering by \"state\" to `rad inbox` commands",
"state": {
"status": "draft",
"conflicts": []
},
"before": "646d4360e7d905f0a9ec87d32c6768c5390eabf3",
"after": "50f54c88c46753e4eb871e4757dce75dfb026b1f",
"commits": [
"50f54c88c46753e4eb871e4757dce75dfb026b1f",
"d686ca86e3e040aab8e1de063ccec81a1b4bdbec"
],
"target": "646d4360e7d905f0a9ec87d32c6768c5390eabf3",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "a37eca87f09eba6a72b94f5a7c49be3983b7b386",
"author": {
"id": "did:key:z6MkwcURkqsfxaqUvxME953L1CDRae1KDyPxvr7zsRDWq1kL",
"alias": "matthiasbeyer"
},
"description": "This patchset is a proposal to add filtering to the `rad inbox` commands.\n\nIt is a draft because I am not sure whether it works as expected and also\nbecause I really really would like if the conversion to clap would happen\nfirst, because the cli-parsing code is just ... sorry to say, ... shit, and I\nreally want to have it gone.\n\nStill, some general \"good idea\"/\"bad idea\"-style feedback would be appreciated.",
"base": "f00d1d67432882bef11fc940601f071efe55c88d",
"oid": "7b8698a236a4d0e9bfb5510e3ec86a1da3d6de35",
"timestamp": 1757064591
},
{
"id": "b560f9e4352d8dbcdc66965acfbf8645a0c06079",
"author": {
"id": "did:key:z6MkwcURkqsfxaqUvxME953L1CDRae1KDyPxvr7zsRDWq1kL",
"alias": "matthiasbeyer"
},
"description": "Rebased",
"base": "646d4360e7d905f0a9ec87d32c6768c5390eabf3",
"oid": "50f54c88c46753e4eb871e4757dce75dfb026b1f",
"timestamp": 1757534324
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "c4afb757-b434-4e33-b0ae-82157ec8595e"
},
"info_url": "https://cci.rad.levitte.org//c4afb757-b434-4e33-b0ae-82157ec8595e.html"
}
Started at: 2025-09-10 22:04:39.933334+02:00
Commands:
$ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 .
✓ Creating checkout in ./...
✓ Remote cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT added
✓ Remote-tracking branch cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/master created for z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT
✓ Remote cloudhead@z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW added
✓ Remote-tracking branch cloudhead@z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW/master created for z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW
✓ Remote fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM added
✓ Remote-tracking branch fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/master created for z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
✓ Remote erikli@z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz added
✓ Remote-tracking branch erikli@z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz/master created for z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz
✓ 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/c4afb757-b434-4e33-b0ae-82157ec8595e/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 112 issues · 17 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout a37eca87f09eba6a72b94f5a7c49be3983b7b386
✓ Switched to branch patch/a37eca8 at revision b560f9e
✓ Branch patch/a37eca8 setup to track rad/patches/a37eca87f09eba6a72b94f5a7c49be3983b7b386
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout 50f54c88c46753e4eb871e4757dce75dfb026b1f
HEAD is now at 50f54c88 Add --filter-state param to `rad inbox` command
Exit code: 0
$ git show 50f54c88c46753e4eb871e4757dce75dfb026b1f
commit 50f54c88c46753e4eb871e4757dce75dfb026b1f
Author: Matthias Beyer <mail@beyermatthias.de>
Date: Fri Sep 5 11:24:16 2025 +0200
Add --filter-state param to `rad inbox` command
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
diff --git a/crates/radicle-cli/src/commands/inbox.rs b/crates/radicle-cli/src/commands/inbox.rs
index 2b7cfa00..54561865 100644
--- a/crates/radicle-cli/src/commands/inbox.rs
+++ b/crates/radicle-cli/src/commands/inbox.rs
@@ -47,12 +47,13 @@ Usage
Options
- --all Operate on all repositories
- --repo <rid> Operate on the given repository (default: rad .)
- --sort-by <field> Sort by `id` or `timestamp` (default: timestamp)
- --reverse, -r Reverse the list
- --show-unknown Show any updates that were not recognized
- --help Print help
+ --all Operate on all repositories
+ --repo <rid> Operate on the given repository (default: rad .)
+ --sort-by <field> Sort by `id` or `timestamp` (default: timestamp)
+ --filter-state <state> Filter by notification state (one of: merged, deleted, created, opened, updated, draft)
+ --reverse, -r Reverse the list
+ --show-unknown Show any updates that were not recognized
+ --help Print help
"#,
};
@@ -83,9 +84,65 @@ pub struct Options {
op: Operation,
mode: Mode,
sort_by: SortBy,
+ filter_by: Option<FilterBy>,
show_unknown: bool,
}
+#[derive(Debug, Copy, Clone)]
+struct FilterBy {
+ state: NotificationState,
+}
+
+impl From<FilterBy> for radicle::node::notifications::store::FilterBy {
+ fn from(value: FilterBy) -> Self {
+ Self {
+ ref_update: value.state.into(),
+ }
+ }
+}
+
+#[derive(Debug, Copy, Clone)]
+enum NotificationState {
+ Merged,
+ Deleted,
+ Created,
+ Opened,
+ Updated,
+ Draft,
+}
+
+impl From<NotificationState> for store::FilterByRefUpdate {
+ fn from(value: NotificationState) -> Self {
+ match value {
+ NotificationState::Merged => Self::Merged,
+ NotificationState::Deleted => Self::Deleted,
+ NotificationState::Created => Self::Created,
+ NotificationState::Opened => Self::Opened,
+ NotificationState::Updated => Self::Updated,
+ NotificationState::Draft => Self::Draft,
+ }
+ }
+}
+
+impl NotificationState {
+ fn matches(&self, ref_update: &radicle::storage::RefUpdate) -> bool {
+ // TODO: How to match for the other "NotificationState"s?
+ matches!(
+ (self, ref_update),
+ (
+ NotificationState::Deleted,
+ radicle::storage::RefUpdate::Deleted { .. }
+ ) | (
+ NotificationState::Created,
+ radicle::storage::RefUpdate::Created { .. }
+ ) | (
+ NotificationState::Updated,
+ radicle::storage::RefUpdate::Updated { .. }
+ )
+ )
+ }
+}
+
impl Args for Options {
fn from_args(args: Vec<OsString>) -> anyhow::Result<(Self, Vec<OsString>)> {
use lexopt::prelude::*;
@@ -96,6 +153,7 @@ impl Args for Options {
let mut ids = Vec::new();
let mut reverse = None;
let mut field = None;
+ let mut filter_state = None;
let mut show_unknown = false;
while let Some(arg) = parser.next()? {
@@ -125,6 +183,23 @@ impl Args for Options {
}
}
}
+ Long("filter-state") => {
+ let val = parser.value()?;
+
+ match term::args::string(&val).as_str() {
+ "merged" => filter_state = Some(NotificationState::Merged),
+ "deleted" => filter_state = Some(NotificationState::Deleted),
+ "created" => filter_state = Some(NotificationState::Created),
+ "opened" => filter_state = Some(NotificationState::Opened),
+ "updated" => filter_state = Some(NotificationState::Updated),
+ "draft" => filter_state = Some(NotificationState::Draft),
+ other => {
+ anyhow::bail!(
+ "unknown filtering filter_state `{other}`, see `rad inbox --help`"
+ )
+ }
+ }
+ }
Long("repo") if mode.is_none() => {
let val = parser.value()?;
let repo = args::rid(&val)?;
@@ -168,6 +243,7 @@ impl Args for Options {
op,
mode,
sort_by,
+ filter_by: filter_state.map(|state| FilterBy { state }),
show_unknown,
},
vec![],
@@ -183,6 +259,7 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
op,
mode,
sort_by,
+ filter_by,
show_unknown,
} = options;
@@ -190,12 +267,13 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
Operation::List => list(
mode,
sort_by,
+ filter_by,
show_unknown,
¬ifs.read_only(),
storage,
&profile,
),
- Operation::Clear => clear(mode, &mut notifs),
+ Operation::Clear => clear(mode, filter_by, &mut notifs),
Operation::Show => show(mode, &mut notifs, storage, &profile),
}
}
@@ -203,6 +281,7 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
fn list(
mode: Mode,
sort_by: SortBy,
+ filter_by: Option<FilterBy>,
show_unknown: bool,
notifs: ¬ifications::StoreReader,
storage: &Storage,
@@ -211,17 +290,33 @@ fn list(
let repos: Vec<term::VStack<'_>> = match mode {
Mode::Contextual => {
if let Ok((_, rid)) = radicle::rad::cwd() {
- list_repo(rid, sort_by, show_unknown, notifs, storage, profile)?
- .into_iter()
- .collect()
+ list_repo(
+ rid,
+ sort_by,
+ filter_by,
+ show_unknown,
+ notifs,
+ storage,
+ profile,
+ )?
+ .into_iter()
+ .collect()
} else {
- list_all(sort_by, show_unknown, notifs, storage, profile)?
+ list_all(sort_by, filter_by, show_unknown, notifs, storage, profile)?
}
}
- Mode::ByRepo(rid) => list_repo(rid, sort_by, show_unknown, notifs, storage, profile)?
- .into_iter()
- .collect(),
- Mode::All => list_all(sort_by, show_unknown, notifs, storage, profile)?,
+ Mode::ByRepo(rid) => list_repo(
+ rid,
+ sort_by,
+ filter_by,
+ show_unknown,
+ notifs,
+ storage,
+ profile,
+ )?
+ .into_iter()
+ .collect(),
+ Mode::All => list_all(sort_by, filter_by, show_unknown, notifs, storage, profile)?,
Mode::ById(_) => anyhow::bail!("the `list` command does not take IDs"),
};
@@ -237,6 +332,7 @@ fn list(
fn list_all<'a>(
sort_by: SortBy,
+ filter_by: Option<FilterBy>,
show_unknown: bool,
notifs: ¬ifications::StoreReader,
storage: &Storage,
@@ -247,7 +343,15 @@ fn list_all<'a>(
let mut vstacks = Vec::new();
for repo in repos {
- let vstack = list_repo(repo.rid, sort_by, show_unknown, notifs, storage, profile)?;
+ let vstack = list_repo(
+ repo.rid,
+ sort_by,
+ filter_by,
+ show_unknown,
+ notifs,
+ storage,
+ profile,
+ )?;
vstacks.extend(vstack.into_iter());
}
Ok(vstacks)
@@ -256,6 +360,7 @@ fn list_all<'a>(
fn list_repo<'a, R: ReadStorage>(
rid: RepoId,
sort_by: SortBy,
+ filter_by: Option<FilterBy>,
show_unknown: bool,
notifs: ¬ifications::StoreReader,
storage: &R,
@@ -283,6 +388,12 @@ where
Ok(n) => n,
};
+ if let Some(filter_by) = filter_by.as_ref() {
+ if !filter_by.state.matches(&n.update) {
+ continue;
+ }
+ }
+
let seen = if n.status.is_read() {
term::Label::blank()
} else {
@@ -502,14 +613,24 @@ impl NotificationRow {
}
}
-fn clear(mode: Mode, notifs: &mut notifications::StoreWriter) -> anyhow::Result<()> {
+fn clear(
+ mode: Mode,
+ filter_by: Option<FilterBy>,
+ notifs: &mut notifications::StoreWriter,
+) -> anyhow::Result<()> {
let cleared = match mode {
- Mode::All => notifs.clear_all()?,
- Mode::ById(ids) => notifs.clear(&ids)?,
- Mode::ByRepo(rid) => notifs.clear_by_repo(&rid)?,
+ Mode::All => {
+ if filter_by.is_some() {
+ // TODO: Is this needed?
+ anyhow::bail!("Cannot filter when clearing all notifications. Doing nothing");
+ }
+ notifs.clear_all()?
+ }
+ Mode::ById(ids) => notifs.clear(filter_by.map(Into::into), &ids)?,
+ Mode::ByRepo(rid) => notifs.clear_by_repo(filter_by.map(Into::into), &rid)?,
Mode::Contextual => {
if let Ok((_, rid)) = radicle::rad::cwd() {
- notifs.clear_by_repo(&rid)?
+ notifs.clear_by_repo(filter_by.map(Into::into), &rid)?
} else {
return Err(Error::WithHint {
err: anyhow!("not a radicle repository"),
Exit code: 0
shell: 'cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- --deny warnings cargo build --all-targets --workspace cargo doc --workspace --no-deps cargo test --workspace --no-fail-fast '
Commands:
$ podman run --name c4afb757-b434-4e33-b0ae-82157ec8595e -v /opt/radcis/ci.rad.levitte.org/cci/state/c4afb757-b434-4e33-b0ae-82157ec8595e/s:/c4afb757-b434-4e33-b0ae-82157ec8595e/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/c4afb757-b434-4e33-b0ae-82157ec8595e/w:/c4afb757-b434-4e33-b0ae-82157ec8595e/w -w /c4afb757-b434-4e33-b0ae-82157ec8595e/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:bookworm bash /c4afb757-b434-4e33-b0ae-82157ec8595e/s/script.sh
time="2025-09-10T22:04:41+02:00" level=error msg="User-selected graph driver \"overlay\" overwritten by graph driver \"vfs\" from database - delete libpod local files (\"/opt/radcis/ci.rad.levitte.org/.local/share/containers/storage\") to resolve. May prevent use of images created by other tools"
time="2025-09-10T22:04:41+02:00" level=error msg="User-selected graph driver \"overlay\" overwritten by graph driver \"vfs\" from database - delete libpod local files (\"/opt/radcis/ci.rad.levitte.org/.local/share/containers/storage\") to resolve. May prevent use of images created by other tools"
+ cargo --version
info: syncing channel updates for '1.88-x86_64-unknown-linux-gnu'
info: latest update on 2025-06-26, rust version 1.88.0 (6b00bc388 2025-06-23)
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.88.0 (873a06493 2025-05-10)
+ rustc --version
rustc 1.88.0 (6b00bc388 2025-06-23)
+ cargo fmt --check
+ cargo clippy --all-targets --workspace -- --deny warnings
Updating crates.io index
Downloading crates ...
Downloaded byteorder v1.5.0
Downloaded fancy-regex v0.14.0
Downloaded crossterm v0.29.0
Downloaded opaque-debug v0.3.1
Downloaded addr2line v0.24.2
Downloaded proc-macro-error-attr v1.0.4
Downloaded parking_lot_core v0.9.9
Downloaded serde_derive v1.0.219
Downloaded inout v0.1.3
Downloaded p384 v0.13.0
Downloaded thiserror-impl v1.0.69
Downloaded ascii v1.1.0
Downloaded base64ct v1.6.0
Downloaded pbkdf2 v0.12.2
Downloaded object v0.36.7
Downloaded socket2 v0.5.7
Downloaded pkcs8 v0.10.2
Downloaded signals_receipts v0.2.0
Downloaded poly1305 v0.8.0
Downloaded bytes v1.10.1
Downloaded smallvec v1.13.2
Downloaded proc-macro2 v1.0.92
Downloaded scrypt v0.11.0
Downloaded bytecount v0.6.8
Downloaded signal-hook v0.3.18
Downloaded bytesize v2.0.1
Downloaded popol v3.0.0
Downloaded polyval v0.6.2
Downloaded bloomy v1.2.0
Downloaded socks5-client v0.4.1
Downloaded scopeguard v1.2.0
Downloaded radicle-surf v0.22.0
Downloaded sem_safe v0.2.0
Downloaded spin v0.9.8
Downloaded qcheck-macros v1.0.0
Downloaded rand_chacha v0.3.1
Downloaded regex-automata v0.1.10
Downloaded sqlite v0.32.0
Downloaded signal-hook-registry v1.4.5
Downloaded snapbox v0.4.17
Downloaded siphasher v1.0.1
Downloaded spki v0.7.3
Downloaded ctr v0.9.2
Downloaded schemars v1.0.4
Downloaded snapbox-macros v0.3.8
Downloaded siphasher v0.3.11
Downloaded zerovec v0.10.4
Downloaded ff v0.13.0
Downloaded serde_json v1.0.140
Downloaded dyn-clone v1.0.17
Downloaded filetime v0.2.23
Downloaded env_logger v0.11.8
Downloaded flate2 v1.1.1
Downloaded sha3 v0.10.8
Downloaded lock_api v0.4.11
Downloaded gix-url v0.28.2
Downloaded icu_collections v1.5.0
Downloaded ssh-encoding v0.2.0
Downloaded tree-sitter-css v0.23.1
Downloaded tree-sitter-go v0.23.4
Downloaded streaming-iterator v0.1.9
Downloaded thiserror v2.0.12
Downloaded itertools v0.14.0
Downloaded unicode-display-width v0.3.0
Downloaded utf16_iter v1.0.5
Downloaded ssh-key v0.6.6
Downloaded miniz_oxide v0.8.8
Downloaded yansi v0.5.1
Downloaded writeable v0.5.5
Downloaded icu_locid_transform v1.5.0
Downloaded zerocopy v0.7.35
Downloaded gix-quote v0.4.15
Downloaded localtime v1.3.1
Downloaded toml v0.9.5
Downloaded fxhash v0.2.1
Downloaded tinyvec v1.6.0
Downloaded git-ref-format-core v0.3.1
Downloaded gix-hashtable v0.6.0
Downloaded zerofrom-derive v0.1.6
Downloaded gix-fs v0.12.1
Downloaded gix-revision v0.31.1
Downloaded gix-hash v0.15.1
Downloaded human-panic v2.0.3
Downloaded git-ref-format-macro v0.3.1
Downloaded tar v0.4.40
Downloaded universal-hash v0.5.1
Downloaded gix-lock v15.0.1
Downloaded tracing-subscriber v0.3.19
Downloaded tree-sitter-toml-ng v0.6.0
Downloaded log v0.4.27
Downloaded jobserver v0.1.31
Downloaded url v2.5.4
Downloaded unicode-segmentation v1.11.0
Downloaded syn v2.0.89
Downloaded unicode-normalization v0.1.23
Downloaded newline-converter v0.3.0
Downloaded unicode-ident v1.0.12
Downloaded timeago v0.4.2
Downloaded git2 v0.19.0
Downloaded test-log-macros v0.2.18
Downloaded vcpkg v0.2.15
Downloaded ssh-cipher v0.2.0
Downloaded toml_datetime v0.7.0
Downloaded tree-sitter-rust v0.23.2
Downloaded num v0.4.3
Downloaded gix-refspec v0.27.0
Downloaded gix-ref v0.49.1
Downloaded gix-prompt v0.9.1
Downloaded toml_writer v1.0.2
Downloaded multibase v0.9.1
Downloaded gix-protocol v0.47.0
Downloaded gix-sec v0.10.12
Downloaded git-ref-format v0.3.1
Downloaded group v0.13.0
Downloaded ghash v0.5.1
Downloaded nonempty v0.9.0
Downloaded gix-chunk v0.4.11
Downloaded tinystr v0.7.6
Downloaded nu-ansi-term v0.46.0
Downloaded normalize-line-endings v0.3.0
Downloaded tracing-core v0.1.34
Downloaded gix-utils v0.1.14
Downloaded tree-sitter-python v0.23.4
Downloaded syn v1.0.109
Downloaded tree-sitter-ruby v0.23.1
Downloaded hashbrown v0.14.3
Downloaded libm v0.2.8
Downloaded gimli v0.31.1
Downloaded mio v1.0.4
Downloaded tracing v0.1.41
Downloaded tree-sitter-md v0.3.2
Downloaded tree-sitter-typescript v0.23.2
Downloaded icu_properties_data v1.5.1
Downloaded gix-negotiate v0.17.0
Downloaded gix-validate v0.9.4
Downloaded gix-revwalk v0.17.0
Downloaded tree-sitter-language v0.1.2
Downloaded subtle v2.5.0
Downloaded lexopt v0.3.0
Downloaded keccak v0.1.5
Downloaded icu_provider v1.5.0
Downloaded hmac v0.12.1
Downloaded gix-features v0.39.1
Downloaded gix-diff v0.49.0
Downloaded gix-date v0.9.4
Downloaded gix-credentials v0.26.0
Downloaded gix-config-value v0.14.12
Downloaded gix-commitgraph v0.25.1
Downloaded zerovec-derive v0.10.3
Downloaded walkdir v2.5.0
Downloaded lazy_static v1.5.0
Downloaded zeroize v1.7.0
Downloaded jiff v0.2.1
Downloaded litemap v0.7.5
Downloaded jsonschema v0.30.0
Downloaded nonempty v0.5.0
Downloaded noise-framework v0.4.0
Downloaded litrs v0.4.1
Downloaded linux-raw-sys v0.4.13
Downloaded uuid v1.16.0
Downloaded systemd-journal-logger v2.2.2
Downloaded libc v0.2.174
Downloaded icu_locid_transform_data v1.5.1
Downloaded gix-trace v0.1.12
Downloaded zerofrom v0.1.6
Downloaded unicode-width v0.1.11
Downloaded synstructure v0.13.1
Downloaded home v0.5.9
Downloaded utf8parse v0.2.1
Downloaded gix-actor v0.33.2
Downloaded gix-command v0.4.1
Downloaded generic-array v0.14.7
Downloaded tinyvec_macros v0.1.1
Downloaded getrandom v0.3.3
Downloaded getrandom v0.2.15
Downloaded tree-sitter-json v0.24.8
Downloaded tree-sitter-html v0.23.2
Downloaded tracing-log v0.2.0
Downloaded sqlite3-sys v0.15.2
Downloaded icu_normalizer_data v1.5.1
Downloaded icu_normalizer v1.5.0
Downloaded typeid v1.0.3
Downloaded tree-sitter-highlight v0.24.4
Downloaded test-log v0.2.18
Downloaded tempfile v3.10.1
Downloaded netservices v0.8.0
Downloaded vsimd v0.8.0
Downloaded version_check v0.9.4
Downloaded utf8_iter v1.0.4
Downloaded icu_provider_macros v1.5.0
Downloaded gix-tempfile v15.0.0
Downloaded gix-shallow v0.1.0
Downloaded xattr v1.3.1
Downloaded winnow v0.6.26
Downloaded yoke-derive v0.7.5
Downloaded yoke v0.7.5
Downloaded write16 v1.0.0
Downloaded icu_locid v1.5.0
Downloaded uuid-simd v0.8.0
Downloaded typenum v1.17.0
Downloaded tree-sitter-bash v0.23.3
Downloaded tree-sitter-c v0.23.2
Downloaded linux-raw-sys v0.9.4
Downloaded tree-sitter v0.24.4
Downloaded thread_local v1.1.9
Downloaded memchr v2.7.2
Downloaded idna v1.0.3
Downloaded thiserror-impl v2.0.12
Downloaded thiserror v1.0.69
Downloaded icu_properties v1.5.1
Downloaded iana-time-zone v0.1.60
Downloaded stable_deref_trait v1.2.0
Downloaded io-reactor v0.5.2
Downloaded indexmap v2.2.6
Downloaded gix-transport v0.44.0
Downloaded gix-pack v0.56.0
Downloaded gix-odb v0.66.0
Downloaded mio v0.8.11
Downloaded maybe-async v0.2.10
Downloaded inquire v0.7.5
Downloaded idna_adapter v1.2.0
Downloaded gix-traverse v0.43.1
Downloaded gix-packetline v0.18.4
Downloaded libgit2-sys v0.17.0+1.8.1
Downloaded der v0.7.9
Downloaded crossterm v0.25.0
Downloaded gix-object v0.46.1
Downloaded pem-rfc7468 v0.7.0
Downloaded derive_more-impl v2.0.1
Downloaded derive_more v2.0.1
Downloaded arc-swap v1.7.1
Downloaded sqlite3-src v0.5.1
Downloaded memmap2 v0.9.4
Downloaded matchers v0.1.0
Downloaded itoa v1.0.11
Downloaded gix-path v0.10.15
Downloaded serde v1.0.219
Downloaded diff v0.1.13
Downloaded crossbeam-utils v0.8.19
Downloaded anstyle-parse v0.2.3
Downloaded cyphernet v0.5.2
Downloaded crc32fast v1.4.0
Downloaded ct-codecs v1.1.1
Downloaded anyhow v1.0.82
Downloaded aho-corasick v1.1.3
Downloaded chacha20poly1305 v0.10.1
Downloaded erased-serde v0.4.6
Downloaded env_filter v0.1.3
Downloaded email_address v0.2.9
Downloaded ed25519 v1.5.3
Downloaded ec25519 v0.1.0
Downloaded document-features v0.2.11
Downloaded data-encoding-macro v0.1.14
Downloaded bit-set v0.8.0
Downloaded signature v1.6.4
Downloaded sha1_smol v1.0.0
Downloaded serde_derive_internals v0.29.1
Downloaded escargot v0.5.10
Downloaded elliptic-curve v0.13.8
Downloaded sha2 v0.10.8
Downloaded regex-syntax v0.8.5
Downloaded regex-syntax v0.6.29
Downloaded fluent-uri v0.3.2
Downloaded fastrand v2.1.0
Downloaded const-oid v0.9.6
Downloaded base64 v0.13.1
Downloaded anstyle-query v1.0.2
Downloaded similar v2.5.0
Downloaded rustix v0.38.34
Downloaded form_urlencoded v1.2.1
Downloaded emojis v0.6.4
Downloaded dunce v1.0.5
Downloaded displaydoc v0.2.5
Downloaded data-encoding-macro-internal v0.1.12
Downloaded bcrypt-pbkdf v0.10.0
Downloaded ahash v0.8.11
Downloaded rand v0.8.5
Downloaded fast-glob v0.3.3
Downloaded crossbeam-channel v0.5.15
Downloaded amplify_num v0.5.2
Downloaded aes-gcm v0.10.3
Downloaded signal-hook-mio v0.2.4
Downloaded ecdsa v0.16.9
Downloaded sharded-slab v0.1.7
Downloaded cypheraddr v0.4.0
Downloaded serde_spanned v1.0.0
Downloaded referencing v0.30.0
Downloaded errno v0.3.13
Downloaded crypto-bigint v0.5.5
Downloaded chrono v0.4.38
Downloaded shlex v1.3.0
Downloaded signature v2.2.0
Downloaded serde-untagged v0.1.7
Downloaded same-file v1.0.6
Downloaded ryu v1.0.17
Downloaded rsa v0.9.6
Downloaded chacha20 v0.9.1
Downloaded either v1.11.0
Downloaded crypto-common v0.1.6
Downloaded convert_case v0.7.1
Downloaded pkg-config v0.3.30
Downloaded phf v0.11.3
Downloaded equivalent v1.0.1
Downloaded cc v1.2.2
Downloaded borrow-or-share v0.2.2
Downloaded sec1 v0.7.3
Downloaded pretty_assertions v1.4.0
Downloaded digest v0.10.7
Downloaded aes v0.8.4
Downloaded salsa20 v0.10.2
Downloaded radicle-std-ext v0.1.0
Downloaded radicle-git-ext v0.8.1
Downloaded qcheck v1.0.0
Downloaded data-encoding v2.5.0
Downloaded base16ct v0.2.0
Downloaded rustc-demangle v0.1.26
Downloaded ref-cast-impl v1.0.24
Downloaded ref-cast v1.0.24
Downloaded ppv-lite86 v0.2.17
Downloaded phf_shared v0.11.3
Downloaded shell-words v1.1.0
Downloaded regex-automata v0.4.9
Downloaded rand_core v0.6.4
Downloaded blowfish v0.9.1
Downloaded bitflags v1.3.2
Downloaded cyphergraphy v0.3.0
Downloaded bit-vec v0.8.0
Downloaded rfc6979 v0.4.0
Downloaded faster-hex v0.9.0
Downloaded aead v0.5.2
Downloaded rustix v1.0.7
Downloaded primeorder v0.13.6
Downloaded bstr v1.9.1
Downloaded pin-project-lite v0.2.16
Downloaded schemars_derive v1.0.4
Downloaded pkcs1 v0.7.5
Downloaded base32 v0.4.0
Downloaded base64 v0.22.1
Downloaded block-padding v0.3.3
Downloaded libz-sys v1.1.16
Downloaded autocfg v1.2.0
Downloaded quote v1.0.36
Downloaded prodash v29.0.2
Downloaded proc-macro-error v1.0.4
Downloaded cpufeatures v0.2.12
Downloaded colored v2.1.0
Downloaded colorchoice v1.0.0
Downloaded cfg-if v1.0.0
Downloaded block-buffer v0.10.4
Downloaded bitflags v2.9.1
Downloaded base-x v0.2.11
Downloaded anstyle v1.0.6
Downloaded cipher v0.4.4
Downloaded base64 v0.21.7
Downloaded backtrace v0.3.75
Downloaded regex v1.11.1
Downloaded p521 v0.13.3
Downloaded num-bigint-dig v0.8.4
Downloaded num-bigint v0.4.6
Downloaded p256 v0.13.2
Downloaded num-traits v0.2.19
Downloaded fraction v0.15.3
Downloaded parking_lot v0.12.3
Downloaded overload v0.1.1
Downloaded os_info v3.12.0
Downloaded num-complex v0.4.6
Downloaded num-cmp v0.1.0
Downloaded percent-encoding v2.3.1
Downloaded paste v1.0.15
Downloaded outref v0.5.2
Downloaded once_cell v1.21.3
Downloaded num-rational v0.4.2
Downloaded num-iter v0.1.45
Downloaded num-integer v0.1.46
Downloaded adler2 v2.0.0
Downloaded amplify_derive v4.0.0
Downloaded amplify v4.6.0
Downloaded cbc v0.1.2
Downloaded anstream v0.6.13
Downloaded amplify_syn v2.0.1
Compiling libc v0.2.174
Compiling proc-macro2 v1.0.92
Compiling unicode-ident v1.0.12
Checking cfg-if v1.0.0
Compiling shlex v1.3.0
Compiling version_check v0.9.4
Compiling serde v1.0.219
Checking memchr v2.7.2
Compiling autocfg v1.2.0
Checking log v0.4.27
Compiling quote v1.0.36
Compiling jobserver v0.1.31
Checking getrandom v0.2.15
Checking smallvec v1.13.2
Checking aho-corasick v1.1.3
Compiling cc v1.2.2
Compiling syn v2.0.89
Checking regex-syntax v0.8.5
Compiling typenum v1.17.0
Compiling generic-array v0.14.7
Checking regex-automata v0.4.9
Checking rand_core v0.6.4
Checking fastrand v2.1.0
Checking bitflags v2.9.1
Compiling lock_api v0.4.11
Checking crypto-common v0.1.6
Compiling parking_lot_core v0.9.9
Checking scopeguard v1.2.0
Compiling synstructure v0.13.1
Checking subtle v2.5.0
Checking stable_deref_trait v1.2.0
Checking parking_lot v0.12.3
Checking tinyvec_macros v0.1.1
Checking once_cell v1.21.3
Checking bstr v1.9.1
Compiling syn v1.0.109
Checking tinyvec v1.6.0
Checking zeroize v1.7.0
Checking cpufeatures v0.2.12
Compiling thiserror v2.0.12
Checking unicode-normalization v0.1.23
Checking litemap v0.7.5
Compiling icu_locid_transform_data v1.5.1
Compiling serde_derive v1.0.219
Compiling zerofrom-derive v0.1.6
Compiling yoke-derive v0.7.5
Compiling zerovec-derive v0.10.3
Checking zerofrom v0.1.6
Checking yoke v0.7.5
Compiling displaydoc v0.2.5
Checking zerovec v0.10.4
Compiling crc32fast v1.4.0
Checking writeable v0.5.5
Compiling thiserror-impl v2.0.12
Compiling icu_provider_macros v1.5.0
Checking tinystr v0.7.6
Checking icu_locid v1.5.0
Checking block-padding v0.3.3
Compiling icu_properties_data v1.5.1
Checking icu_provider v1.5.0
Checking inout v0.1.3
Checking block-buffer v0.10.4
Checking hashbrown v0.14.3
Compiling pkg-config v0.3.30
Checking itoa v1.0.11
Compiling icu_normalizer_data v1.5.1
Checking digest v0.10.7
Checking icu_locid_transform v1.5.0
Checking cipher v0.4.4
Checking icu_collections v1.5.0
Checking write16 v1.0.0
Checking utf16_iter v1.0.5
Checking utf8_iter v1.0.4
Checking adler2 v2.0.0
Checking icu_properties v1.5.1
Compiling thiserror v1.0.69
Checking miniz_oxide v0.8.8
Compiling thiserror-impl v1.0.69
Checking percent-encoding v2.3.1
Compiling rustix v0.38.34
Checking linux-raw-sys v0.4.13
Checking sha2 v0.10.8
Checking form_urlencoded v1.2.1
Checking universal-hash v0.5.1
Compiling vcpkg v0.2.15
Checking icu_normalizer v1.5.0
Checking idna_adapter v1.2.0
Checking opaque-debug v0.3.1
Checking idna v1.0.3
Compiling amplify_syn v2.0.1
Compiling libz-sys v1.1.16
Checking url v2.5.4
Checking gix-trace v0.1.12
Compiling data-encoding v2.5.0
Checking tempfile v3.10.1
Compiling amplify_derive v4.0.0
Checking signature v1.6.4
Checking ascii v1.1.0
Compiling data-encoding-macro-internal v0.1.12
Checking amplify_num v0.5.2
Checking ed25519 v1.5.3
Checking faster-hex v0.9.0
Checking data-encoding-macro v0.1.14
Compiling libgit2-sys v0.17.0+1.8.1
Checking aead v0.5.2
Compiling num-traits v0.2.19
Compiling proc-macro-error-attr v1.0.4
Checking base-x v0.2.11
Checking ct-codecs v1.1.1
Checking byteorder v1.5.0
Checking ec25519 v0.1.0
Checking multibase v0.9.1
Checking amplify v4.6.0
Checking poly1305 v0.8.0
Checking chacha20 v0.9.1
Checking gix-utils v0.1.14
Compiling proc-macro-error v1.0.4
Checking cyphergraphy v0.3.0
Checking gix-hash v0.15.1
Checking keccak v0.1.5
Checking same-file v1.0.6
Compiling crossbeam-utils v0.8.19
Checking sha3 v0.10.8
Checking walkdir v2.5.0
Checking flate2 v1.1.1
Compiling git-ref-format-core v0.3.1
Checking polyval v0.6.2
Checking hmac v0.12.1
Compiling sqlite3-src v0.5.1
Checking prodash v29.0.2
Compiling serde_json v1.0.140
Checking base64ct v1.6.0
Checking sha1_smol v1.0.0
Checking ppv-lite86 v0.2.17
Checking base32 v0.4.0
Checking equivalent v1.0.1
Checking cypheraddr v0.4.0
Checking indexmap v2.2.6
Checking rand_chacha v0.3.1
Checking pem-rfc7468 v0.7.0
Checking gix-features v0.39.1
Compiling git-ref-format-macro v0.3.1
Checking pbkdf2 v0.12.2
Checking ghash v0.5.1
Checking chacha20poly1305 v0.10.1
Checking aes v0.8.4
Checking ctr v0.9.2
Checking ryu v1.0.17
Checking aes-gcm v0.10.3
Checking git-ref-format v0.3.1
Checking noise-framework v0.4.0
Checking crossbeam-channel v0.5.15
Checking ssh-encoding v0.2.0
Checking rand v0.8.5
Checking socks5-client v0.4.1
Checking blowfish v0.9.1
Checking cbc v0.1.2
Compiling ref-cast v1.0.24
Checking radicle-std-ext v0.1.0
Checking home v0.5.9
Checking gix-path v0.10.15
Checking ssh-cipher v0.2.0
Checking bcrypt-pbkdf v0.10.0
Checking cyphernet v0.5.2
Compiling ref-cast-impl v1.0.24
Checking signature v2.2.0
Checking ssh-key v0.6.6
Checking qcheck v1.0.0
Checking radicle-ssh v0.10.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-ssh)
Checking lazy_static v1.5.0
Checking dyn-clone v1.0.17
Compiling typeid v1.0.3
Checking siphasher v1.0.1
Checking nonempty v0.9.0
Compiling serde_derive_internals v0.29.1
Checking radicle-dag v0.10.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-dag)
Checking erased-serde v0.4.6
Checking iana-time-zone v0.1.60
Checking jiff v0.2.1
Compiling schemars_derive v1.0.4
Checking schemars v1.0.4
Checking gix-date v0.9.4
Checking chrono v0.4.38
Checking serde-untagged v0.1.7
Checking colored v2.1.0
Checking localtime v1.3.1
Checking bytesize v2.0.1
Checking winnow v0.6.26
Checking anstyle-query v1.0.2
Checking fast-glob v0.3.3
Checking base64 v0.21.7
Checking tree-sitter-language v0.1.2
Checking dunce v1.0.5
Checking gix-hashtable v0.6.0
Checking gix-validate v0.9.4
Checking utf8parse v0.2.1
Checking anstyle-parse v0.2.3
Checking memmap2 v0.9.4
Compiling rustix v1.0.7
Checking gix-actor v0.33.2
Checking gix-object v0.46.1
Checking colorchoice v1.0.0
Checking anstyle v1.0.6
Checking anstream v0.6.13
Checking gix-chunk v0.4.11
Checking linux-raw-sys v0.9.4
Checking gix-commitgraph v0.25.1
Checking gix-revwalk v0.17.0
Checking gix-fs v0.12.1
Checking errno v0.3.13
Checking sem_safe v0.2.0
Checking either v1.11.0
Checking signals_receipts v0.2.0
Checking gix-tempfile v15.0.0
Compiling signal-hook v0.3.18
Checking signal-hook-registry v1.4.5
Compiling getrandom v0.3.3
Checking shell-words v1.1.0
Checking gix-command v0.4.1
Checking radicle-signals v0.11.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-signals)
Compiling tree-sitter v0.24.4
Checking mio v0.8.11
Checking mio v1.0.4
Compiling unicode-segmentation v1.11.0
Compiling anyhow v1.0.82
Compiling convert_case v0.7.1
Checking signal-hook-mio v0.2.4
Checking gix-lock v15.0.1
Checking gix-config-value v0.14.12
Checking gix-url v0.28.2
Checking sqlite3-sys v0.15.2
Checking sqlite v0.32.0
Checking gix-quote v0.4.15
Checking regex v1.11.1
Checking gix-sec v0.10.12
Checking gix-prompt v0.9.1
Checking uuid v1.16.0
Compiling xattr v1.3.1
Compiling derive_more-impl v2.0.1
Compiling filetime v0.2.23
Checking gix-traverse v0.43.1
Checking gix-revision v0.31.1
Checking gix-diff v0.49.0
Checking gix-packetline v0.18.4
Checking bitflags v1.3.2
Checking lexopt v0.3.0
Compiling object v0.36.7
Compiling litrs v0.4.1
Checking derive_more v2.0.1
Checking gix-transport v0.44.0
Checking crossterm v0.25.0
Compiling document-features v0.2.11
Checking gix-pack v0.56.0
Checking gix-refspec v0.27.0
Compiling tar v0.4.40
Checking newline-converter v0.3.0
Checking gix-credentials v0.26.0
Checking gix-shallow v0.1.0
Checking gix-ref v0.49.1
Checking gix-negotiate v0.17.0
Checking fxhash v0.2.1
Compiling maybe-async v0.2.10
Checking gimli v0.31.1
Checking unicode-width v0.1.11
Checking streaming-iterator v0.1.9
Checking arc-swap v1.7.1
Checking gix-odb v0.66.0
Checking gix-protocol v0.47.0
Checking inquire v0.7.5
Compiling radicle-surf v0.22.0
Checking addr2line v0.24.2
Checking crossterm v0.29.0
Checking unicode-display-width v0.3.0
Checking toml_datetime v0.7.0
Checking serde_spanned v1.0.0
Compiling tree-sitter-css v0.23.1
Compiling tree-sitter-rust v0.23.2
Compiling tree-sitter-md v0.3.2
Compiling tree-sitter-typescript v0.23.2
Compiling tree-sitter-python v0.23.4
Compiling tree-sitter-go v0.23.4
Compiling tree-sitter-ruby v0.23.1
Compiling tree-sitter-c v0.23.2
Compiling tree-sitter-toml-ng v0.6.0
Compiling tree-sitter-html v0.23.2
Compiling tree-sitter-bash v0.23.3
Compiling tree-sitter-json v0.24.8
Checking toml_writer v1.0.2
Checking rustc-demangle v0.1.26
Checking toml v0.9.5
Checking backtrace v0.3.75
Checking snapbox-macros v0.3.8
Checking os_info v3.12.0
Checking salsa20 v0.10.2
Compiling radicle-cli v0.16.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-cli)
Checking base64 v0.13.1
Checking nonempty v0.5.0
Checking siphasher v0.3.11
Checking normalize-line-endings v0.3.0
Checking similar v2.5.0
Checking bloomy v1.2.0
Checking human-panic v2.0.3
Checking scrypt v0.11.0
Checking snapbox v0.4.17
Checking tree-sitter-highlight v0.24.4
Checking systemd-journal-logger v2.2.2
Checking itertools v0.14.0
Checking popol v3.0.0
Checking timeago v0.4.2
Checking bytes v1.10.1
Checking io-reactor v0.5.2
Checking socket2 v0.5.7
Compiling radicle-node v0.15.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-node)
Checking yansi v0.5.1
Checking diff v0.1.13
Checking pretty_assertions v1.4.0
Checking netservices v0.8.0
Checking radicle-systemd v0.10.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-systemd)
Checking num-integer v0.1.46
Compiling escargot v0.5.10
Compiling qcheck-macros v1.0.0
Checking num-bigint v0.4.6
Compiling ahash v0.8.11
Compiling radicle-remote-helper v0.13.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-remote-helper)
Checking num-iter v0.1.45
Checking num-complex v0.4.6
Checking num-rational v0.4.2
Checking env_filter v0.1.3
Checking borrow-or-share v0.2.2
Checking bit-vec v0.8.0
Checking zerocopy v0.7.35
Checking env_logger v0.11.8
Checking bit-set v0.8.0
Checking num v0.4.3
Checking fluent-uri v0.3.2
Checking phf_shared v0.11.3
Compiling test-log-macros v0.2.18
Checking outref v0.5.2
Checking vsimd v0.8.0
Compiling paste v1.0.15
Checking uuid-simd v0.8.0
Checking referencing v0.30.0
Checking test-log v0.2.18
Checking phf v0.11.3
Checking fraction v0.15.3
Checking fancy-regex v0.14.0
Checking email_address v0.2.9
Checking bytecount v0.6.8
Checking base64 v0.22.1
Checking num-cmp v0.1.0
Checking emojis v0.6.4
Checking jsonschema v0.30.0
Checking git2 v0.19.0
Checking radicle-git-ext v0.8.1
Checking radicle-term v0.15.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-term)
Checking radicle-crypto v0.13.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-crypto)
Checking radicle-cob v0.16.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle-cob)
Checking radicle v0.19.0 (/c4afb757-b434-4e33-b0ae-82157ec8595e/w/crates/radicle)
error[E0061]: this method takes 2 arguments but 1 argument was supplied
--> crates/radicle/src/node/notifications/store.rs:510:12
|
510 | db.clear_by_repo(&repo).unwrap();
| ^^^^^^^^^^^^^ ----- argument #1 of type `std::option::Option<node::notifications::store::FilterBy>` is missing
|
note: method defined here
--> crates/radicle/src/node/notifications/store.rs:236:12
|
236 | pub fn clear_by_repo(
| ^^^^^^^^^^^^^
237 | &mut self,
238 | filter_by: Option<FilterBy>,
| ---------------------------
help: provide the argument
|
510 | db.clear_by_repo(/* std::option::Option<node::notifications::store::FilterBy> */, &repo).unwrap();
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
For more information about this error, try `rustc --explain E0061`.
error: could not compile `radicle` (lib test) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
Exit code: 101
{
"response": "finished",
"result": "failure"
}