add: hide posts from users who have blocked you from timelines

This commit is contained in:
trisua 2025-05-29 18:59:53 -04:00
parent 22ae479bd7
commit 8de5c0ea76
10 changed files with 84 additions and 81 deletions

View file

@ -392,11 +392,7 @@ pub async fn feed_request(
let (can_read, _) = check_permissions!(community, jar, data, user);
// ...
let ignore_users = if let Some(ref ua) = user {
data.0.get_userblocks_receivers(ua.id).await
} else {
Vec::new()
};
let ignore_users = crate::ignore_users_gen!(user, data);
let feed = match data
.0
@ -494,11 +490,7 @@ pub async fn questions_request(
let (can_read, _) = check_permissions!(community, jar, data, user);
// ...
let ignore_users = if let Some(ref ua) = user {
data.0.get_userblocks_receivers(ua.id).await
} else {
Vec::new()
};
let ignore_users = crate::ignore_users_gen!(user, data);
let feed = match data
.0
@ -673,11 +665,7 @@ pub async fn post_request(
Err(e) => return Err(Html(render_error(e, &jar, &data, &user).await)),
};
let ignore_users = if let Some(ref ua) = user {
data.0.get_userblocks_receivers(ua.id).await
} else {
Vec::new()
};
let ignore_users = crate::ignore_users_gen!(user, data);
// ...
let owner = match data.0.get_user_by_id(post.owner).await {
@ -739,11 +727,7 @@ pub async fn post_request(
}
// ...
let ignore_users = if let Some(ref ua) = user {
data.0.get_userblocks_receivers(ua.id).await
} else {
Vec::new()
};
let ignore_users = crate::ignore_users_gen!(user, data);
let feed = match data.0.get_post_comments(post.id, 12, props.page).await {
Ok(p) => match data.0.fill_posts(p, &ignore_users, &user).await {
@ -827,11 +811,7 @@ pub async fn reposts_request(
Err(e) => return Err(Html(render_error(e, &jar, &data, &user).await)),
};
let ignore_users = if let Some(ref ua) = user {
data.0.get_userblocks_receivers(ua.id).await
} else {
Vec::new()
};
let ignore_users = crate::ignore_users_gen!(user, data);
// ...
let owner = match data.0.get_user_by_id(post.owner).await {
@ -860,11 +840,7 @@ pub async fn reposts_request(
}
// ...
let ignore_users = if let Some(ref ua) = user {
data.0.get_userblocks_receivers(ua.id).await
} else {
Vec::new()
};
let ignore_users = crate::ignore_users_gen!(user, data);
let list = if props.quotes {
match data
@ -973,7 +949,7 @@ pub async fn likes_request(
Err(e) => return Err(Html(render_error(e, &jar, &data, &Some(user)).await)),
};
let ignore_users = data.0.get_userblocks_receivers(user.id).await;
let ignore_users = crate::ignore_users_gen!(user!, data);
// ...
let ua = Some(user.clone());
@ -1015,7 +991,7 @@ pub async fn likes_request(
}
// ...
let ignore_users = data.0.get_userblocks_receivers(user.id).await;
let ignore_users = crate::ignore_users_gen!(user!, data);
let list = match if user.permissions.check(FinePermission::MANAGE_REACTIONS) {
// all reactions
@ -1213,11 +1189,7 @@ pub async fn question_request(
}
// ...
let ignore_users = if let Some(ref ua) = user {
data.0.get_userblocks_receivers(ua.id).await
} else {
Vec::new()
};
let ignore_users = crate::ignore_users_gen!(user, data);
let feed = match data
.0