re-enable deactivated check
authorsadposter <hannah+pleroma@coffee-and-dreams.uk>
Mon, 6 Dec 2021 12:03:16 +0000 (12:03 +0000)
committersadposter <hannah+pleroma@coffee-and-dreams.uk>
Mon, 6 Dec 2021 12:03:16 +0000 (12:03 +0000)
lib/mix/tasks/pleroma/user.ex
lib/pleroma/activity.ex
lib/pleroma/web/activity_pub/activity_pub.ex

index d2c751b82abed7445ae30770a0dba9c8cab51bf4..9bda7b485022cda99cd90df424188eafe16d34bc 100644 (file)
@@ -462,9 +462,9 @@ defmodule Mix.Tasks.Pleroma.User do
         |> Map.put(:user, user)
         |> Map.put(:local_only, params[:local])
         |> Map.delete(:local)
-      activities =
+      _activities =
       [user.ap_id | User.following(user)]
-      |> ActivityPub.fetch_activities_secret(params)
+      |> ActivityPub.fetch_activities(params)
     end
   end
 
index b88f74f4717ff27f24b12da153f6f65def14ed23..c84e96aa2bcdb89c5eebee5fae96a07394bd6bed 100644 (file)
@@ -362,11 +362,10 @@ defmodule Pleroma.Activity do
   end
 
   def restrict_deactivated_users(query) do
-    deactivated_users =
+    deactivated_users_query =
       from(u in User.Query.build(%{deactivated: true}), select: u.ap_id)
-      |> Repo.all()
 
-    Activity.Queries.exclude_authors(query, deactivated_users)
+    from(activity in query, where: activity.actor not in subquery(deactivated_users_query))
   end
 
   defdelegate search(user, query, options \\ []), to: Pleroma.Activity.Search
index f3e55c79cdd777d5bf2aa3ea5b6d0b1092e5a309..0878e773bf9fe796baaebaab5663a2b09e1fd851 100644 (file)
@@ -494,15 +494,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
     |> maybe_update_cc(list_memberships, opts[:user])
   end
 
-  def fetch_activities_secret(recipients, opts \\ %{}, pagination \\ :keyset) do
-    list_memberships = Pleroma.List.memberships(opts[:user])
-
-    fetch_activities_query_secret(recipients ++ list_memberships, opts)
-    |> fetch_paginated_optimized(opts, pagination)
-    |> Enum.reverse()
-  end
-
-
   @spec fetch_public_or_unlisted_activities(map(), Pagination.type()) :: [Activity.t()]
   def fetch_public_or_unlisted_activities(opts \\ %{}, pagination \\ :keyset) do
     opts = Map.delete(opts, :user)
@@ -1318,63 +1309,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
     {restrict_blocked_opts, restrict_muted_opts, restrict_muted_reblogs_opts}
   end
 
-  def fetch_activities_query_secret(recipients, opts \\ %{}) do
-    opts = normalize_fetch_activities_query_opts(opts)
-
-    {restrict_blocked_opts, restrict_muted_opts, restrict_muted_reblogs_opts} =
-      fetch_activities_query_ap_ids_ops(opts)
-
-    config = %{
-      skip_thread_containment: true
-    }
-
-    query =
-      Activity
-      |> maybe_preload_objects(opts)
-      |> maybe_preload_bookmarks(opts)
-      |> maybe_preload_report_notes(opts)
-      |> maybe_set_thread_muted_field(opts)
-      |> maybe_order(opts)
-      |> restrict_recipients(recipients, opts[:user])
-      |> restrict_replies(opts)
-      |> restrict_since(opts)
-      |> restrict_local(opts)
-      |> restrict_remote(opts)
-      |> restrict_actor(opts)
-      |> restrict_type(opts)
-      |> restrict_state(opts)
-      |> restrict_favorited_by(opts)
-      |> restrict_blocked(restrict_blocked_opts)
-      |> restrict_blockers_visibility(opts)
-      |> restrict_muted(restrict_muted_opts)
-      |> restrict_filtered(opts)
-      |> restrict_media(opts)
-      |> restrict_visibility(opts)
-      |> restrict_thread_visibility(opts, config)
-      |> restrict_reblogs(opts)
-      |> restrict_pinned(opts)
-      |> restrict_muted_reblogs(restrict_muted_reblogs_opts)
-      |> restrict_instance(opts)
-      |> restrict_announce_object_actor(opts)
-      |> restrict_filtered(opts)
-      |> exclude_poll_votes(opts)
-      |> exclude_chat_messages(opts)
-      |> exclude_invisible_actors(opts)
-      |> exclude_visibility(opts)
-
-    if Config.feature_enabled?(:improved_hashtag_timeline) do
-      query
-      |> restrict_hashtag_any(opts)
-      |> restrict_hashtag_all(opts)
-      |> restrict_hashtag_reject_any(opts)
-    else
-      query
-      |> restrict_embedded_tag_any(opts)
-      |> restrict_embedded_tag_all(opts)
-      |> restrict_embedded_tag_reject_any(opts)
-    end
-  end
-
   def fetch_activities_query(recipients, opts \\ %{}) do
     opts = normalize_fetch_activities_query_opts(opts)
 
@@ -1414,6 +1348,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
       |> restrict_instance(opts)
       |> restrict_announce_object_actor(opts)
       |> restrict_filtered(opts)
+      |> Activity.restrict_deactivated_users()
       |> exclude_poll_votes(opts)
       |> exclude_chat_messages(opts)
       |> exclude_invisible_actors(opts)