X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fstatic_fe%2Fstatic_fe_controller.ex;h=56ee4e41e9f8c6771c1121cdd41d7cf890fad5f7;hb=a079ec3a3cdfd42d2cbd51c7698c2c87828e5778;hp=6f73b575e2a751245256d634d54b0f08287f46c6;hpb=7c4b415929cfef17c409eab095b8e1eb956607cc;p=akkoma diff --git a/lib/pleroma/web/static_fe/static_fe_controller.ex b/lib/pleroma/web/static_fe/static_fe_controller.ex index 6f73b575e..56ee4e41e 100644 --- a/lib/pleroma/web/static_fe/static_fe_controller.ex +++ b/lib/pleroma/web/static_fe/static_fe_controller.ex @@ -25,7 +25,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do true <- Visibility.is_public?(activity.object), {_, true} <- {:visible?, Visibility.visible_for_user?(activity, _reading_user = nil)}, %User{} = user <- User.get_by_ap_id(activity.object.data["actor"]) do - meta = Metadata.build_tags(%{activity_id: notice_id, object: activity.object, user: user}) + meta = Metadata.build_tags(%{url: activity.data["id"], object: activity.object, user: user}) timeline = activity.object.data["context"] @@ -180,15 +180,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do nil end - reply_to_user = - if data["inReplyTo"] do - activity - |> Activity.get_in_reply_to_activity() - |> Map.get(:actor) - |> User.get_cached_by_ap_id() - else - nil - end + reply_to_user = in_reply_to_user(activity) total_votes = if data["oneOf"] do @@ -217,6 +209,21 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do } end + defp in_reply_to_user(%Activity{object: %Object{data: %{"inReplyTo" => inReplyTo}}} = activity) + when is_binary(inReplyTo) do + in_reply_to_activity = Activity.get_in_reply_to_activity(activity) + + if in_reply_to_activity do + in_reply_to_activity + |> Map.get(:actor) + |> User.get_cached_by_ap_id() + else + nil + end + end + + defp in_reply_to_user(_), do: nil + defp assign_id(%{path_info: ["notice", notice_id]} = conn, _opts), do: assign(conn, :notice_id, notice_id)