aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsadposter <hannah+pleroma@coffee-and-dreams.uk>2019-07-24 11:35:16 +0100
committersadposter <hannah+pleroma@coffee-and-dreams.uk>2019-07-24 11:35:16 +0100
commitf5d574f4ed9aa997a47d03f02adeb701d96f6789 (patch)
tree9e8103753ae7e2278e57155119247a57ab44dd9c
parent48bd3be9cb9b378dfde78e769e2f00ed77129ab9 (diff)
downloadpleroma-f5d574f4ed9aa997a47d03f02adeb701d96f6789.tar.gz
check both item and parent domain blocks
-rw-r--r--lib/pleroma/web/streamer.ex6
-rw-r--r--test/web/streamer_test.exs3
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/pleroma/web/streamer.ex b/lib/pleroma/web/streamer.ex
index e4259e869..9ee331030 100644
--- a/lib/pleroma/web/streamer.ex
+++ b/lib/pleroma/web/streamer.ex
@@ -239,8 +239,10 @@ defmodule Pleroma.Web.Streamer do
with parent when not is_nil(parent) <- Object.normalize(item),
true <- Enum.all?([blocks, mutes, reblog_mutes], &(item.actor not in &1)),
true <- Enum.all?([blocks, mutes], &(parent.data["actor"] not in &1)),
- %{host: host} <- URI.parse(parent.data["actor"]),
- false <- Pleroma.Web.ActivityPub.MRF.subdomain_match?(domain_blocks, host),
+ %{host: item_host} <- URI.parse(item.actor),
+ %{host: parent_host} <- URI.parse(parent.data["actor"]),
+ false <- Pleroma.Web.ActivityPub.MRF.subdomain_match?(domain_blocks, item_host),
+ false <- Pleroma.Web.ActivityPub.MRF.subdomain_match?(domain_blocks, parent_host),
true <- thread_containment(item, user) do
true
else
diff --git a/test/web/streamer_test.exs b/test/web/streamer_test.exs
index 95d5e5d58..d47b37efb 100644
--- a/test/web/streamer_test.exs
+++ b/test/web/streamer_test.exs
@@ -115,9 +115,10 @@ defmodule Pleroma.Web.StreamerTest do
%{transport_pid: task.pid, assigns: %{user: user}}
)
- {:ok, activity} = CommonAPI.post(user, %{"status" => "super hot take"})
{:ok, user} = User.block_domain(user, "hecking-lewd-place.com")
+ {:ok, activity} = CommonAPI.post(user, %{"status" => "super hot take"})
{:ok, notif, _} = CommonAPI.favorite(activity.id, user2)
+
Streamer.stream("user:notification", notif)
Task.await(task)
end