diff options
| -rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 15 | ||||
| -rw-r--r-- | lib/pleroma/web/mastodon_api/mastodon_socket.ex | 2 | 
2 files changed, 11 insertions, 6 deletions
| diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index fde6e12d7..38e3a84fb 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -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 diff --git a/lib/pleroma/web/mastodon_api/mastodon_socket.ex b/lib/pleroma/web/mastodon_api/mastodon_socket.ex index f3e062941..080f62b31 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_socket.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_socket.ex @@ -15,7 +15,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonSocket do      with token when not is_nil(token) <- params["access_token"],           %Token{user_id: user_id} <- Repo.get_by(Token, token: token),           %User{} = user <- Repo.get(User, user_id), -         stream when stream in ["public", "public:local", "user"] <- params["stream"] do +         stream when stream in ["public", "public:local", "user", "direct"] <- params["stream"] do        socket =          socket          |> assign(:topic, params["stream"]) | 
