Make tag urls absolute
authorMark Felder <feld@feld.me>
Thu, 21 Jan 2021 22:49:19 +0000 (16:49 -0600)
committerMark Felder <feld@feld.me>
Thu, 21 Jan 2021 22:49:19 +0000 (16:49 -0600)
CHANGELOG.md
lib/pleroma/web/mastodon_api/views/status_view.ex
test/pleroma/web/mastodon_api/views/status_view_test.exs

index e1dfeae01c00199f45de696ae910d63b94627242..2727d1f2cd0bb7e7036799df5a3476f319eba2c8 100644 (file)
@@ -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.
 - 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.
+- Tag URLs in statuses are now absolute
 
 <details>
   <summary>API Changes</summary>
index cd1a85088ac4ab34e5f83959d3d280914152ef46..2cd6732fe0a5ee9cac257cc5dd9c5ca863936814 100644 (file)
@@ -491,7 +491,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
   def build_tags(object_tags) when is_list(object_tags) do
     object_tags
     |> 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
 
   def build_tags(_), do: []
index 21a01658e253e98ae03ee1ca2a568b5d70787736..ed59cf285652cab805ea999b225c8d672cc26975 100644 (file)
@@ -263,7 +263,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
       tags: [
         %{
           name: "#{object_data["tag"]}",
-          url: "/tag/#{object_data["tag"]}"
+          url: "http://localhost:4001/tag/#{object_data["tag"]}"
         }
       ],
       application: %{
@@ -585,9 +585,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
       ]
 
       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