From cb4a3a03a27573bb960de1a093cbc3476bc51aab Mon Sep 17 00:00:00 2001 From: Dessalines Date: Fri, 9 Oct 2020 12:46:27 -0500 Subject: [PATCH] Fixed an issue with blocked post creators in outbox. - Fixes #1186 --- lemmy_apub/src/activity_queue.rs | 4 ---- lemmy_apub/src/fetcher.rs | 8 +++++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lemmy_apub/src/activity_queue.rs b/lemmy_apub/src/activity_queue.rs index 988f1a477..0e018c8d8 100644 --- a/lemmy_apub/src/activity_queue.rs +++ b/lemmy_apub/src/activity_queue.rs @@ -189,10 +189,6 @@ where return Ok(()); } - for to_url in &to { - check_is_apub_id_valid(&to_url)?; - } - let activity = activity.into_any_base()?; let serialised_activity = serde_json::to_string(&activity)?; diff --git a/lemmy_apub/src/fetcher.rs b/lemmy_apub/src/fetcher.rs index 226569f67..58b6a1bf5 100644 --- a/lemmy_apub/src/fetcher.rs +++ b/lemmy_apub/src/fetcher.rs @@ -338,7 +338,13 @@ async fn fetch_remote_community( } for o in outbox_items { let page = PageExt::from_any_base(o)?.context(location_info!())?; - let post = PostForm::from_apub(&page, context, None).await?; + + // The post creator may be from a blocked instance, + // if it errors, then continue + let post = match PostForm::from_apub(&page, context, None).await { + Ok(post) => post, + Err(_) => continue, + }; let post_ap_id = post.ap_id.as_ref().context(location_info!())?.clone(); // Check whether the post already exists in the local db let existing = blocking(context.pool(), move |conn| {