Detect and try to stream incoming "direct" messages

This commit is contained in:
csaurus 2018-05-10 22:17:59 -04:00
commit c60a5405db
2 changed files with 11 additions and 6 deletions

View file

@ -42,13 +42,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
def stream_out(activity) do
if activity.data["type"] in ["Create", "Announce"] do
Pleroma.Web.Streamer.stream("user", activity)
direct? = activity.data["object"]["visibility"] == "direct"
if Enum.member?(activity.data["to"], "https://www.w3.org/ns/activitystreams#Public") do
Pleroma.Web.Streamer.stream("public", activity)
cond do
direct? ->
Pleroma.Web.Streamer.stream("direct", activity)
if activity.local do
Pleroma.Web.Streamer.stream("public:local", activity)
end
Enum.member?(activity.data["to"], "https://www.w3.org/ns/activitystreams#Public") ->
Pleroma.Web.Streamer.stream("public", activity)
if activity.local do
Pleroma.Web.Streamer.stream("public:local", activity)
end
end
end
end