diff options
author | feld <feld@feld.me> | 2019-05-16 18:57:14 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2019-05-16 18:57:14 +0000 |
commit | e190b3022b29753fd7682947a293775c8801d4b7 (patch) | |
tree | 48fc593261399e2cfb2050c6eccd6f1df8e3cb77 /lib/pleroma/web | |
parent | ad76307a825689017f42a11849ad235d3c3b7cc8 (diff) | |
parent | 793f1834d2bc37ba3d4ba11fb669078950994adb (diff) | |
download | pleroma-e190b3022b29753fd7682947a293775c8801d4b7.tar.gz |
Merge branch 'fix/domain-unblocked-reblogs' into 'develop'
Fix domain-unblocked reblogs
Closes #892
See merge request pleroma/pleroma!1157
Diffstat (limited to 'lib/pleroma/web')
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 92d1fab6e..6a186efbf 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -758,8 +758,11 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do blocks = info.blocks || [] domain_blocks = info.domain_blocks || [] + query = + if has_named_binding?(query, :object), do: query, else: Activity.with_joined_object(query) + from( - activity in query, + [activity, object: o] in query, where: fragment("not (? = ANY(?))", activity.actor, ^blocks), where: fragment("not (? && ?)", activity.recipients, ^blocks), where: @@ -769,7 +772,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do activity.data, ^blocks ), - where: fragment("not (split_part(?, '/', 3) = ANY(?))", activity.actor, ^domain_blocks) + where: fragment("not (split_part(?, '/', 3) = ANY(?))", activity.actor, ^domain_blocks), + where: fragment("not (split_part(?->>'actor', '/', 3) = ANY(?))", o.data, ^domain_blocks) ) end |