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:
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