summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarcin mikołajczak <git@mkljczk.pl>2024-10-06 17:00:39 +0200
committermarcin mikołajczak <git@mkljczk.pl>2024-10-06 17:02:31 +0200
commit0c41d986de973bfae82794b6fe499f8261a2f6e9 (patch)
treefeff122c7ee72452d6893ccdf17fbe2921bb5196
parentd2eb4992e254c1cdc27033742de1958f02757df1 (diff)
downloadpleroma-0c41d986de973bfae82794b6fe499f8261a2f6e9.tar.gz
pleroma-0c41d986de973bfae82794b6fe499f8261a2f6e9.zip
Metadata: Do not include .atom feed links for remote accounts
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
-rw-r--r--changelog.d/atom-tag.change1
-rw-r--r--lib/pleroma/web/metadata/providers/feed.ex4
-rw-r--r--test/pleroma/web/metadata/providers/feed_test.exs6
3 files changed, 10 insertions, 1 deletions
diff --git a/changelog.d/atom-tag.change b/changelog.d/atom-tag.change
new file mode 100644
index 000000000..1b3590dea
--- /dev/null
+++ b/changelog.d/atom-tag.change
@@ -0,0 +1 @@
+Metadata: Do not include .atom feed links for remote accounts
diff --git a/lib/pleroma/web/metadata/providers/feed.ex b/lib/pleroma/web/metadata/providers/feed.ex
index e97d6a54f..3811f96f6 100644
--- a/lib/pleroma/web/metadata/providers/feed.ex
+++ b/lib/pleroma/web/metadata/providers/feed.ex
@@ -10,7 +10,7 @@ defmodule Pleroma.Web.Metadata.Providers.Feed do
@behaviour Provider
@impl Provider
- def build_tags(%{user: user}) do
+ def build_tags(%{user: %{local: true} = user}) do
[
{:link,
[
@@ -20,4 +20,6 @@ defmodule Pleroma.Web.Metadata.Providers.Feed do
], []}
]
end
+
+ def build_tags(_), do: []
end
diff --git a/test/pleroma/web/metadata/providers/feed_test.exs b/test/pleroma/web/metadata/providers/feed_test.exs
index e593453da..40d9d0909 100644
--- a/test/pleroma/web/metadata/providers/feed_test.exs
+++ b/test/pleroma/web/metadata/providers/feed_test.exs
@@ -15,4 +15,10 @@ defmodule Pleroma.Web.Metadata.Providers.FeedTest do
[rel: "alternate", type: "application/atom+xml", href: "/users/lain/feed.atom"], []}
]
end
+
+ test "it doesn't render a link to remote user's feed" do
+ user = insert(:user, nickname: "lain@lain.com", local: false)
+
+ assert Feed.build_tags(%{user: user}) == []
+ end
end