tests WebFinger
[akkoma] / lib / pleroma / web / streamer.ex
index d233d2a417e8c6ab2ba4781c7e1aecabfe9316fa..9ee33103043415e7c67dfd494b914cf842139240 100644 (file)
@@ -235,12 +235,14 @@ defmodule Pleroma.Web.Streamer do
     mutes = user.info.mutes || []
     reblog_mutes = user.info.muted_reblogs || []
     domain_blocks = Pleroma.Web.ActivityPub.MRF.subdomains_regex(user.info.domain_blocks)
-    %{host: host} = URI.parse(parent.data["actor"])
 
     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)),
-         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