Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
651a1d64
Commit
651a1d64
authored
Jan 19, 2019
by
Maxim Filippov
🌚
Browse files
Add current user to mentioned
parent
e116e55c
Changes
6
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/twitter_api/representers/activity_representer.ex
View file @
651a1d64
...
...
@@ -155,7 +155,7 @@ def to_map(
repeated
=
opts
[
:for
]
&&
opts
[
:for
]
.
ap_id
in
(
object
[
"announcements"
]
||
[])
pinned
=
activity
.
id
in
user
.
info
.
pinned_activities
mentions
=
opts
[
:mentioned
]
||
[]
mentions
=
get_mentioned_users
(
opts
[
:mentioned
]
||
[]
,
user
)
attentions
=
activity
.
recipients
...
...
@@ -224,6 +224,10 @@ def conversation_id(activity) do
end
end
defp
get_mentioned_users
(
mentioned
,
user
)
do
mentioned
++
[
user
]
end
defp
to_boolean
(
false
)
do
false
end
...
...
test/user_test.exs
View file @
651a1d64
...
...
@@ -672,12 +672,13 @@ test "get recipients from activity" do
"status"
=>
"hey @
#{
addressed
.
nickname
}
@
#{
addressed_remote
.
nickname
}
"
})
assert
[
addressed
]
==
User
.
get_recipients_from_activity
(
activity
)
assert
Enum
.
map
([
actor
,
addressed
],
&
&1
.
ap_id
)
--
Enum
.
map
(
User
.
get_recipients_from_activity
(
activity
),
&
&1
.
ap_id
)
==
[]
{
:ok
,
user
}
=
User
.
follow
(
user
,
actor
)
{
:ok
,
_user_two
}
=
User
.
follow
(
user_two
,
actor
)
recipients
=
User
.
get_recipients_from_activity
(
activity
)
assert
length
(
recipients
)
==
2
assert
length
(
recipients
)
==
3
assert
user
in
recipients
assert
addressed
in
recipients
end
...
...
test/web/activity_pub/activity_pub_test.exs
View file @
651a1d64
...
...
@@ -160,7 +160,7 @@ test "removes doubled 'to' recipients" do
assert
activity
.
data
[
"to"
]
==
[
"user1"
,
"user2"
]
assert
activity
.
actor
==
user
.
ap_id
assert
activity
.
recipients
==
[
"user1"
,
"user2"
]
assert
activity
.
recipients
==
[
"user1"
,
"user2"
,
user
.
ap_id
]
end
end
...
...
test/web/mastodon_api/mastodon_api_controller_test.exs
View file @
651a1d64
...
...
@@ -147,7 +147,7 @@ test "posting a direct status", %{conn: conn} do
assert
%{
"id"
=>
id
,
"visibility"
=>
"direct"
}
=
json_response
(
conn
,
200
)
assert
activity
=
Repo
.
get
(
Activity
,
id
)
assert
activity
.
recipients
==
[
user2
.
ap_id
]
assert
activity
.
recipients
==
[
user2
.
ap_id
,
user1
.
ap_id
]
assert
activity
.
data
[
"to"
]
==
[
user2
.
ap_id
]
assert
activity
.
data
[
"cc"
]
==
[]
end
...
...
test/web/mastodon_api/status_view_test.exs
View file @
651a1d64
...
...
@@ -119,7 +119,9 @@ test "contains mentions" do
status
=
StatusView
.
render
(
"status.json"
,
%{
activity:
activity
})
assert
status
.
mentions
==
[
AccountView
.
render
(
"mention.json"
,
%{
user:
user
})]
actor
=
Repo
.
get_by
(
User
,
ap_id:
activity
.
actor
)
assert
status
.
mentions
==
Enum
.
map
([
user
,
actor
],
fn
u
->
AccountView
.
render
(
"mention.json"
,
%{
user:
u
})
end
)
end
test
"attachments"
do
...
...
test/web/twitter_api/views/activity_view_test.exs
View file @
651a1d64
...
...
@@ -118,9 +118,7 @@ test "a create activity with a note" do
expected
=
%{
"activity_type"
=>
"post"
,
"attachments"
=>
[],
"attentions"
=>
[
UserView
.
render
(
"show.json"
,
%{
user:
other_user
})
],
"attentions"
=>
Enum
.
map
([
other_user
,
user
],
fn
u
->
UserView
.
render
(
"show.json"
,
%{
user:
u
})
end
),
"created_at"
=>
activity
.
data
[
"object"
][
"published"
]
|>
Utils
.
date_to_asctime
(),
"external_url"
=>
activity
.
data
[
"object"
][
"id"
],
"fave_num"
=>
0
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment