From: floatingghost Date: Tue, 2 Aug 2022 09:11:22 +0000 (+0000) Subject: expose bubble instances via nodeinfo (#136) X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=c3eea8dc7d005ccc2384a5e6e744d8084aff3e0c;p=akkoma expose bubble instances via nodeinfo (#136) Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/136 --- diff --git a/lib/pleroma/web/nodeinfo/nodeinfo.ex b/lib/pleroma/web/nodeinfo/nodeinfo.ex index 80a2ce676..bf0d65f45 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo.ex @@ -70,7 +70,8 @@ defmodule Pleroma.Web.Nodeinfo.Nodeinfo do features: features, restrictedNicknames: Config.get([Pleroma.User, :restricted_nicknames]), skipThreadContainment: Config.get([:instance, :skip_thread_containment], false), - privilegedStaff: Config.get([:instance, :privileged_staff]) + privilegedStaff: Config.get([:instance, :privileged_staff]), + localBubbleInstances: Config.get([:instance, :local_bubble], []) } } end diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex index 5cee26afe..a0dee7c6b 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex @@ -88,7 +88,8 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do mailerEnabled: Config.get([Pleroma.Emails.Mailer, :enabled], false), features: features, restrictedNicknames: Config.get([Pleroma.User, :restricted_nicknames]), - skipThreadContainment: Config.get([:instance, :skip_thread_containment], false) + skipThreadContainment: Config.get([:instance, :skip_thread_containment], false), + localBubbleInstances: Config.get([:instance, :local_bubble], []) } } end diff --git a/test/pleroma/web/node_info_test.exs b/test/pleroma/web/node_info_test.exs index 6eb0a585a..05a078266 100644 --- a/test/pleroma/web/node_info_test.exs +++ b/test/pleroma/web/node_info_test.exs @@ -188,6 +188,25 @@ defmodule Pleroma.Web.NodeInfoTest do end end + test "Bubble instances", %{conn: conn} do + clear_config([:instance, :local_bubble], []) + + response = + conn + |> get("/nodeinfo/2.1.json") + |> json_response(:ok) + + assert response["metadata"]["localBubbleInstances"] == [] + clear_config([:instance, :local_bubble], ["example.com"]) + + response = + conn + |> get("/nodeinfo/2.1.json") + |> json_response(:ok) + + assert response["metadata"]["localBubbleInstances"] == ["example.com"] + end + describe "MRF SimplePolicy" do setup do clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.SimplePolicy])