summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-06-19 09:50:05 +0000
committerlambda <pleromagit@rogerbraun.net>2018-06-19 09:50:05 +0000
commit90cf75f4a781f2eb7016a4a165a8617d4352451b (patch)
tree768403d6eeace087bd8db328dbce613e9da7062f
parentbe800d793605db8dcb46cedd233b672b8e79e1a4 (diff)
parentb670d4d683b66bc41dc11e230e3070eb7171b144 (diff)
downloadpleroma-90cf75f4a781f2eb7016a4a165a8617d4352451b.tar.gz
pleroma-90cf75f4a781f2eb7016a4a165a8617d4352451b.zip
Merge branch 'features/column_media_streaming' into 'develop'
Add streaming to media tabs of federated and local TLs See merge request pleroma/pleroma!225
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex8
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_socket.ex12
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 567ee3115..dfcc5b9ed 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -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?(
diff --git a/lib/pleroma/web/mastodon_api/mastodon_socket.ex b/lib/pleroma/web/mastodon_api/mastodon_socket.ex
index 46648c366..174293906 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_socket.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_socket.ex
@@ -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 =