logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: facc37aaa6db427ef4d6a1023247997d404bf976
parent: 1025c526c003460e62ddfff09ba65461feceb1f6
Author: lain <lain@soykaf.club>
Date:   Wed, 13 Nov 2019 10:16:00 +0000

Merge branch 'static-remote-redirect' into 'develop'

For remote notices, redirect to the original instead of 404 in static-fe

See merge request pleroma/pleroma!1974

Diffstat:

Mlib/pleroma/web/static_fe/static_fe_controller.ex5+++++
Mtest/web/static_fe/static_fe_controller_test.exs4++--
2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/pleroma/web/static_fe/static_fe_controller.ex b/lib/pleroma/web/static_fe/static_fe_controller.ex @@ -77,6 +77,11 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do render(conn, "conversation.html", %{activities: timeline, meta: meta}) else + %Activity{object: %Object{data: data}} -> + conn + |> put_status(:found) + |> redirect(external: data["url"] || data["external_url"] || data["id"]) + _ -> conn |> put_status(404) diff --git a/test/web/static_fe/static_fe_controller_test.exs b/test/web/static_fe/static_fe_controller_test.exs @@ -151,7 +151,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do assert html_response(conn, 404) =~ "not found" end - test "404 for remote cached status", %{conn: conn} do + test "302 for remote cached status", %{conn: conn} do user = insert(:user) message = %{ @@ -175,7 +175,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEControllerTest do |> put_req_header("accept", "text/html") |> get("/notice/#{activity.id}") - assert html_response(conn, 404) =~ "not found" + assert html_response(conn, 302) =~ "redirected" end end end