Merge branch 'revert-ee05abe0' into 'develop'
Revert "Merge branch 'revert/notice-routes' into 'develop'" See merge request pleroma/pleroma!3639
This commit is contained in:
commit
0b686c6e54
|
@ -33,6 +33,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
### Fixed
|
### Fixed
|
||||||
- Subscription(Bell) Notifications: Don't create from Pipeline Ingested replies
|
- Subscription(Bell) Notifications: Don't create from Pipeline Ingested replies
|
||||||
- Handle Reject for already-accepted Follows properly
|
- Handle Reject for already-accepted Follows properly
|
||||||
|
- Display OpenGraph data on alternative notice routes.
|
||||||
- Fix replies count for remote replies
|
- Fix replies count for remote replies
|
||||||
- Fixed hashtags disappearing from the end of lines when Markdown is enabled
|
- Fixed hashtags disappearing from the end of lines when Markdown is enabled
|
||||||
- ChatAPI: Add link headers
|
- ChatAPI: Add link headers
|
||||||
|
|
|
@ -669,6 +669,11 @@ defmodule Pleroma.Web.Router do
|
||||||
get("/activities/:uuid", OStatus.OStatusController, :activity)
|
get("/activities/:uuid", OStatus.OStatusController, :activity)
|
||||||
get("/notice/:id", OStatus.OStatusController, :notice)
|
get("/notice/:id", OStatus.OStatusController, :notice)
|
||||||
|
|
||||||
|
# Notice compatibility routes for other frontends
|
||||||
|
get("/@:nickname/:id", OStatus.OStatusController, :notice)
|
||||||
|
get("/@:nickname/posts/:id", OStatus.OStatusController, :notice)
|
||||||
|
get("/:nickname/status/:id", OStatus.OStatusController, :notice)
|
||||||
|
|
||||||
# Mastodon compatibility routes
|
# Mastodon compatibility routes
|
||||||
get("/users/:nickname/statuses/:id", OStatus.OStatusController, :object)
|
get("/users/:nickname/statuses/:id", OStatus.OStatusController, :object)
|
||||||
get("/users/:nickname/statuses/:id/activity", OStatus.OStatusController, :activity)
|
get("/users/:nickname/statuses/:id/activity", OStatus.OStatusController, :activity)
|
||||||
|
|
|
@ -167,6 +167,15 @@ defp represent(%Activity{object: %Object{data: data}} = activity, selected) do
|
||||||
defp assign_id(%{path_info: ["notice", notice_id]} = conn, _opts),
|
defp assign_id(%{path_info: ["notice", notice_id]} = conn, _opts),
|
||||||
do: assign(conn, :notice_id, notice_id)
|
do: assign(conn, :notice_id, notice_id)
|
||||||
|
|
||||||
|
defp assign_id(%{path_info: ["@" <> _nickname, notice_id]} = conn, _opts),
|
||||||
|
do: assign(conn, :notice_id, notice_id)
|
||||||
|
|
||||||
|
defp assign_id(%{path_info: ["@" <> _nickname, "posts", notice_id]} = conn, _opts),
|
||||||
|
do: assign(conn, :notice_id, notice_id)
|
||||||
|
|
||||||
|
defp assign_id(%{path_info: [_nickname, "status", notice_id]} = conn, _opts),
|
||||||
|
do: assign(conn, :notice_id, notice_id)
|
||||||
|
|
||||||
defp assign_id(%{path_info: ["users", user_id]} = conn, _opts),
|
defp assign_id(%{path_info: ["users", user_id]} = conn, _opts),
|
||||||
do: assign(conn, :username_or_id, user_id)
|
do: assign(conn, :username_or_id, user_id)
|
||||||
|
|
||||||
|
|
|
@ -343,4 +343,54 @@ test "does not require authentication on non-federating instances", %{
|
||||||
|> response(200)
|
|> response(200)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "notice compatibility routes" do
|
||||||
|
test "Soapbox FE", %{conn: conn} do
|
||||||
|
user = insert(:user)
|
||||||
|
note_activity = insert(:note_activity, user: user)
|
||||||
|
|
||||||
|
resp =
|
||||||
|
conn
|
||||||
|
|> put_req_header("accept", "text/html")
|
||||||
|
|> get("/@#{user.nickname}/posts/#{note_activity.id}")
|
||||||
|
|> response(200)
|
||||||
|
|
||||||
|
expected =
|
||||||
|
"<meta content=\"#{Endpoint.url()}/notice/#{note_activity.id}\" property=\"og:url\">"
|
||||||
|
|
||||||
|
assert resp =~ expected
|
||||||
|
end
|
||||||
|
|
||||||
|
test "Mastodon", %{conn: conn} do
|
||||||
|
user = insert(:user)
|
||||||
|
note_activity = insert(:note_activity, user: user)
|
||||||
|
|
||||||
|
resp =
|
||||||
|
conn
|
||||||
|
|> put_req_header("accept", "text/html")
|
||||||
|
|> get("/@#{user.nickname}/#{note_activity.id}")
|
||||||
|
|> response(200)
|
||||||
|
|
||||||
|
expected =
|
||||||
|
"<meta content=\"#{Endpoint.url()}/notice/#{note_activity.id}\" property=\"og:url\">"
|
||||||
|
|
||||||
|
assert resp =~ expected
|
||||||
|
end
|
||||||
|
|
||||||
|
test "Twitter", %{conn: conn} do
|
||||||
|
user = insert(:user)
|
||||||
|
note_activity = insert(:note_activity, user: user)
|
||||||
|
|
||||||
|
resp =
|
||||||
|
conn
|
||||||
|
|> put_req_header("accept", "text/html")
|
||||||
|
|> get("/#{user.nickname}/status/#{note_activity.id}")
|
||||||
|
|> response(200)
|
||||||
|
|
||||||
|
expected =
|
||||||
|
"<meta content=\"#{Endpoint.url()}/notice/#{note_activity.id}\" property=\"og:url\">"
|
||||||
|
|
||||||
|
assert resp =~ expected
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -86,6 +86,8 @@ test "api routes are detected correctly" do
|
||||||
"objects",
|
"objects",
|
||||||
"activities",
|
"activities",
|
||||||
"notice",
|
"notice",
|
||||||
|
"@:nickname",
|
||||||
|
":nickname",
|
||||||
"users",
|
"users",
|
||||||
"tags",
|
"tags",
|
||||||
"mailer",
|
"mailer",
|
||||||
|
|
Loading…
Reference in New Issue