diff options
| -rw-r--r-- | lib/pleroma/constants.ex | 2 | ||||
| -rw-r--r-- | lib/pleroma/web/activity_pub/builder.ex | 2 | ||||
| -rw-r--r-- | lib/pleroma/web/activity_pub/object_validators/announce_validator.ex | 2 | ||||
| -rw-r--r-- | lib/pleroma/web/activity_pub/utils.ex | 2 | ||||
| -rw-r--r-- | lib/pleroma/web/activity_pub/visibility.ex | 6 | ||||
| -rw-r--r-- | lib/pleroma/web/common_api/utils.ex | 2 | ||||
| -rw-r--r-- | test/pleroma/web/mastodon_api/controllers/status_controller_test.exs | 3 | 
7 files changed, 10 insertions, 9 deletions
| diff --git a/lib/pleroma/constants.ex b/lib/pleroma/constants.ex index bdca8279c..bf92f65cb 100644 --- a/lib/pleroma/constants.ex +++ b/lib/pleroma/constants.ex @@ -27,6 +27,4 @@ defmodule Pleroma.Constants do      do:        ~w(index.html robots.txt static static-fe finmoji emoji packs sounds images instance sw.js sw-pleroma.js favicon.png schemas doc embed.js embed.css)    ) - -  def as_local_public, do: Pleroma.Web.Endpoint.url() <> "/#Public"  end diff --git a/lib/pleroma/web/activity_pub/builder.ex b/lib/pleroma/web/activity_pub/builder.ex index 91a45836f..cde477710 100644 --- a/lib/pleroma/web/activity_pub/builder.ex +++ b/lib/pleroma/web/activity_pub/builder.ex @@ -223,7 +223,7 @@ defmodule Pleroma.Web.ActivityPub.Builder do            [actor.follower_address]          public? and Visibility.is_local_public?(object) -> -          [actor.follower_address, object.data["actor"], Pleroma.Constants.as_local_public()] +          [actor.follower_address, object.data["actor"], Utils.as_local_public()]          public? ->            [actor.follower_address, object.data["actor"], Pleroma.Constants.as_public()] diff --git a/lib/pleroma/web/activity_pub/object_validators/announce_validator.ex b/lib/pleroma/web/activity_pub/object_validators/announce_validator.ex index 576341790..a2f752ac3 100644 --- a/lib/pleroma/web/activity_pub/object_validators/announce_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/announce_validator.ex @@ -68,7 +68,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AnnounceValidator do           false <- Visibility.is_public?(object) do        same_actor = object.data["actor"] == actor.ap_id        recipients = get_field(cng, :to) ++ get_field(cng, :cc) -      local_public = Pleroma.Constants.as_local_public() +      local_public = Utils.as_local_public()        is_public =          Enum.member?(recipients, Pleroma.Constants.as_public()) or diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex index 0513498aa..1df53f79a 100644 --- a/lib/pleroma/web/activity_pub/utils.ex +++ b/lib/pleroma/web/activity_pub/utils.ex @@ -37,6 +37,8 @@ defmodule Pleroma.Web.ActivityPub.Utils do    @supported_report_states ~w(open closed resolved)    @valid_visibilities ~w(public unlisted private direct) +  def as_local_public, do: Endpoint.url() <> "/#Public" +    # Some implementations send the actor URI as the actor field, others send the entire actor object,    # so figure out what the actor's URI is based on what we have.    def get_ap_id(%{"id" => id} = _), do: id diff --git a/lib/pleroma/web/activity_pub/visibility.ex b/lib/pleroma/web/activity_pub/visibility.ex index 00234c0b0..2be59144d 100644 --- a/lib/pleroma/web/activity_pub/visibility.ex +++ b/lib/pleroma/web/activity_pub/visibility.ex @@ -20,14 +20,14 @@ defmodule Pleroma.Web.ActivityPub.Visibility do    def is_public?(data) do      Utils.label_in_message?(Pleroma.Constants.as_public(), data) or -      Utils.label_in_message?(Pleroma.Constants.as_local_public(), data) +      Utils.label_in_message?(Utils.as_local_public(), data)    end    def is_local_public?(%Object{data: data}), do: is_local_public?(data)    def is_local_public?(%Activity{data: data}), do: is_local_public?(data)    def is_local_public?(data) do -    Utils.label_in_message?(Pleroma.Constants.as_local_public(), data) and +    Utils.label_in_message?(Utils.as_local_public(), data) and        not Utils.label_in_message?(Pleroma.Constants.as_public(), data)    end @@ -127,7 +127,7 @@ defmodule Pleroma.Web.ActivityPub.Visibility do        Pleroma.Constants.as_public() in cc ->          "unlisted" -      Pleroma.Constants.as_local_public() in to -> +      Utils.as_local_public() in to ->          "local"        # this should use the sql for the object's activity diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex index 94a378e11..4cc34002d 100644 --- a/lib/pleroma/web/common_api/utils.ex +++ b/lib/pleroma/web/common_api/utils.ex @@ -69,7 +69,7 @@ defmodule Pleroma.Web.CommonAPI.Utils do      to =        case visibility do          "public" -> [Pleroma.Constants.as_public() | draft.mentions] -        "local" -> [Pleroma.Constants.as_local_public() | draft.mentions] +        "local" -> [Utils.as_local_public() | draft.mentions]        end      cc = [draft.user.follower_address] diff --git a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs index 99ad87d05..055dd4bea 100644 --- a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs @@ -14,6 +14,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do    alias Pleroma.Tests.ObanHelpers    alias Pleroma.User    alias Pleroma.Web.ActivityPub.ActivityPub +  alias Pleroma.Web.ActivityPub.Utils    alias Pleroma.Web.CommonAPI    import Pleroma.Factory @@ -1909,7 +1910,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          "visibility" => "local"        }) -    local = Pleroma.Constants.as_local_public() +    local = Utils.as_local_public()      assert %{"content" => "cofe", "id" => id, "visibility" => "local"} =               json_response(conn_one, 200) | 
