Fix tests.

This commit is contained in:
csaurus 2018-05-13 15:33:59 -04:00
parent c8d418acdd
commit 9aabff4883
2 changed files with 14 additions and 8 deletions

View file

@ -40,18 +40,23 @@ def insert(map, local \\ true) when is_map(map) do
end end
def stream_out(activity) do def stream_out(activity) do
public = "https://www.w3.org/ns/activitystreams#Public"
if activity.data["type"] in ["Create", "Announce"] do if activity.data["type"] in ["Create", "Announce"] do
Pleroma.Web.Streamer.stream("user", activity) Pleroma.Web.Streamer.stream("user", activity)
visibility = Pleroma.Web.MastodonAPI.StatusView.get_visibility(activity.data["object"]) if Enum.member?(activity.data["to"], public) do
case visibility do
"public" ->
Pleroma.Web.Streamer.stream("public", activity) Pleroma.Web.Streamer.stream("public", activity)
if activity.local, do: Pleroma.Web.Streamer.stream("public:local", activity)
"direct" -> if activity.local do
Pleroma.Web.Streamer.stream("direct", activity) Pleroma.Web.Streamer.stream("public:local", activity)
end
else
if !Enum.member?(activity.data["cc"] || [], public) &&
!Enum.member?(
activity.data["to"],
User.get_by_ap_id(activity.data["actor"]).follower_address
), do: Pleroma.Web.Streamer.stream("direct", activity)
end end
end end
end end

View file

@ -195,6 +195,7 @@ def get_visibility(object) do
cond do cond do
public in to -> "public" public in to -> "public"
public in cc -> "unlisted" public in cc -> "unlisted"
# this should use the sql for the object's activity
Enum.any?(to, &String.contains?(&1, "/followers")) -> "private" Enum.any?(to, &String.contains?(&1, "/followers")) -> "private"
true -> "direct" true -> "direct"
end end