From 2d1044e5c36c77bd53b2e16dd526ddd6fa67ebea Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Sun, 17 May 2026 12:09:24 +0200 Subject: [PATCH] chore: add pre-commit fmt+clippy hooks, fix clippy warnings --- .claude/settings.json | 18 ++++++++++++++++++ .../activitypub-base/src/activities.rs | 12 ++++++------ .../application/src/use_cases/thoughts/mod.rs | 4 +++- 3 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 .claude/settings.json diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..a3b28fd --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,18 @@ +{ + "hooks": { + "PreToolUse": [ + { + "matcher": "Bash", + "hooks": [ + { + "type": "command", + "if": "Bash(git commit*)", + "command": "cargo fmt --all 2>&1 && cargo clippy --workspace 2>&1 || echo '{\"continue\": false, \"stopReason\": \"cargo fmt or clippy failed — fix before committing\"}'", + "timeout": 120, + "statusMessage": "Running cargo fmt + clippy..." + } + ] + } + ] + } +} diff --git a/crates/adapters/activitypub-base/src/activities.rs b/crates/adapters/activitypub-base/src/activities.rs index 3ea058d..88e2e2f 100644 --- a/crates/adapters/activitypub-base/src/activities.rs +++ b/crates/adapters/activitypub-base/src/activities.rs @@ -241,12 +241,12 @@ impl Activity for UndoActivity { async fn verify(&self, _data: &Data) -> Result<(), Self::Error> { // The actor undoing must be the same as the actor in the wrapped activity. - if let Some(inner_actor) = self.object.get("actor").and_then(|v| v.as_str()) { - if inner_actor != self.actor.inner().as_str() { - return Err(Error::bad_request(anyhow::anyhow!( - "Undo actor does not match inner activity actor" - ))); - } + if let Some(inner_actor) = self.object.get("actor").and_then(|v| v.as_str()) + && inner_actor != self.actor.inner().as_str() + { + return Err(Error::bad_request(anyhow::anyhow!( + "Undo actor does not match inner activity actor" + ))); } Ok(()) } diff --git a/crates/application/src/use_cases/thoughts/mod.rs b/crates/application/src/use_cases/thoughts/mod.rs index f9627bd..4b79989 100644 --- a/crates/application/src/use_cases/thoughts/mod.rs +++ b/crates/application/src/use_cases/thoughts/mod.rs @@ -135,7 +135,9 @@ pub async fn get_thought_view( .find_by_id(&thought.user_id) .await? .ok_or(DomainError::NotFound)?; - let mut map = engagement.get_for_thoughts(&[id.clone()], viewer).await?; + let mut map = engagement + .get_for_thoughts(std::slice::from_ref(id), viewer) + .await?; let (stats, viewer_ctx) = map.remove(id).unwrap_or(( EngagementStats { like_count: 0,