diff options
author | stwf <steven.fuchs@dockyard.com> | 2020-06-02 10:18:06 -0400 |
---|---|---|
committer | stwf <steven.fuchs@dockyard.com> | 2020-06-03 16:34:03 -0400 |
commit | dbcc1b105ee1a2552595d189d8ac9d8484ffb601 (patch) | |
tree | 5959f80e17800df03f673056524905ee7e937464 /lib | |
parent | 29ae5bb77166d9d7f8108a965b0c3d147b747e80 (diff) | |
download | pleroma-dbcc1b105ee1a2552595d189d8ac9d8484ffb601.tar.gz |
encode data properly
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/fallback_redirect_controller.ex | 7 | ||||
-rw-r--r-- | lib/pleroma/web/preload.ex | 2 | ||||
-rw-r--r-- | lib/pleroma/web/preload/timelines.ex | 31 |
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 |