aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2019-06-01 03:23:21 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2019-06-01 03:24:08 +0000
commitf2efe24cf8b668de160bb893d2b40a7c6151ba78 (patch)
tree31049fa87f04f862294b9867ce56418e71f7c743
parentab3f3af7cff831acde2d612d593593f4cc843542 (diff)
downloadpleroma-f2efe24cf8b668de160bb893d2b40a7c6151ba78.tar.gz
visibility: if litepub:directMessage is asserted, always report the object as "direct" visibility
-rw-r--r--lib/pleroma/web/activity_pub/visibility.ex3
-rw-r--r--test/web/activity_pub/visibilty_test.exs4
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/visibility.ex b/lib/pleroma/web/activity_pub/visibility.ex
index 93b50ee47..8965e3253 100644
--- a/lib/pleroma/web/activity_pub/visibility.ex
+++ b/lib/pleroma/web/activity_pub/visibility.ex
@@ -66,6 +66,9 @@ defmodule Pleroma.Web.ActivityPub.Visibility do
Enum.any?(to, &String.contains?(&1, "/followers")) ->
"private"
+ object.data["directMessage"] == true ->
+ "direct"
+
length(cc) > 0 ->
"private"
diff --git a/test/web/activity_pub/visibilty_test.exs b/test/web/activity_pub/visibilty_test.exs
index e2584f635..466d980dc 100644
--- a/test/web/activity_pub/visibilty_test.exs
+++ b/test/web/activity_pub/visibilty_test.exs
@@ -117,4 +117,8 @@ defmodule Pleroma.Web.ActivityPub.VisibilityTest do
assert Visibility.get_visibility(direct) == "direct"
assert Visibility.get_visibility(unlisted) == "unlisted"
end
+
+ test "get_visibility with directMessage flag" do
+ assert Visibility.get_visibility(%{data: %{"directMessage" => true}}) == "direct"
+ end
end