Merge pull request 'I LOVE OBJECTS!!' (#517) from wowee into develop
authorfloatingghost <hannah@coffee-and-dreams.uk>
Wed, 29 Mar 2023 02:33:51 +0000 (02:33 +0000)
committerfloatingghost <hannah@coffee-and-dreams.uk>
Wed, 29 Mar 2023 02:33:51 +0000 (02:33 +0000)
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/517

config/config.exs
lib/pleroma/activity.ex
lib/pleroma/web/o_status/o_status_controller.ex

index ffb62a28f396ea5a156ef94527eb8e590e9a38f0..e216caf9d2c9913aa2c20be6785d594117971c01 100644 (file)
@@ -572,7 +572,8 @@ config :pleroma, Oban,
     database_prune: 1
   ],
   plugins: [
-    Oban.Plugins.Pruner
+    Oban.Plugins.Pruner,
+    {Oban.Plugins.Reindexer, schedule: "@weekly"}
   ],
   crontab: [
     {"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker},
index c5b51474269fb7afd76494cdf003c512db472752..0a376be04a6a34f32a743c675065e54193d41dd8 100644 (file)
@@ -277,6 +277,14 @@ defmodule Pleroma.Activity do
 
   def get_create_by_object_ap_id_with_object(_), do: nil
 
+  def get_local_create_by_object_ap_id_with_object(ap_id) when is_binary(ap_id) do
+    ap_id
+    |> create_by_object_ap_id_with_object()
+    |> where(local: true)
+    |> Repo.one()
+  end
+
+
   @spec create_by_id_with_object(String.t()) :: t() | nil
   def create_by_id_with_object(id) do
     get_by_id_with_opts(id, preload: [:object], filter: [type: "Create"])
index 7731d847f6e0a3f9570266d574dd69e57debcfa9..79db112dfda8bea60d03a651cb4ec515886f1b59 100644 (file)
@@ -36,7 +36,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do
   def object(conn, _params) do
     with id <- Endpoint.url() <> conn.request_path,
          {_, %Activity{} = activity} <-
-           {:activity, Activity.get_create_by_object_ap_id_with_object(id)},
+           {:activity, Activity.get_local_create_by_object_ap_id_with_object(id)},
          {_, true} <- {:public?, Visibility.is_public?(activity)},
          {_, false} <- {:local_public?, Visibility.is_local_public?(activity)} do
       redirect(conn, to: "/notice/#{activity.id}")