summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2024-11-12 09:44:29 +0000
committerlain <lain@soykaf.club>2024-11-12 09:44:29 +0000
commitee3ab8b625ccb26aa633276c1676a077e3b155d4 (patch)
treee0e27224ea2fee7f646da6c6e5becca7a68c2ac0
parentf7bf9a8c8f822b950808e6bf54c9c63923af7466 (diff)
parent0c41d986de973bfae82794b6fe499f8261a2f6e9 (diff)
downloadpleroma-ee3ab8b625ccb26aa633276c1676a077e3b155d4.tar.gz
pleroma-ee3ab8b625ccb26aa633276c1676a077e3b155d4.zip
Merge branch 'atom-tag' into 'develop'
Metadata: Do not include .atom feed links for remote accounts See merge request pleroma/pleroma!4281
-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