forked from AkkomaGang/akkoma
Add Pleroma.Constants.as_local_public/0
This commit is contained in:
parent
a598d5baab
commit
2a475622ee
7 changed files with 8 additions and 6 deletions
|
@ -349,7 +349,7 @@ def pinned_by_actor?(%Activity{} = activity) do
|
||||||
def local_only?(activity) do
|
def local_only?(activity) do
|
||||||
recipients = Enum.concat(activity.data["to"], Map.get(activity.data, "cc", []))
|
recipients = Enum.concat(activity.data["to"], Map.get(activity.data, "cc", []))
|
||||||
public = Pleroma.Constants.as_public()
|
public = Pleroma.Constants.as_public()
|
||||||
local = Pleroma.Web.base_url() <> "/#Public"
|
local = Pleroma.Constants.as_local_public()
|
||||||
|
|
||||||
Enum.member?(recipients, local) and not Enum.member?(recipients, public)
|
Enum.member?(recipients, local) and not Enum.member?(recipients, public)
|
||||||
end
|
end
|
||||||
|
|
|
@ -26,4 +26,6 @@ defmodule Pleroma.Constants do
|
||||||
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)
|
~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.base_url() <> "/#Public"
|
||||||
end
|
end
|
||||||
|
|
|
@ -223,7 +223,7 @@ def announce(actor, object, options \\ []) do
|
||||||
[actor.follower_address]
|
[actor.follower_address]
|
||||||
|
|
||||||
public? and Pleroma.Activity.local_only?(object) ->
|
public? and Pleroma.Activity.local_only?(object) ->
|
||||||
[actor.follower_address, object.data["actor"], Pleroma.Web.base_url() <> "/#Public"]
|
[actor.follower_address, object.data["actor"], Pleroma.Constants.as_local_public()]
|
||||||
|
|
||||||
public? ->
|
public? ->
|
||||||
[actor.follower_address, object.data["actor"], Pleroma.Constants.as_public()]
|
[actor.follower_address, object.data["actor"], Pleroma.Constants.as_public()]
|
||||||
|
|
|
@ -68,7 +68,7 @@ def validate_announcable(cng) do
|
||||||
false <- Visibility.is_public?(object) do
|
false <- Visibility.is_public?(object) do
|
||||||
same_actor = object.data["actor"] == actor.ap_id
|
same_actor = object.data["actor"] == actor.ap_id
|
||||||
recipients = get_field(cng, :to) ++ get_field(cng, :cc)
|
recipients = get_field(cng, :to) ++ get_field(cng, :cc)
|
||||||
local_public = Pleroma.Web.base_url() <> "/#Public"
|
local_public = Pleroma.Constants.as_local_public()
|
||||||
|
|
||||||
is_public =
|
is_public =
|
||||||
Enum.member?(recipients, Pleroma.Constants.as_public()) or
|
Enum.member?(recipients, Pleroma.Constants.as_public()) or
|
||||||
|
|
|
@ -20,7 +20,7 @@ def is_public?(%{"directMessage" => true}), do: false
|
||||||
|
|
||||||
def is_public?(data) do
|
def is_public?(data) do
|
||||||
Utils.label_in_message?(Pleroma.Constants.as_public(), data) or
|
Utils.label_in_message?(Pleroma.Constants.as_public(), data) or
|
||||||
Utils.label_in_message?(Pleroma.Web.base_url() <> "/#Public", data)
|
Utils.label_in_message?(Pleroma.Constants.as_local_public(), data)
|
||||||
end
|
end
|
||||||
|
|
||||||
def is_private?(activity) do
|
def is_private?(activity) do
|
||||||
|
|
|
@ -103,7 +103,7 @@ def get_to_and_cc(%{visibility: "direct"} = draft) do
|
||||||
|
|
||||||
def get_to_and_cc(%{visibility: {:list, _}, mentions: mentions}), do: {mentions, []}
|
def get_to_and_cc(%{visibility: {:list, _}, mentions: mentions}), do: {mentions, []}
|
||||||
|
|
||||||
defp public_uri(%{params: %{local_only: true}}), do: Pleroma.Web.base_url() <> "/#Public"
|
defp public_uri(%{params: %{local_only: true}}), do: Pleroma.Constants.as_local_public()
|
||||||
defp public_uri(_), do: Pleroma.Constants.as_public()
|
defp public_uri(_), do: Pleroma.Constants.as_public()
|
||||||
|
|
||||||
def get_addressed_users(_, to) when is_list(to) do
|
def get_addressed_users(_, to) when is_list(to) do
|
||||||
|
|
|
@ -1752,7 +1752,7 @@ test "posting a local only status" do
|
||||||
"local_only" => "true"
|
"local_only" => "true"
|
||||||
})
|
})
|
||||||
|
|
||||||
local = Pleroma.Web.base_url() <> "/#Public"
|
local = Pleroma.Constants.as_local_public()
|
||||||
|
|
||||||
assert %{"content" => "cofe", "id" => id, "pleroma" => %{"local_only" => true}} =
|
assert %{"content" => "cofe", "id" => id, "pleroma" => %{"local_only" => true}} =
|
||||||
json_response(conn_one, 200)
|
json_response(conn_one, 200)
|
||||||
|
|
Loading…
Reference in a new issue