Merge branch '2257-self-chat' into 'develop'

Resolve "Can't message yourself in a chat (but can start it)"

Closes #2257

See merge request pleroma/pleroma!3099
This commit is contained in:
rinpatch 2020-10-22 10:56:17 +00:00
commit d031b185e2
3 changed files with 16 additions and 0 deletions

View File

@ -47,6 +47,7 @@ switched to a new configuration mechanism, however it was not officially removed
- Add documented-but-missing chat pagination. - Add documented-but-missing chat pagination.
- Allow sending out emails again. - Allow sending out emails again.
- Allow sending chat messages to yourself
## Unreleased (Patch) ## Unreleased (Patch)

View File

@ -306,6 +306,7 @@ def handle_object_creation(%{"type" => "ChatMessage"} = object, meta) do
streamables = streamables =
[[actor, recipient], [recipient, actor]] [[actor, recipient], [recipient, actor]]
|> Enum.uniq()
|> Enum.map(fn [user, other_user] -> |> Enum.map(fn [user, other_user] ->
if user.local do if user.local do
{:ok, chat} = Chat.bump_or_create(user.id, other_user.ap_id) {:ok, chat} = Chat.bump_or_create(user.id, other_user.ap_id)

View File

@ -95,6 +95,20 @@ test "it blocks and does not federate if outgoing blocks are disabled", %{
describe "posting chat messages" do describe "posting chat messages" do
setup do: clear_config([:instance, :chat_limit]) setup do: clear_config([:instance, :chat_limit])
test "it posts a self-chat" do
author = insert(:user)
recipient = author
{:ok, activity} =
CommonAPI.post_chat_message(
author,
recipient,
"remember to buy milk when milk truk arive"
)
assert activity.data["type"] == "Create"
end
test "it posts a chat message without content but with an attachment" do test "it posts a chat message without content but with an attachment" do
author = insert(:user) author = insert(:user)
recipient = insert(:user) recipient = insert(:user)