Merge branch 'fix/mastoapi-attachment-linking' into 'develop'

MastoAPI: don't add attachment links.

Closes #92

See merge request pleroma/pleroma!37
This commit is contained in:
lambda 2017-12-08 12:32:33 +00:00
commit 40c30ab895
3 changed files with 8 additions and 3 deletions

View File

@ -56,7 +56,7 @@ def post(user, %{"status" => status} = data) do
inReplyTo <- get_replied_to_activity(data["in_reply_to_status_id"]), inReplyTo <- get_replied_to_activity(data["in_reply_to_status_id"]),
to <- to_for_user_and_mentions(user, mentions, inReplyTo), to <- to_for_user_and_mentions(user, mentions, inReplyTo),
tags <- Formatter.parse_tags(status, data), tags <- Formatter.parse_tags(status, data),
content_html <- make_content_html(status, mentions, attachments, tags), content_html <- make_content_html(status, mentions, attachments, tags, data["no_attachment_links"]),
context <- make_context(inReplyTo), context <- make_context(inReplyTo),
cw <- data["spoiler_text"], cw <- data["spoiler_text"],
object <- make_note_data(user.ap_id, to, context, content_html, attachments, inReplyTo, tags, cw), object <- make_note_data(user.ap_id, to, context, content_html, attachments, inReplyTo, tags, cw),

View File

@ -38,15 +38,19 @@ def to_for_user_and_mentions(user, mentions, inReplyTo) do
end end
end end
def make_content_html(status, mentions, attachments, tags) do def make_content_html(status, mentions, attachments, tags, no_attachment_links \\ false) do
status status
|> format_input(mentions, tags) |> format_input(mentions, tags)
|> add_attachments(attachments) |> maybe_add_attachments(attachments, no_attachment_links)
end end
def make_context(%Activity{data: %{"context" => context}}), do: context def make_context(%Activity{data: %{"context" => context}}), do: context
def make_context(_), do: Utils.generate_context_id def make_context(_), do: Utils.generate_context_id
def maybe_add_attachments(text, attachments, _no_links = true), do: text
def maybe_add_attachments(text, attachments, _no_links) do
add_attachments(text, attachments)
end
def add_attachments(text, attachments) do def add_attachments(text, attachments) do
attachment_text = Enum.map(attachments, fn attachment_text = Enum.map(attachments, fn
(%{"url" => [%{"href" => href} | _]}) -> (%{"url" => [%{"href" => href} | _]}) ->

View File

@ -212,6 +212,7 @@ def get_context(%{assigns: %{user: user}} = conn, %{"id" => id}) do
def post_status(%{assigns: %{user: user}} = conn, %{"status" => _} = params) do def post_status(%{assigns: %{user: user}} = conn, %{"status" => _} = params) do
params = params params = params
|> Map.put("in_reply_to_status_id", params["in_reply_to_id"]) |> Map.put("in_reply_to_status_id", params["in_reply_to_id"])
|> Map.put("no_attachment_links", true)
{:ok, activity} = CommonAPI.post(user, params) {:ok, activity} = CommonAPI.post(user, params)
render conn, StatusView, "status.json", %{activity: activity, for: user, as: :activity} render conn, StatusView, "status.json", %{activity: activity, for: user, as: :activity}