From: Felix Ableitner Date: Wed, 5 Aug 2020 15:41:35 +0000 (+0200) Subject: Instance shouldnt send Announce activities to itself X-Git-Url: http://these/git/%7B%60%24%7BwebArchiveUrl%7D/%22%7B%7D/%22https:/nerdica.net/%7Biframely.thumbnail_url%7D?a=commitdiff_plain;h=81d4922740d390e0e92bc6f8ce6668d8d6735363;p=lemmy.git Instance shouldnt send Announce activities to itself --- diff --git a/server/src/apub/community.rs b/server/src/apub/community.rs index b35c47bb..44e3ad4e 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?;