Use user url in mention if we have it.
This commit is contained in:
parent
b3b7ab5d9a
commit
806550c921
|
@ -189,7 +189,9 @@ def add_user_links({subs, text}, mentions) do
|
||||||
|
|
||||||
subs =
|
subs =
|
||||||
subs ++
|
subs ++
|
||||||
Enum.map(mentions, fn {match, %User{ap_id: ap_id}, uuid} ->
|
Enum.map(mentions, fn {match, %User{ap_id: ap_id, info: info}, uuid} ->
|
||||||
|
ap_id = info["source_data"]["url"] || ap_id
|
||||||
|
|
||||||
short_match = String.split(match, "@") |> tl() |> hd()
|
short_match = String.split(match, "@") |> tl() |> hd()
|
||||||
{uuid, "<span><a href='#{ap_id}'>@<span>#{short_match}</span></a></span>"}
|
{uuid, "<span><a href='#{ap_id}'>@<span>#{short_match}</span></a></span>"}
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -64,7 +64,13 @@ test "turning urls into links" do
|
||||||
test "gives a replacement for user links" do
|
test "gives a replacement for user links" do
|
||||||
text = "@gsimg According to @archaeme, that is @daggsy. Also hello @archaeme@archae.me"
|
text = "@gsimg According to @archaeme, that is @daggsy. Also hello @archaeme@archae.me"
|
||||||
gsimg = insert(:user, %{nickname: "gsimg"})
|
gsimg = insert(:user, %{nickname: "gsimg"})
|
||||||
archaeme = insert(:user, %{nickname: "archaeme"})
|
|
||||||
|
archaeme =
|
||||||
|
insert(:user, %{
|
||||||
|
nickname: "archaeme",
|
||||||
|
info: %{"source_data" => %{"url" => "https://archeme/@archaeme"}}
|
||||||
|
})
|
||||||
|
|
||||||
archaeme_remote = insert(:user, %{nickname: "archaeme@archae.me"})
|
archaeme_remote = insert(:user, %{nickname: "archaeme@archae.me"})
|
||||||
|
|
||||||
mentions = Pleroma.Formatter.parse_mentions(text)
|
mentions = Pleroma.Formatter.parse_mentions(text)
|
||||||
|
@ -76,7 +82,7 @@ test "gives a replacement for user links" do
|
||||||
|
|
||||||
expected_text =
|
expected_text =
|
||||||
"<span><a href='#{gsimg.ap_id}'>@<span>gsimg</span></a></span> According to <span><a href='#{
|
"<span><a href='#{gsimg.ap_id}'>@<span>gsimg</span></a></span> According to <span><a href='#{
|
||||||
archaeme.ap_id
|
"https://archeme/@archaeme"
|
||||||
}'>@<span>archaeme</span></a></span>, that is @daggsy. Also hello <span><a href='#{
|
}'>@<span>archaeme</span></a></span>, that is @daggsy. Also hello <span><a href='#{
|
||||||
archaeme_remote.ap_id
|
archaeme_remote.ap_id
|
||||||
}'>@<span>archaeme</span></a></span>"
|
}'>@<span>archaeme</span></a></span>"
|
||||||
|
|
Loading…
Reference in a new issue