Ignore errors when fetching community mods (fixes #3460) (#3674)

This commit is contained in:
Nutomic 2023-07-20 17:34:07 +02:00 committed by GitHub
parent 3753a3bf54
commit 1a164a649e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -78,8 +78,9 @@ impl Collection for ApubCommunityModerators {
// Add new mods to database which have been added to moderators collection // Add new mods to database which have been added to moderators collection
for mod_id in apub.ordered_items { for mod_id in apub.ordered_items {
let mod_user: ApubPerson = mod_id.dereference(data).await?; // Ignore errors as mod accounts might be deleted or instances unavailable.
let mod_user: Option<ApubPerson> = mod_id.dereference(data).await.ok();
if let Some(mod_user) = mod_user {
if !current_moderators if !current_moderators
.iter() .iter()
.map(|c| c.moderator.actor_id.clone()) .map(|c| c.moderator.actor_id.clone())
@ -92,6 +93,7 @@ impl Collection for ApubCommunityModerators {
CommunityModerator::join(&mut data.pool(), &community_moderator_form).await?; CommunityModerator::join(&mut data.pool(), &community_moderator_form).await?;
} }
} }
}
// This return value is unused, so just set an empty vec // This return value is unused, so just set an empty vec
Ok(ApubCommunityModerators(Vec::new())) Ok(ApubCommunityModerators(Vec::new()))