Don't break on empty mentions.
This commit is contained in:
parent
e477608b7e
commit
1a001588e8
|
@ -55,8 +55,9 @@ def get_collection_mentions(entry) do
|
|||
end
|
||||
|
||||
def get_mentions(entry) do
|
||||
get_people_mentions(entry)
|
||||
++ get_collection_mentions(entry)
|
||||
(get_people_mentions(entry)
|
||||
++ get_collection_mentions(entry))
|
||||
|> Enum.filter(&(&1))
|
||||
end
|
||||
|
||||
def make_to_list(actor, mentions) do
|
||||
|
|
|
@ -270,7 +270,11 @@ defp activity_to_status(activity, opts) do
|
|||
user = User.get_cached_by_ap_id(actor)
|
||||
# mentioned_users = Repo.all(from user in User, where: user.ap_id in ^activity.data["to"])
|
||||
mentioned_users = Enum.map(activity.data["to"] || [], fn (ap_id) ->
|
||||
if ap_id do
|
||||
User.get_cached_by_ap_id(ap_id)
|
||||
else
|
||||
nil
|
||||
end
|
||||
end)
|
||||
|> Enum.filter(&(&1))
|
||||
|
||||
|
|
|
@ -346,4 +346,11 @@ test "insert or update a user from given data" do
|
|||
|
||||
assert {:ok, %User{}} = OStatus.insert_or_update_user(data)
|
||||
end
|
||||
|
||||
test "it doesn't add nil in the do field" do
|
||||
incoming = File.read!("test/fixtures/nil_mention_entry.xml")
|
||||
{:ok, [activity]} = OStatus.handle_incoming(incoming)
|
||||
|
||||
assert activity.data["to"] == ["http://localhost:4001/users/atarifrosch@social.stopwatchingus-heidelberg.de/followers", "https://www.w3.org/ns/activitystreams#Public"]
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue