]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/activities/community/announce.rs
Dont log error if duplicate activity is received (fixes #2146) (#2148)
[lemmy.git] / crates / apub / src / activities / community / announce.rs
index 0ece90b768dd14c212c8c63d55aaf00b0882fb6f..5bfcb93175599745f28043a3c076ccf48f56beb1 100644 (file)
@@ -14,6 +14,7 @@ use lemmy_apub_lib::{
 };
 use lemmy_utils::LemmyError;
 use lemmy_websocket::LemmyContext;
+use tracing::debug;
 
 #[async_trait::async_trait(?Send)]
 pub(crate) trait GetCommunity {
@@ -113,7 +114,15 @@ impl ActivityHandler for AnnounceActivity {
         let object_value = serde_json::to_value(&self.object)?;
         let object_data: ActivityCommonFields = serde_json::from_value(object_value.to_owned())?;
 
-        insert_activity(&object_data.id, object_value, false, true, context.pool()).await?;
+        let insert =
+          insert_activity(&object_data.id, object_value, false, true, context.pool()).await?;
+        if !insert {
+          debug!(
+            "Received duplicate activity in announce {}",
+            object_data.id.to_string()
+          );
+          return Ok(());
+        }
       }
     }
     self.object.receive(context, request_counter).await