Handle sensitive property.

This commit is contained in:
lain 2018-02-18 14:14:16 +01:00
parent 20e6190ead
commit 539340d914
4 changed files with 6 additions and 3 deletions

View file

@ -58,7 +58,7 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity}
announcement_count = object["announcement_count"] || 0
tags = object["tag"] || []
sensitive = Enum.member?(tags, "nsfw")
sensitive = object["sensitive"] || Enum.member?(tags, "nsfw")
mentions = activity.data["to"]
|> Enum.map(fn (ap_id) -> User.get_cached_by_ap_id(ap_id) end)

View file

@ -133,7 +133,9 @@ def to_map(%Activity{data: %{"object" => %{"content" => content} = object}} = ac
conversation_id = conversation_id(activity)
tags = activity.data["object"]["tag"] || []
possibly_sensitive = Enum.member?(tags, "nsfw")
possibly_sensitive = activity.data["object"]["sensitive"] || Enum.member?(tags, "nsfw")
tags = if possibly_sensitive, do: ["nsfw" | tags], else: tags
summary = activity.data["object"]["summary"]
content = if !!summary and summary != "" do

View file

@ -36,7 +36,7 @@
"inReplyTo": null,
"inReplyToAtomUri": null,
"published": "2018-02-12T14:08:20Z",
"sensitive": false,
"sensitive": true,
"summary": "cw",
"tag": [
{

View file

@ -33,6 +33,7 @@ test "it works for incoming notices" do
]
assert object["actor"] == "http://mastodon.example.org/users/admin"
assert object["attributedTo"] == "http://mastodon.example.org/users/admin"
assert object["sensitive"] == true
end
test "it works for incoming follow requests" do