Skip to content
Snippets Groups Projects
Commit 429992fc authored by lain's avatar lain
Browse files

Save external link for notes.

parent 7dca02f9
No related branches found
No related tags found
No related merge requests found
......@@ -49,6 +49,11 @@ defmodule Pleroma.Web.OStatus.NoteHandler do
] ++ mentions
end
def add_external_url(note, entry) do
url = XML.string_from_xpath("//link[@rel='alternate' and @type='text/html']/@href", entry)
Map.put(note, "external_url", url)
end
def handle_note(entry, doc \\ nil) do
with id <- XML.string_from_xpath("//id", entry),
activity when is_nil(activity) <- Activity.get_create_activity_by_object_ap_id(id),
......@@ -67,6 +72,7 @@ defmodule Pleroma.Web.OStatus.NoteHandler do
note <- TwitterAPI.Utils.make_note_data(actor.ap_id, to, context, content_html, attachments, inReplyToActivity, []),
note <- note |> Map.put("id", id) |> Map.put("tag", tags),
note <- note |> Map.put("published", date),
note <- add_external_url(note, entry),
# TODO: Handle this case in make_note_data
note <- (if inReplyTo && !inReplyToActivity, do: note |> Map.put("inReplyTo", inReplyTo), else: note)
do
......
......@@ -45,6 +45,7 @@ defmodule Pleroma.Web.OStatusTest do
assert activity.data["object"]["type"] == "Note"
assert activity.data["object"]["actor"] == "https://social.heldscal.la/user/23211"
assert activity.data["object"]["attachment"] |> length == 2
assert activity.data["object"]["external_url"] == "https://social.heldscal.la/notice/2020923"
end
test "handle incoming notes with tags" do
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment