projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update pleroma.nginx
[akkoma]
/
lib
/
pleroma
/
gopher
/
server.ex
diff --git
a/lib/pleroma/gopher/server.ex
b/lib/pleroma/gopher/server.ex
index cccde155abe366981509436b31099b7c3a550f38..f6abcd4d07f27db8fe1c6d4012881ade5bb89e1c 100644
(file)
--- a/
lib/pleroma/gopher/server.ex
+++ b/
lib/pleroma/gopher/server.ex
@@
-50,7
+50,13
@@
defmodule Pleroma.Gopher.Server.ProtocolHandler do
end
def info(text) do
end
def info(text) do
- "#{text}\tfake\(NULL)\t0\r\n"
+ text = String.replace(text, ~r/[\t\n]/, "")
+
+ String.split(text, "\r")
+ |> Enum.map(fn text ->
+ "i#{text}\tfake\(NULL)\t0\r\n"
+ end)
+ |> Enum.join("")
end
def link(name, selector, type \\ 1) do
end
def link(name, selector, type \\ 1) do
@@
-59,24
+65,34
@@
defmodule Pleroma.Gopher.Server.ProtocolHandler do
"#{type}#{name}\t#{selector}\t#{address}\t#{port}\r\n"
end
"#{type}#{name}\t#{selector}\t#{address}\t#{port}\r\n"
end
- def response("") do
- info("Welcome to #{Keyword.get(@instance, :name, "Pleroma")}!") <>
- link("Public Timeline", "/main/public") <>
- link("Federated Timeline", "/main/all") <> ".\r\n"
- end
-
def render_activities(activities) do
activities
|> Enum.reverse()
|> Enum.map(fn activity ->
user = User.get_cached_by_ap_id(activity.data["actor"])
def render_activities(activities) do
activities
|> Enum.reverse()
|> Enum.map(fn activity ->
user = User.get_cached_by_ap_id(activity.data["actor"])
+ object = activity.data["object"]
+ like_count = object["like_count"] || 0
+ announcement_count = object["announcement_count"] || 0
+
link("Post ##{activity.id} by #{user.nickname}", "/notices/#{activity.id}") <>
link("Post ##{activity.id} by #{user.nickname}", "/notices/#{activity.id}") <>
- info(HtmlSanitizeEx.strip_tags(activity.data["object"]["content"]))
+ info("#{like_count} likes, #{announcement_count} repeats") <>
+ "\r\n" <>
+ info(
+ HtmlSanitizeEx.strip_tags(
+ String.replace(activity.data["object"]["content"], "<br>", "\r")
+ )
+ )
end)
|> Enum.join("\r\n")
end
end)
|> Enum.join("\r\n")
end
+ def response("") do
+ info("Welcome to #{Keyword.get(@instance, :name, "Pleroma")}!") <>
+ link("Public Timeline", "/main/public") <>
+ link("Federated Timeline", "/main/all") <> ".\r\n"
+ end
+
def response("/main/public") do
posts =
ActivityPub.fetch_public_activities(%{"type" => ["Create"], "local_only" => true})
def response("/main/public") do
posts =
ActivityPub.fetch_public_activities(%{"type" => ["Create"], "local_only" => true})