Merge branch 'features/column_media_streaming' into 'develop'
authorlambda <pleromagit@rogerbraun.net>
Tue, 19 Jun 2018 09:50:05 +0000 (09:50 +0000)
committerlambda <pleromagit@rogerbraun.net>
Tue, 19 Jun 2018 09:50:05 +0000 (09:50 +0000)
Add streaming to media tabs of federated and local TLs

See merge request pleroma/pleroma!225

lib/pleroma/web/activity_pub/activity_pub.ex
lib/pleroma/web/mastodon_api/mastodon_socket.ex

index 567ee31159572045d2868b69f3f8dd185b3456f9..dfcc5b9eda804ceb5e322a967de960758aa4e37d 100644 (file)
@@ -65,6 +65,14 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
         if activity.local do
           Pleroma.Web.Streamer.stream("public:local", activity)
         end
+
+        if activity.data["object"]["attachment"] != [] do
+          Pleroma.Web.Streamer.stream("public:media", activity)
+
+          if activity.local do
+            Pleroma.Web.Streamer.stream("public:local:media", activity)
+          end
+        end
       else
         if !Enum.member?(activity.data["cc"] || [], public) &&
              !Enum.member?(
index 46648c366ccf1d29400eba1d1708f853941fe558..17429390677b13328e74327622cb06210cbfd8f0 100644 (file)
@@ -15,8 +15,16 @@ 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", "direct", "list"] <-
-           params["stream"] do
+         stream
+         when stream in [
+                "public",
+                "public:local",
+                "public:media",
+                "public:local:media",
+                "user",
+                "direct",
+                "list"
+              ] <- params["stream"] do
       topic = if stream == "list", do: "list:#{params["list"]}", else: stream
 
       socket =