aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorstwf <steven.fuchs@dockyard.com>2020-06-02 10:18:06 -0400
committerstwf <steven.fuchs@dockyard.com>2020-06-03 16:34:03 -0400
commitdbcc1b105ee1a2552595d189d8ac9d8484ffb601 (patch)
tree5959f80e17800df03f673056524905ee7e937464 /lib
parent29ae5bb77166d9d7f8108a965b0c3d147b747e80 (diff)
downloadpleroma-dbcc1b105ee1a2552595d189d8ac9d8484ffb601.tar.gz
encode data properly
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/fallback_redirect_controller.ex7
-rw-r--r--lib/pleroma/web/preload.ex2
-rw-r--r--lib/pleroma/web/preload/timelines.ex31
3 files changed, 20 insertions, 20 deletions
diff --git a/lib/pleroma/web/fallback_redirect_controller.ex b/lib/pleroma/web/fallback_redirect_controller.ex
index 932fb8d7e..431ad5485 100644
--- a/lib/pleroma/web/fallback_redirect_controller.ex
+++ b/lib/pleroma/web/fallback_redirect_controller.ex
@@ -4,7 +4,9 @@
defmodule Fallback.RedirectController do
use Pleroma.Web, :controller
+
require Logger
+
alias Pleroma.User
alias Pleroma.Web.Metadata
alias Pleroma.Web.Preload
@@ -38,8 +40,7 @@ defmodule Fallback.RedirectController do
response =
index_content
- |> String.replace("<!--server-generated-meta-->", tags)
- |> String.replace("<!--server-generated-initial-data-->", preloads)
+ |> String.replace("<!--server-generated-meta-->", tags <> preloads)
conn
|> put_resp_content_type("text/html")
@@ -56,7 +57,7 @@ defmodule Fallback.RedirectController do
response =
index_content
- |> String.replace("<!--server-generated-initial-data-->", preloads)
+ |> String.replace("<!--server-generated-meta-->", preloads)
conn
|> put_resp_content_type("text/html")
diff --git a/lib/pleroma/web/preload.ex b/lib/pleroma/web/preload.ex
index c2211c597..f13932b89 100644
--- a/lib/pleroma/web/preload.ex
+++ b/lib/pleroma/web/preload.ex
@@ -22,6 +22,8 @@ defmodule Pleroma.Web.Preload do
end
def build_script_tag(content) do
+ content = Base.encode64(content)
+
HTML.Tag.content_tag(:script, HTML.raw(content),
id: "initial-results",
type: "application/json"
diff --git a/lib/pleroma/web/preload/timelines.ex b/lib/pleroma/web/preload/timelines.ex
index dbd7db407..2bb57567b 100644
--- a/lib/pleroma/web/preload/timelines.ex
+++ b/lib/pleroma/web/preload/timelines.ex
@@ -11,32 +11,29 @@ defmodule Pleroma.Web.Preload.Providers.Timelines do
@public_url :"/api/v1/timelines/public"
@impl Provider
- def generate_terms(_params) do
- build_public_tag(%{})
+ def generate_terms(params) do
+ build_public_tag(%{}, params)
end
- def build_public_tag(acc) do
+ def build_public_tag(acc, params) do
if Pleroma.Config.get([:restrict_unauthenticated, :timelines, :federated], true) do
acc
else
- Map.put(acc, @public_url, public_timeline(nil))
+ Map.put(acc, @public_url, public_timeline(params))
end
end
- defp public_timeline(user) do
- activities =
- create_timeline_params(user)
- |> Map.put("local_only", false)
- |> ActivityPub.fetch_public_activities()
+ defp public_timeline(%{"path" => ["main", "all"]}), do: get_public_timeline(false)
- StatusView.render("index.json", activities: activities, for: user, as: :activity)
- end
+ defp public_timeline(_params), do: get_public_timeline(true)
+
+ defp get_public_timeline(local_only) do
+ activities =
+ ActivityPub.fetch_public_activities(%{
+ "type" => ["Create"],
+ "local_only" => local_only
+ })
- defp create_timeline_params(user) do
- %{}
- |> Map.put("type", ["Create", "Announce"])
- |> Map.put("blocking_user", user)
- |> Map.put("muting_user", user)
- |> Map.put("user", user)
+ StatusView.render("index.json", activities: activities, for: nil, as: :activity)
end
end