Don't stream muted accounts
authorWilliam Pearson <uiri00@gmail.com>
Sun, 20 Jan 2019 04:28:34 +0000 (04:28 +0000)
committerWilliam Pearson <uiri00@gmail.com>
Sun, 3 Mar 2019 20:54:53 +0000 (20:54 +0000)
lib/pleroma/web/streamer.ex

index 477481bb9cd55bd3643b6199df186d998ef940e9..27e8020f4ce198f005ada07b2cdeddae51452805 100644 (file)
@@ -197,10 +197,12 @@ defmodule Pleroma.Web.Streamer do
       if socket.assigns[:user] do
         user = User.get_cached_by_ap_id(socket.assigns[:user].ap_id)
         blocks = user.info.blocks || []
+        mutes = user.info.mutes || []
 
         parent = Object.normalize(item.data["object"])
 
-        unless is_nil(parent) or item.actor in blocks or parent.data["actor"] in blocks do
+        unless is_nil(parent) or item.actor in blocks or item.actor in mutes or
+                 parent.data["actor"] in blocks or parent.data["actor"] in mutes do
           send(socket.transport_pid, {:text, represent_update(item, user)})
         end
       else
@@ -224,8 +226,9 @@ defmodule Pleroma.Web.Streamer do
       if socket.assigns[:user] do
         user = User.get_cached_by_ap_id(socket.assigns[:user].ap_id)
         blocks = user.info.blocks || []
+        mutes = user.info.mutes || []
 
-        unless item.actor in blocks do
+        unless item.actor in blocks or item.actor in mutes do
           send(socket.transport_pid, {:text, represent_update(item, user)})
         end
       else