From 4d4174c339b0450aab4bb90473ee8285f87936f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicole=20Miko=C5=82ajczyk?= Date: Fri, 28 Mar 2025 18:47:00 +0100 Subject: [PATCH 1/4] fix a few typos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicole Mikołajczyk --- changelog.d/typos.skip | 0 lib/pleroma/web/api_spec.ex | 2 +- .../web/api_spec/operations/admin/rule_operation.ex | 8 ++++---- lib/pleroma/web/api_spec/operations/instance_operation.ex | 2 +- test/pleroma/web/activity_pub/activity_pub_test.exs | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 changelog.d/typos.skip diff --git a/changelog.d/typos.skip b/changelog.d/typos.skip new file mode 100644 index 000000000..e69de29bb diff --git a/lib/pleroma/web/api_spec.ex b/lib/pleroma/web/api_spec.ex index 63409870e..e5339097f 100644 --- a/lib/pleroma/web/api_spec.ex +++ b/lib/pleroma/web/api_spec.ex @@ -97,7 +97,7 @@ defmodule Pleroma.Web.ApiSpec do "Frontend management", "Instance configuration", "Instance documents", - "Instance rule managment", + "Instance rule management", "Invites", "MediaProxy cache", "OAuth application management", diff --git a/lib/pleroma/web/api_spec/operations/admin/rule_operation.ex b/lib/pleroma/web/api_spec/operations/admin/rule_operation.ex index c3a3ecc7c..6d06728f4 100644 --- a/lib/pleroma/web/api_spec/operations/admin/rule_operation.ex +++ b/lib/pleroma/web/api_spec/operations/admin/rule_operation.ex @@ -16,7 +16,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.RuleOperation do def index_operation do %Operation{ - tags: ["Instance rule managment"], + tags: ["Instance rule management"], summary: "Retrieve list of instance rules", operationId: "AdminAPI.RuleController.index", security: [%{"oAuth" => ["admin:read"]}], @@ -33,7 +33,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.RuleOperation do def create_operation do %Operation{ - tags: ["Instance rule managment"], + tags: ["Instance rule management"], summary: "Create new rule", operationId: "AdminAPI.RuleController.create", security: [%{"oAuth" => ["admin:write"]}], @@ -49,7 +49,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.RuleOperation do def update_operation do %Operation{ - tags: ["Instance rule managment"], + tags: ["Instance rule management"], summary: "Modify existing rule", operationId: "AdminAPI.RuleController.update", security: [%{"oAuth" => ["admin:write"]}], @@ -65,7 +65,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.RuleOperation do def delete_operation do %Operation{ - tags: ["Instance rule managment"], + tags: ["Instance rule management"], summary: "Delete rule", operationId: "AdminAPI.RuleController.delete", parameters: [Operation.parameter(:id, :path, :string, "Rule ID")], diff --git a/lib/pleroma/web/api_spec/operations/instance_operation.ex b/lib/pleroma/web/api_spec/operations/instance_operation.ex index 84e5b314d..911ffb994 100644 --- a/lib/pleroma/web/api_spec/operations/instance_operation.ex +++ b/lib/pleroma/web/api_spec/operations/instance_operation.ex @@ -52,7 +52,7 @@ defmodule Pleroma.Web.ApiSpec.InstanceOperation do summary: "Retrieve list of instance rules", operationId: "InstanceController.rules", responses: %{ - 200 => Operation.response("Array of domains", "application/json", array_of_rules()) + 200 => Operation.response("Array of rules", "application/json", array_of_rules()) } } end diff --git a/test/pleroma/web/activity_pub/activity_pub_test.exs b/test/pleroma/web/activity_pub/activity_pub_test.exs index dbc3aa532..c16f081f6 100644 --- a/test/pleroma/web/activity_pub/activity_pub_test.exs +++ b/test/pleroma/web/activity_pub/activity_pub_test.exs @@ -826,7 +826,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do assert object.data["repliesCount"] == 2 end - test "increates quotes count", %{user: user} do + test "increases quotes count", %{user: user} do user2 = insert(:user) {:ok, activity} = CommonAPI.post(user, %{status: "1", visibility: "public"}) From f60a1e7d44e94824ef0b2c38f69540b14cb3693e Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 31 Mar 2025 20:17:18 -0700 Subject: [PATCH 2/4] Set PATH in the FreeBSD rc script to avoid failures starting the service --- changelog.d/freebsd-rc.fix | 1 + installation/freebsd/rc.d/pleroma | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 changelog.d/freebsd-rc.fix diff --git a/changelog.d/freebsd-rc.fix b/changelog.d/freebsd-rc.fix new file mode 100644 index 000000000..1f59d4596 --- /dev/null +++ b/changelog.d/freebsd-rc.fix @@ -0,0 +1 @@ +Set PATH in the FreeBSD rc script to avoid failures starting the service diff --git a/installation/freebsd/rc.d/pleroma b/installation/freebsd/rc.d/pleroma index f62aef18d..149b40838 100755 --- a/installation/freebsd/rc.d/pleroma +++ b/installation/freebsd/rc.d/pleroma @@ -24,4 +24,6 @@ command=/usr/local/bin/elixir command_args="--erl \"-detached\" -S /usr/local/bin/mix phx.server" procname="*beam.smp" +PATH="${PATH}:/usr/local/sbin:/usr/local/bin" + run_rc_command "$1" From 93aa563cfe0bca64be3fa5d4bc74843d87f03937 Mon Sep 17 00:00:00 2001 From: Moon Man Date: Wed, 2 Apr 2025 07:00:45 -0400 Subject: [PATCH 3/4] implemented --- changelog.d/siteinfo-baseurls.add | 3 ++ .../web/mastodon_api/views/instance_view.ex | 18 +++++++++- .../controllers/instance_controller_test.exs | 33 +++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 changelog.d/siteinfo-baseurls.add diff --git a/changelog.d/siteinfo-baseurls.add b/changelog.d/siteinfo-baseurls.add new file mode 100644 index 000000000..d0ff986d7 --- /dev/null +++ b/changelog.d/siteinfo-baseurls.add @@ -0,0 +1,3 @@ +### Added + +- Add `base_urls` to the /api/v1/instance pleroma metadata which provides information about the base URLs for media_proxy and uploads when configured \ No newline at end of file diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index 4b0480f66..fd72e2f91 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -261,6 +261,21 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do end defp pleroma_configuration(instance) do + base_urls = %{} + + base_urls = + if Config.get([:media_proxy, :enabled]) do + Map.put(base_urls, :media_proxy, Config.get([:media_proxy, :base_url])) + else + base_urls + end + + base_urls = + case Config.get([Pleroma.Upload, :base_url]) do + nil -> base_urls + url -> Map.put(base_urls, :upload, url) + end + %{ metadata: %{ account_activation_required: Keyword.get(instance, :account_activation_required), @@ -270,7 +285,8 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do post_formats: Config.get([:instance, :allowed_post_formats]), birthday_required: Config.get([:instance, :birthday_required]), birthday_min_age: Config.get([:instance, :birthday_min_age]), - translation: supported_languages() + translation: supported_languages(), + base_urls: base_urls }, stats: %{mau: Pleroma.User.active_user_count()}, vapid_public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key) diff --git a/test/pleroma/web/mastodon_api/controllers/instance_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/instance_controller_test.exs index 38b547770..8a0fe5259 100644 --- a/test/pleroma/web/mastodon_api/controllers/instance_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/instance_controller_test.exs @@ -161,4 +161,37 @@ defmodule Pleroma.Web.MastodonAPI.InstanceControllerTest do |> get("/api/v1/instance/translation_languages") |> json_response_and_validate_schema(200) end + + test "base_urls in pleroma metadata", %{conn: conn} do + media_proxy_base_url = "https://media.example.org" + upload_base_url = "https://uploads.example.org" + + clear_config([:media_proxy, :enabled], true) + clear_config([:media_proxy, :base_url], media_proxy_base_url) + clear_config([Pleroma.Upload, :base_url], upload_base_url) + + conn = get(conn, "/api/v1/instance") + + assert result = json_response_and_validate_schema(conn, 200) + assert result["pleroma"]["metadata"]["base_urls"]["media_proxy"] == media_proxy_base_url + assert result["pleroma"]["metadata"]["base_urls"]["upload"] == upload_base_url + + # Test when media_proxy is disabled + clear_config([:media_proxy, :enabled], false) + + conn = get(conn, "/api/v1/instance") + + assert result = json_response_and_validate_schema(conn, 200) + refute Map.has_key?(result["pleroma"]["metadata"]["base_urls"], "media_proxy") + assert result["pleroma"]["metadata"]["base_urls"]["upload"] == upload_base_url + + # Test when upload base_url is not set + clear_config([Pleroma.Upload, :base_url], nil) + + conn = get(conn, "/api/v1/instance") + + assert result = json_response_and_validate_schema(conn, 200) + refute Map.has_key?(result["pleroma"]["metadata"]["base_urls"], "media_proxy") + refute Map.has_key?(result["pleroma"]["metadata"]["base_urls"], "upload") + end end From 8322134a2112cca2deb98c5ad324ed7c7e76f704 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 2 Apr 2025 12:30:32 +0000 Subject: [PATCH 4/4] Edit siteinfo-baseurls.add --- changelog.d/siteinfo-baseurls.add | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/changelog.d/siteinfo-baseurls.add b/changelog.d/siteinfo-baseurls.add index d0ff986d7..6f0f19847 100644 --- a/changelog.d/siteinfo-baseurls.add +++ b/changelog.d/siteinfo-baseurls.add @@ -1,3 +1 @@ -### Added - -- Add `base_urls` to the /api/v1/instance pleroma metadata which provides information about the base URLs for media_proxy and uploads when configured \ No newline at end of file +Add `base_urls` to the /api/v1/instance pleroma metadata which provides information about the base URLs for media_proxy and uploads when configured \ No newline at end of file