summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorfeld <feld@feld.me>2024-08-16 00:37:10 +0000
committerfeld <feld@feld.me>2024-08-16 00:37:10 +0000
commitfcf9ad5573d3d718e9c1a8db4671e921c39680cf (patch)
tree468366d7796787aed8ad811b167e032af42e3ddf /lib
parentc91fc03e6193cb82e5565abf7eee157210252152 (diff)
parent3b1e6ac8f0ea263beb422f11168ecc254f1bbf53 (diff)
downloadpleroma-fcf9ad5573d3d718e9c1a8db4671e921c39680cf.tar.gz
pleroma-fcf9ad5573d3d718e9c1a8db4671e921c39680cf.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 0e9d70831..c6c536943 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()