logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 15a8acbd6cc6ecc89b49956acfeba49d02270c1d
parent 6a6a631c814ff946358dd386bd41bda2c8a37111
Author: Lain Soykaf <lain@lain.com>
Date:   Thu, 30 Nov 2023 09:40:17 +0400

MRF, Docs.Generator: Ensure code is loaded before checking it

Diffstat:

Mlib/pleroma/docs/generator.ex2++
Mlib/pleroma/web/activity_pub/mrf.ex3+++
2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/lib/pleroma/docs/generator.ex b/lib/pleroma/docs/generator.ex @@ -17,6 +17,8 @@ defmodule Pleroma.Docs.Generator do # This shouldn't be needed as all modules are expected to have module_info/1, # but in test enviroments some transient modules `:elixir_compiler_XX` # are loaded for some reason (where XX is a random integer). + Code.ensure_loaded(module) + if function_exported?(module, :module_info, 1) do module.module_info(:attributes) |> Keyword.get_values(:behaviour) diff --git a/lib/pleroma/web/activity_pub/mrf.ex b/lib/pleroma/web/activity_pub/mrf.ex @@ -54,6 +54,8 @@ defmodule Pleroma.Web.ActivityPub.MRF do @required_description_keys [:key, :related_policy] def filter_one(policy, message) do + Code.ensure_loaded(policy) + should_plug_history? = if function_exported?(policy, :history_awareness, 0) do policy.history_awareness() @@ -188,6 +190,7 @@ defmodule Pleroma.Web.ActivityPub.MRF do def config_descriptions(policies) do Enum.reduce(policies, @mrf_config_descriptions, fn policy, acc -> + Code.ensure_loaded(policy) if function_exported?(policy, :config_description, 0) do description = @default_description