Skip to content

Instantly share code, notes, and snippets.

@reasonset
Created November 26, 2024 05:56
Show Gist options
  • Save reasonset/f00c46a21c67ca6a13f5e359d79476be to your computer and use it in GitHub Desktop.
Save reasonset/f00c46a21c67ca6a13f5e359d79476be to your computer and use it in GitHub Desktop.
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 14414adc4..1b6d0cced 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -440,6 +440,7 @@ defp fix_follower_address(params), do: params
def remote_user_changeset(struct \\ %User{local: false}, params) do
bio_limit = Config.get([:instance, :user_bio_length], 5000)
name_limit = Config.get([:instance, :user_name_length], 100)
+ fields_limit = Config.get([:instance, :max_remote_account_fields], 0)
name =
case params[:name] do
@@ -453,6 +454,7 @@ def remote_user_changeset(struct \\ %User{local: false}, params) do
|> Map.put_new(:last_refreshed_at, NaiveDateTime.utc_now())
|> truncate_if_exists(:name, name_limit)
|> truncate_if_exists(:bio, bio_limit)
+ |> Map.update(:fields, [], &Enum.take(&1, fields_limit))
|> truncate_fields_param()
|> fix_follower_address()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment