diff options
author | William Pitcock <nenolod@dereferenced.org> | 2018-11-25 20:09:28 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2018-12-04 04:52:09 +0000 |
commit | 4482ce7e2dbd23e3b7948ee8d084c29d84ae5a1e (patch) | |
tree | 6d89d2eb67de31359eff178c5cc23ea63cf8ee96 /lib | |
parent | d3fde9b5f28b802b9150e1f8a763f4a67b42aadb (diff) | |
download | pleroma-4482ce7e2dbd23e3b7948ee8d084c29d84ae5a1e.tar.gz |
activitypub: normalize objects when streaming them out
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 7e207c620..b11d3221f 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -81,6 +81,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do public = "https://www.w3.org/ns/activitystreams#Public" if activity.data["type"] in ["Create", "Announce"] do + object = Object.normalize(activity.data["object"]) + Pleroma.Web.Streamer.stream("user", activity) Pleroma.Web.Streamer.stream("list", activity) @@ -91,12 +93,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do Pleroma.Web.Streamer.stream("public:local", activity) end - activity.data["object"] + object.data |> Map.get("tag", []) |> Enum.filter(fn tag -> is_bitstring(tag) end) |> Enum.map(fn tag -> Pleroma.Web.Streamer.stream("hashtag:" <> tag, activity) end) - if activity.data["object"]["attachment"] != [] do + if object.data["attachment"] != [] do Pleroma.Web.Streamer.stream("public:media", activity) if activity.local do |