diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-12-15 03:37:19 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-12-15 03:37:19 +0900 |
| commit | 3e85aad80a882abc764c13a0fc40e3333bb61c4b (patch) | |
| tree | c4ef1a407e5a714dda25cb907bc4d40acb89ec26 /src/server/api/endpoints/messaging/messages.ts | |
| parent | Fix #5637 (#5638) (diff) | |
| download | sharkey-3e85aad80a882abc764c13a0fc40e3333bb61c4b.tar.gz sharkey-3e85aad80a882abc764c13a0fc40e3333bb61c4b.tar.bz2 sharkey-3e85aad80a882abc764c13a0fc40e3333bb61c4b.zip | |
Implement Talk has read federation (#5636)
* Talk read
* fix
* 複数のRead ActivityはCollectionとして送るように
* あ
Diffstat (limited to 'src/server/api/endpoints/messaging/messages.ts')
| -rw-r--r-- | src/server/api/endpoints/messaging/messages.ts | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/api/endpoints/messaging/messages.ts b/src/server/api/endpoints/messaging/messages.ts index b0b3e20d02..ea01086a8b 100644 --- a/src/server/api/endpoints/messaging/messages.ts +++ b/src/server/api/endpoints/messaging/messages.ts @@ -3,10 +3,10 @@ import { ID } from '../../../../misc/cafy-id'; import define from '../../define'; import { ApiError } from '../../error'; import { getUser } from '../../common/getters'; -import { MessagingMessages, UserGroups, UserGroupJoinings } from '../../../../models'; +import { MessagingMessages, UserGroups, UserGroupJoinings, Users } from '../../../../models'; import { makePaginationQuery } from '../../common/make-pagination-query'; import { Brackets } from 'typeorm'; -import { readUserMessagingMessage, readGroupMessagingMessage } from '../../common/read-messaging-message'; +import { readUserMessagingMessage, readGroupMessagingMessage, deliverReadActivity } from '../../common/read-messaging-message'; export const meta = { desc: { @@ -114,6 +114,11 @@ export default define(meta, async (ps, user) => { // Mark all as read if (ps.markAsRead) { readUserMessagingMessage(user.id, recipient.id, messages.filter(m => m.recipientId === user.id).map(x => x.id)); + + // リモートユーザーとのメッセージだったら既読配信 + if (Users.isLocalUser(user) && Users.isRemoteUser(recipient)) { + deliverReadActivity(user, recipient, messages); + } } return await Promise.all(messages.map(message => MessagingMessages.pack(message, user, { |