Merge branch 'develop' into refactor/discoverable_user_field
[akkoma] / lib / pleroma / web / activity_pub / views / user_view.ex
index 3396777d7c3e2fe57c05d6ff836e657913283fdf..81cd7e81d33ee1b0ba84f3b50805059e6e2caa88 100644 (file)
@@ -79,10 +79,16 @@ defmodule Pleroma.Web.ActivityPub.UserView do
 
     emoji_tags = Transmogrifier.take_emoji_tags(user)
 
-    fields =
-      user
-      |> User.fields()
-      |> Enum.map(&Map.put(&1, "type", "PropertyValue"))
+    fields = Enum.map(user.fields, &Map.put(&1, "type", "PropertyValue"))
+
+    capabilities =
+      if is_boolean(user.accepts_chat_messages) do
+        %{
+          "acceptsChatMessages" => user.accepts_chat_messages
+        }
+      else
+        %{}
+      end
 
     %{
       "id" => user.ap_id,
@@ -103,8 +109,9 @@ defmodule Pleroma.Web.ActivityPub.UserView do
       },
       "endpoints" => endpoints,
       "attachment" => fields,
-      "tag" => (user.source_data["tag"] || []) ++ emoji_tags,
-      "discoverable" => user.discoverable
+      "tag" => emoji_tags,
+      "is_discoverable" => user.is_discoverable,
+      "capabilities" => capabilities
     }
     |> Map.merge(maybe_make_image(&User.avatar_url/2, "icon", user))
     |> Map.merge(maybe_make_image(&User.banner_url/2, "image", user))