Make tag urls absolute See merge request pleroma/pleroma!3272groups
@@ -54,6 +54,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). | |||||
- Streaming API: Posts and notifications are not dropped, when CLI task is executing. | - Streaming API: Posts and notifications are not dropped, when CLI task is executing. | ||||
- Creating incorrect IPv4 address-style HTTP links when encountering certain numbers. | - Creating incorrect IPv4 address-style HTTP links when encountering certain numbers. | ||||
- Reblog API Endpoint: Do not set visibility parameter to public by default and let CommonAPI to infer it from status, so a user can reblog their private status without explicitly setting reblog visibility to private. | - Reblog API Endpoint: Do not set visibility parameter to public by default and let CommonAPI to infer it from status, so a user can reblog their private status without explicitly setting reblog visibility to private. | ||||
- Tag URLs in statuses are now absolute | |||||
<details> | <details> | ||||
<summary>API Changes</summary> | <summary>API Changes</summary> | ||||
@@ -491,7 +491,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do | |||||
def build_tags(object_tags) when is_list(object_tags) do | def build_tags(object_tags) when is_list(object_tags) do | ||||
object_tags | object_tags | ||||
|> Enum.filter(&is_binary/1) | |> Enum.filter(&is_binary/1) | ||||
|> Enum.map(&%{name: &1, url: "/tag/#{URI.encode(&1)}"}) | |||||
|> Enum.map(&%{name: &1, url: "#{Pleroma.Web.base_url()}/tag/#{URI.encode(&1)}"}) | |||||
end | end | ||||
def build_tags(_), do: [] | def build_tags(_), do: [] | ||||
@@ -263,7 +263,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do | |||||
tags: [ | tags: [ | ||||
%{ | %{ | ||||
name: "#{object_data["tag"]}", | name: "#{object_data["tag"]}", | ||||
url: "/tag/#{object_data["tag"]}" | |||||
url: "http://localhost:4001/tag/#{object_data["tag"]}" | |||||
} | } | ||||
], | ], | ||||
application: %{ | application: %{ | ||||
@@ -585,9 +585,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do | |||||
] | ] | ||||
assert StatusView.build_tags(object_tags) == [ | assert StatusView.build_tags(object_tags) == [ | ||||
%{name: "fediverse", url: "/tag/fediverse"}, | |||||
%{name: "mastodon", url: "/tag/mastodon"}, | |||||
%{name: "nextcloud", url: "/tag/nextcloud"} | |||||
%{name: "fediverse", url: "http://localhost:4001/tag/fediverse"}, | |||||
%{name: "mastodon", url: "http://localhost:4001/tag/mastodon"}, | |||||
%{name: "nextcloud", url: "http://localhost:4001/tag/nextcloud"} | |||||
] | ] | ||||
end | end | ||||
end | end | ||||