From dbcc1b105ee1a2552595d189d8ac9d8484ffb601 Mon Sep 17 00:00:00 2001 From: stwf Date: Tue, 2 Jun 2020 10:18:06 -0400 Subject: encode data properly --- lib/pleroma/web/fallback_redirect_controller.ex | 7 +++--- lib/pleroma/web/preload.ex | 2 ++ lib/pleroma/web/preload/timelines.ex | 31 +++++++++++-------------- 3 files changed, 20 insertions(+), 20 deletions(-) (limited to 'lib') 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("", tags) - |> String.replace("", preloads) + |> String.replace("", tags <> preloads) conn |> put_resp_content_type("text/html") @@ -56,7 +57,7 @@ defmodule Fallback.RedirectController do response = index_content - |> String.replace("", preloads) + |> String.replace("", 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 -- cgit v1.2.3