summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorfeld <feld@feld.me>2024-08-16 00:37:10 +0000
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2024-11-26 14:06:49 +0100
commit6a0883e5d33bd03fb3d71ad3a3560adc5ce6d626 (patch)
tree6db7ad961b3644a0b8eaf654e3e5fe598de44ef0 /lib
parent53c2d2cd87d35094b0ae623b8daab4d303ed5fcb (diff)
downloadpleroma-6a0883e5d33bd03fb3d71ad3a3560adc5ce6d626.tar.gz
pleroma-6a0883e5d33bd03fb3d71ad3a3560adc5ce6d626.zip
Merge branch 'bugfix-truncate-remote-user-fields' into 'develop'
User: truncate remote user fields instead of rejecting See merge request pleroma/pleroma!4220
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index e28d76a7c..4f6cdc03e 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -463,6 +463,7 @@ defmodule Pleroma.User do
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
@@ -476,6 +477,7 @@ defmodule Pleroma.User 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()