diff --git a/lib/pleroma/web/twitter_api/utils.ex b/lib/pleroma/web/twitter_api/utils.ex
index cd7e04ca1..055588031 100644
--- a/lib/pleroma/web/twitter_api/utils.ex
+++ b/lib/pleroma/web/twitter_api/utils.ex
@@ -9,10 +9,19 @@ def attachments_from_ids(ids) do
end)
end
+ defp shortname(name) do
+ if String.length(name) < 30 do
+ name
+ else
+ String.slice(name, 0..30) <> "…"
+ end
+ end
+
def add_attachments(text, attachments) do
attachment_text = Enum.map(attachments, fn
(%{"url" => [%{"href" => href} | _]}) ->
- "#{Path.basename(href)}"
+ name = URI.decode(Path.basename(href))
+ "#{shortname(name)}"
_ -> ""
end)
Enum.join([text | attachment_text], "
\n")
diff --git a/test/web/twitter_api/twitter_api_utils_test.exs b/test/web/twitter_api/twitter_api_utils_test.exs
index 49818afed..ff03414d6 100644
--- a/test/web/twitter_api/twitter_api_utils_test.exs
+++ b/test/web/twitter_api/twitter_api_utils_test.exs
@@ -3,12 +3,14 @@ defmodule Pleroma.Web.TwitterAPI.UtilsTest do
use Pleroma.DataCase
test "it adds attachment links to a given text and attachment set" do
+ name = "Sakura%20Mana%20%E2%80%93%20Turned%20on%20by%20a%20Senior%20OL%20with%20a%20Temptating%20Tight%20Skirt-s%20Full%20Hipline%20and%20Panty%20Shot-%20Beautiful%20Thick%20Thighs-%20and%20Erotic%20Ass-%20-2015-%20--%20Oppaitime%208-28-2017%206-50-33%20PM.png"
+
attachment = %{
- "url" => [%{"href" => "http://heise.de/i\"m a boy.png"}]
+ "url" => [%{"href" => name}]
}
res = Utils.add_attachments("", [attachment])
- assert res == "
\ni\"m a boy.png"
+ assert res == "
\nSakura Mana – Turned on by a Se…"
end
end