streamer: adapt thread containment changes

This commit is contained in:
Ariadne Conill 2019-08-26 04:30:09 +00:00
parent 23765e513d
commit 079f1c3aa2
2 changed files with 20 additions and 7 deletions

View File

@ -1216,7 +1216,25 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
# do post-processing on a specific activity # do post-processing on a specific activity
def contain_activity(%Activity{} = activity, %User{} = user) do def contain_activity(%Activity{} = activity, %User{} = user) do
contain_broken_threads(activity, user) strategy = Pleroma.Config.get([:instance, :default_reply_visibility])
case strategy do
"public" ->
Pleroma.Constants.as_public() in activity.recipients
"self" ->
user.ap_id in activity.recipients
"following" ->
friends = ([user.ap_id] ++ get_friend_ap_ids(user)) |> Enum.into(MapSet.new())
!(activity.recipients
|> Enum.into(MapSet.new())
|> MapSet.disjoint?(friends))
_ ->
true
end
end end
def fetch_direct_messages_query do def fetch_direct_messages_query do

View File

@ -6,7 +6,6 @@ defmodule Pleroma.Web.Streamer do
use GenServer use GenServer
require Logger require Logger
alias Pleroma.Activity alias Pleroma.Activity
alias Pleroma.Config
alias Pleroma.Conversation.Participation alias Pleroma.Conversation.Participation
alias Pleroma.Notification alias Pleroma.Notification
alias Pleroma.Object alias Pleroma.Object
@ -309,10 +308,6 @@ defmodule Pleroma.Web.Streamer do
defp thread_containment(_activity, %User{info: %{skip_thread_containment: true}}), do: true defp thread_containment(_activity, %User{info: %{skip_thread_containment: true}}), do: true
defp thread_containment(activity, user) do defp thread_containment(activity, user) do
if Config.get([:instance, :skip_thread_containment]) do ActivityPub.contain_activity(activity, user)
true
else
ActivityPub.contain_activity(activity, user)
end
end end
end end