logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 25c733f4022f171a69cff9badfa8d625a3ad5b6b
parent: f226f46a097b6b87a87ce1ead07383e8f83ad8ea
Author: Roger Braun <roger@rogerbraun.net>
Date:   Tue,  1 Aug 2017 17:35:19 +0200

Add href to in-reply-to.

THis should enable fetching from pleroma posts.

Diffstat:

Mlib/pleroma/web/ostatus/activity_representer.ex12++++++++++--
Mtest/web/ostatus/activity_representer_test.exs5++++-
2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/lib/pleroma/web/ostatus/activity_representer.ex b/lib/pleroma/web/ostatus/activity_representer.ex @@ -1,10 +1,18 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do - alias Pleroma.{Activity, User} + alias Pleroma.{Activity, User, Object} alias Pleroma.Web.OStatus.UserRepresenter require Logger + defp get_href(id) do + with %Object{data: %{ "external_url" => external_url } }<- Object.get_cached_by_ap_id(id) do + external_url + else + _e -> id + end + end + defp get_in_reply_to(%{"object" => %{"inReplyTo" => in_reply_to}}) do - [{:"thr:in-reply-to", [ref: to_charlist(in_reply_to)], []}] + [{:"thr:in-reply-to", [ref: to_charlist(in_reply_to), href: to_charlist(get_href(in_reply_to))], []}] end defp get_in_reply_to(_), do: [] diff --git a/test/web/ostatus/activity_representer_test.exs b/test/web/ostatus/activity_representer_test.exs @@ -58,6 +58,9 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do data = %{answer.data | "object" => object} answer = %{answer | data: data} + note_object = Object.get_by_ap_id(note.data["object"]["id"]) + Repo.update!(Object.change(note_object, %{ data: Map.put(note_object.data, "external_url", "someurl") })) + user = User.get_cached_by_ap_id(answer.data["actor"]) expected = """ @@ -73,7 +76,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do <link type="application/atom+xml" href="#{answer.data["object"]["id"]}" rel="self" /> <link type="text/html" href="#{answer.data["object"]["id"]}" rel="alternate" /> <category term="2hu"/> - <thr:in-reply-to ref="#{note.data["object"]["id"]}" /> + <thr:in-reply-to ref="#{note.data["object"]["id"]}" href="someurl" /> <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> """