aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-08-06 06:50:18 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-08-06 08:22:11 +0000
commit1c90f88393c10198f34aa3a19f09169bcddeeac3 (patch)
tree998c3048da335fd2463ca619200e27e253dfe7bc /lib/pleroma/web
parent7bed350a23c8028d279214f1a0b1c344300af133 (diff)
downloadpleroma-1c90f88393c10198f34aa3a19f09169bcddeeac3.tar.gz
user: remote actors can have no nickname if they are virtual services
Diffstat (limited to 'lib/pleroma/web')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index ec605b694..bab272323 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -554,12 +554,19 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
"locked" => locked
},
avatar: avatar,
- nickname: "#{data["preferredUsername"]}@#{URI.parse(data["id"]).host}",
name: data["name"],
follower_address: data["followers"],
bio: data["summary"]
}
+ # nickname can be nil because of virtual actors
+ user_data =
+ if data["preferredUsername"] do
+ Map.put(user_data, :nickname, "#{data["preferredUsername"]}@#{URI.parse(data["id"]).host}")
+ else
+ Map.put(user_data, :nickname, nil)
+ end
+
{:ok, user_data}
end