Merge branch '2161-block-changes' into 'develop'
ActivityPub: Don't block-filter your own posts Closes #2161 See merge request pleroma/pleroma!3017
This commit is contained in:
commit
994ce250c2
@ -841,7 +841,14 @@ defp restrict_blocked(query, %{blocking_user: %User{} = user} = opts) do
|
|||||||
from(
|
from(
|
||||||
[activity, object: o] in query,
|
[activity, object: o] in query,
|
||||||
where: fragment("not (? = ANY(?))", activity.actor, ^blocked_ap_ids),
|
where: fragment("not (? = ANY(?))", activity.actor, ^blocked_ap_ids),
|
||||||
where: fragment("not (? && ?)", activity.recipients, ^blocked_ap_ids),
|
where:
|
||||||
|
fragment(
|
||||||
|
"((not (? && ?)) or ? = ?)",
|
||||||
|
activity.recipients,
|
||||||
|
^blocked_ap_ids,
|
||||||
|
activity.actor,
|
||||||
|
^user.ap_id
|
||||||
|
),
|
||||||
where:
|
where:
|
||||||
fragment(
|
fragment(
|
||||||
"recipients_contain_blocked_domains(?, ?) = false",
|
"recipients_contain_blocked_domains(?, ?) = false",
|
||||||
|
@ -114,8 +114,16 @@ test "doesn't return replies if follower is posting with blocked user" do
|
|||||||
{:ok, _reply_from_friend} =
|
{:ok, _reply_from_friend} =
|
||||||
CommonAPI.post(friend, %{status: "status", in_reply_to_status_id: reply_from_blockee})
|
CommonAPI.post(friend, %{status: "status", in_reply_to_status_id: reply_from_blockee})
|
||||||
|
|
||||||
res_conn = get(conn, "/api/v1/timelines/public")
|
# Still shows replies from yourself
|
||||||
[%{"id" => ^activity_id}] = json_response_and_validate_schema(res_conn, 200)
|
{:ok, %{id: reply_from_me}} =
|
||||||
|
CommonAPI.post(blocker, %{status: "status", in_reply_to_status_id: reply_from_blockee})
|
||||||
|
|
||||||
|
response =
|
||||||
|
get(conn, "/api/v1/timelines/public")
|
||||||
|
|> json_response_and_validate_schema(200)
|
||||||
|
|
||||||
|
assert length(response) == 2
|
||||||
|
[%{"id" => ^reply_from_me}, %{"id" => ^activity_id}] = response
|
||||||
end
|
end
|
||||||
|
|
||||||
test "doesn't return replies if follow is posting with users from blocked domain" do
|
test "doesn't return replies if follow is posting with users from blocked domain" do
|
||||||
|
Loading…
Reference in New Issue
Block a user