formatter: Use user.uri instead of user.source_data.uri
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Wed, 1 Apr 2020 05:15:38 +0000 (07:15 +0200)
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Fri, 10 Apr 2020 04:20:02 +0000 (06:20 +0200)
lib/pleroma/formatter.ex
test/formatter_test.exs

index c44e7fc8bbe90b27c6b77a2bfad7f6c209377ada..02a93a8dc2989e68af9594ad549ba7145c02f2a8 100644 (file)
@@ -31,7 +31,7 @@ defmodule Pleroma.Formatter do
   def mention_handler("@" <> nickname, buffer, opts, acc) do
     case User.get_cached_by_nickname(nickname) do
       %User{id: id} = user ->
-        ap_id = get_ap_id(user)
+        user_url = user.uri || user.ap_id
         nickname_text = get_nickname_text(nickname, opts)
 
         link =
@@ -42,7 +42,7 @@ defmodule Pleroma.Formatter do
               ["@", Phoenix.HTML.Tag.content_tag(:span, nickname_text)],
               "data-user": id,
               class: "u-url mention",
-              href: ap_id,
+              href: user_url,
               rel: "ugc"
             ),
             class: "h-card"
@@ -146,9 +146,6 @@ defmodule Pleroma.Formatter do
     end
   end
 
-  defp get_ap_id(%User{source_data: %{"url" => url}}) when is_binary(url), do: url
-  defp get_ap_id(%User{ap_id: ap_id}), do: ap_id
-
   defp get_nickname_text(nickname, %{mentions_format: :full}), do: User.full_nickname(nickname)
   defp get_nickname_text(nickname, _), do: User.local_nickname(nickname)
 end
index 93fd8eab78eefdbb57e00b324941b56db4b1f458..bef5a2c28813b045cf8ba07cdc9ae84691140d65 100644 (file)
@@ -140,7 +140,7 @@ defmodule Pleroma.FormatterTest do
       archaeme =
         insert(:user,
           nickname: "archa_eme_",
-          source_data: %{"url" => "https://archeme/@archa_eme_"}
+          uri: "https://archeme/@archa_eme_"
         )
 
       archaeme_remote = insert(:user, %{nickname: "archaeme@archae.me"})