diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-09-10 17:20:53 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-09-10 17:20:53 +0200 |
commit | b8912ff954a0aa6426eb2205da82db8bee6c5a6a (patch) | |
tree | d87acfe3d847c2952f169e305cfdd57d554ba822 /lib | |
parent | 8672d4d12b7be3689386567ee93869292275439c (diff) | |
download | pleroma-b8912ff954a0aa6426eb2205da82db8bee6c5a6a.tar.gz |
Fix masto api context.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index 900f9e3da..1aa7f43ab 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -64,10 +64,11 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do def get_context(%{assigns: %{user: user}} = conn, %{"id" => id}) do with %Activity{} = activity <- Repo.get(Activity, id), activities <- ActivityPub.fetch_activities_for_context(activity.data["object"]["context"]), - %{true: ancestors, false: descendants} <- Enum.group_by(activities, fn (%{id: id}) -> id < activity.id end) do + activities <- activities |> Enum.filter(fn (%{id: aid}) -> to_string(aid) != to_string(id) end), + grouped_activities <- Enum.group_by(activities, fn (%{id: id}) -> id < activity.id end) do result = %{ - ancestors: StatusView.render("index.json", for: user, activities: ancestors, as: :activity) |> Enum.reverse, - descendants: StatusView.render("index.json", for: user, activities: descendants, as: :activity) |> Enum.reverse, + ancestors: StatusView.render("index.json", for: user, activities: grouped_activities[true] || [], as: :activity) |> Enum.reverse, + descendants: StatusView.render("index.json", for: user, activities: grouped_activities[false] || [], as: :activity) |> Enum.reverse, } json(conn, result) |