Merge branch 'fix-all-custom-fields-deleted' into 'develop'
Fix not to use unupdated attachments when all fields are deleted See merge request pleroma/pleroma!1596
This commit is contained in:
commit
503139b343
|
@ -49,7 +49,7 @@ defmodule Pleroma.User.Info do
|
||||||
field(:mascot, :map, default: nil)
|
field(:mascot, :map, default: nil)
|
||||||
field(:emoji, {:array, :map}, default: [])
|
field(:emoji, {:array, :map}, default: [])
|
||||||
field(:pleroma_settings_store, :map, default: %{})
|
field(:pleroma_settings_store, :map, default: %{})
|
||||||
field(:fields, {:array, :map}, default: [])
|
field(:fields, {:array, :map}, default: nil)
|
||||||
field(:raw_fields, {:array, :map}, default: [])
|
field(:raw_fields, {:array, :map}, default: [])
|
||||||
|
|
||||||
field(:notification_settings, :map,
|
field(:notification_settings, :map,
|
||||||
|
@ -422,7 +422,7 @@ def remove_reblog_mute(info, ap_id) do
|
||||||
|
|
||||||
# ``fields`` is an array of mastodon profile field, containing ``{"name": "…", "value": "…"}``.
|
# ``fields`` is an array of mastodon profile field, containing ``{"name": "…", "value": "…"}``.
|
||||||
# For example: [{"name": "Pronoun", "value": "she/her"}, …]
|
# For example: [{"name": "Pronoun", "value": "she/her"}, …]
|
||||||
def fields(%{fields: [], source_data: %{"attachment" => attachment}}) do
|
def fields(%{fields: nil, source_data: %{"attachment" => attachment}}) do
|
||||||
limit = Pleroma.Config.get([:instance, :max_remote_account_fields], 0)
|
limit = Pleroma.Config.get([:instance, :max_remote_account_fields], 0)
|
||||||
|
|
||||||
attachment
|
attachment
|
||||||
|
@ -431,6 +431,8 @@ def fields(%{fields: [], source_data: %{"attachment" => attachment}}) do
|
||||||
|> Enum.take(limit)
|
|> Enum.take(limit)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def fields(%{fields: nil}), do: []
|
||||||
|
|
||||||
def fields(%{fields: fields}), do: fields
|
def fields(%{fields: fields}), do: fields
|
||||||
|
|
||||||
def follow_information_update(info, params) do
|
def follow_information_update(info, params) do
|
||||||
|
|
|
@ -563,6 +563,14 @@ test "it works with custom profile fields" do
|
||||||
%{"name" => "foo", "value" => "updated"},
|
%{"name" => "foo", "value" => "updated"},
|
||||||
%{"name" => "foo1", "value" => "updated"}
|
%{"name" => "foo1", "value" => "updated"}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
update_data = put_in(update_data, ["object", "attachment"], [])
|
||||||
|
|
||||||
|
{:ok, _} = Transmogrifier.handle_incoming(update_data)
|
||||||
|
|
||||||
|
user = User.get_cached_by_ap_id(user.ap_id)
|
||||||
|
|
||||||
|
assert User.Info.fields(user.info) == []
|
||||||
end
|
end
|
||||||
|
|
||||||
test "it works for incoming update activities which lock the account" do
|
test "it works for incoming update activities which lock the account" do
|
||||||
|
|
Loading…
Reference in a new issue