diff --git a/lib/pleroma/web/twitter_api/utils.ex b/lib/pleroma/web/twitter_api/utils.ex index 82e3620f2..91dfa191f 100644 --- a/lib/pleroma/web/twitter_api/utils.ex +++ b/lib/pleroma/web/twitter_api/utils.ex @@ -38,7 +38,8 @@ def add_user_links(text, mentions) do end) Enum.reduce(mentions, step_one, fn ({match, %User{ap_id: ap_id}, uuid}, text) -> - String.replace(text, uuid, "<a href='#{ap_id}'>#{match}</a>") + short_match = String.split(match, "@") |> tl() |> hd() + String.replace(text, uuid, "<a href='#{ap_id}'>@#{short_match}</a>") end) end diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 4df1aba9e..df1022d6b 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -263,7 +263,7 @@ test "it adds user links to an existing text" do archaeme_remote = insert(:user, %{nickname: "archaeme@archae.me"}) mentions = TwitterAPI.parse_mentions(text) - expected_text = "<a href='#{gsimg.ap_id}'>@gsimg</a> According to <a href='#{archaeme.ap_id}'>@archaeme</a>, that is @daggsy. Also hello <a href='#{archaeme_remote.ap_id}'>@archaeme@archae.me</a>" + expected_text = "<a href='#{gsimg.ap_id}'>@gsimg</a> According to <a href='#{archaeme.ap_id}'>@archaeme</a>, that is @daggsy. Also hello <a href='#{archaeme_remote.ap_id}'>@archaeme</a>" assert Utils.add_user_links(text, mentions) == expected_text end