summaryrefslogtreecommitdiff
path: root/packages/backend
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-04-02 22:29:37 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-04-02 22:29:37 -0400
commit5e941385db2f4e26ca6a827fe8bc2d4806c2dbc3 (patch)
treefcbc5293620ed6e0a7be9685983ffc0a4c9a93ff /packages/backend
parentmerge from misskey-develop (diff)
parentfix(backend/chat): 自分が作ったチャットルームに他人がメッ... (diff)
downloadsharkey-5e941385db2f4e26ca6a827fe8bc2d4806c2dbc3.tar.gz
sharkey-5e941385db2f4e26ca6a827fe8bc2d4806c2dbc3.tar.bz2
sharkey-5e941385db2f4e26ca6a827fe8bc2d4806c2dbc3.zip
Merge branch 'misskey-develop' into merge/2025-03-24
Diffstat (limited to 'packages/backend')
-rw-r--r--packages/backend/src/core/ChatService.ts10
1 files changed, 8 insertions, 2 deletions
diff --git a/packages/backend/src/core/ChatService.ts b/packages/backend/src/core/ChatService.ts
index df1c384b54..6194f624b1 100644
--- a/packages/backend/src/core/ChatService.ts
+++ b/packages/backend/src/core/ChatService.ts
@@ -211,9 +211,15 @@ export class ChatService {
file?: MiDriveFile | null;
uri?: string | null;
}): Promise<Packed<'ChatMessageLite'>> {
- const memberships = await this.chatRoomMembershipsRepository.findBy({ roomId: toRoom.id });
+ const memberships = (await this.chatRoomMembershipsRepository.findBy({ roomId: toRoom.id })).map(m => ({
+ userId: m.userId,
+ isMuted: m.isMuted,
+ })).concat({ // ownerはmembershipレコードを作らないため
+ userId: toRoom.ownerId,
+ isMuted: false,
+ });
- if (toRoom.ownerId !== fromUser.id && !memberships.some(member => member.userId === fromUser.id)) {
+ if (!memberships.some(member => member.userId === fromUser.id)) {
throw new Error('you are not a member of the room');
}