mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-29 15:51:20 +00:00
Fix longstanding bug that breaks initial community view (fixes #3529)
This commit is contained in:
parent
255e695633
commit
0f3b883829
3 changed files with 19 additions and 10 deletions
|
@ -27,8 +27,11 @@ pub async fn list_comments(
|
||||||
check_private_instance(&local_user_view, &local_site)?;
|
check_private_instance(&local_user_view, &local_site)?;
|
||||||
|
|
||||||
let community_id = if let Some(name) = &data.community_name {
|
let community_id = if let Some(name) = &data.community_name {
|
||||||
Some(resolve_actor_identifier::<ApubCommunity, Community>(name, &context, &None, true).await?)
|
Some(
|
||||||
.map(|c| c.id)
|
resolve_actor_identifier::<ApubCommunity, Community>(name, &context, &local_user_view, true)
|
||||||
|
.await?,
|
||||||
|
)
|
||||||
|
.map(|c| c.id)
|
||||||
} else {
|
} else {
|
||||||
data.community_id
|
data.community_id
|
||||||
};
|
};
|
||||||
|
|
|
@ -30,8 +30,11 @@ pub async fn list_posts(
|
||||||
let page = data.page;
|
let page = data.page;
|
||||||
let limit = data.limit;
|
let limit = data.limit;
|
||||||
let community_id = if let Some(name) = &data.community_name {
|
let community_id = if let Some(name) = &data.community_name {
|
||||||
Some(resolve_actor_identifier::<ApubCommunity, Community>(name, &context, &None, true).await?)
|
Some(
|
||||||
.map(|c| c.id)
|
resolve_actor_identifier::<ApubCommunity, Community>(name, &context, &local_user_view, true)
|
||||||
|
.await?,
|
||||||
|
)
|
||||||
|
.map(|c| c.id)
|
||||||
} else {
|
} else {
|
||||||
data.community_id
|
data.community_id
|
||||||
};
|
};
|
||||||
|
|
|
@ -177,18 +177,21 @@ impl Object for ApubCommunity {
|
||||||
|
|
||||||
let community: ApubCommunity = community.into();
|
let community: ApubCommunity = community.into();
|
||||||
|
|
||||||
// Fetching mods and outbox is not necessary for Lemmy to work, so ignore errors. Besides,
|
// These collections are not necessary for Lemmy to work, so ignore errors.
|
||||||
// we need to ignore these errors so that tests can work entirely offline.
|
|
||||||
let community_ = community.clone();
|
let community_ = community.clone();
|
||||||
let context_ = context.reset_request_count();
|
let context_ = context.reset_request_count();
|
||||||
spawn_try_task(async move {
|
spawn_try_task(async move {
|
||||||
group.outbox.dereference(&community_, &context_).await?;
|
group.outbox.dereference(&community_, &context_).await.ok();
|
||||||
group.followers.dereference(&community_, &context_).await?;
|
group
|
||||||
|
.followers
|
||||||
|
.dereference(&community_, &context_)
|
||||||
|
.await
|
||||||
|
.ok();
|
||||||
if let Some(featured) = group.featured {
|
if let Some(featured) = group.featured {
|
||||||
featured.dereference(&community_, &context_).await?;
|
featured.dereference(&community_, &context_).await.ok();
|
||||||
}
|
}
|
||||||
if let Some(moderators) = group.attributed_to {
|
if let Some(moderators) = group.attributed_to {
|
||||||
moderators.dereference(&community_, &context_).await?;
|
moderators.dereference(&community_, &context_).await.ok();
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue