From 81d4922740d390e0e92bc6f8ce6668d8d6735363 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Wed, 5 Aug 2020 17:41:35 +0200 Subject: [PATCH] Instance shouldnt send Announce activities to itself --- server/src/apub/community.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/src/apub/community.rs b/server/src/apub/community.rs index b35c47bbc..44e3ad4e6 100644 --- a/server/src/apub/community.rs +++ b/server/src/apub/community.rs @@ -461,12 +461,13 @@ pub async fn do_announce( insert_activity(community.creator_id, announce.clone(), true, pool).await?; - // dont send to the instance where the activity originally came from, because that would result - // in a database error (same data inserted twice) let mut to = community.get_follower_inboxes(pool).await?; + // dont send to the local instance, nor to the instance where the activity originally came from, + // because that would result in a database error (same data inserted twice) // this seems to be the "easiest" stable alternative for remove_item() to.retain(|x| *x != sender.get_shared_inbox_url()); + to.retain(|x| *x != community.get_shared_inbox_url()); send_activity(client, &announce.into_any_base()?, community, to).await?;