From 9c725607a1346d7b9d2cef16594848968c90fef0 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Tue, 1 Apr 2025 17:40:11 +0900 Subject: [PATCH 1/7] =?UTF-8?q?fix(misskey-js):=20=E3=83=81=E3=83=A3?= =?UTF-8?q?=E3=83=83=E3=83=88=E3=81=AEChannel=E5=9E=8B=E5=AE=9A=E7=BE=A9?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/misskey-js/etc/misskey-js.api.md | 52 +++++++++++++++++++++- packages/misskey-js/src/streaming.types.ts | 51 ++++++++++++++++++++- 2 files changed, 100 insertions(+), 3 deletions(-) diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md index cc397e2270..246c1e40d5 100644 --- a/packages/misskey-js/etc/misskey-js.api.md +++ b/packages/misskey-js/etc/misskey-js.api.md @@ -813,6 +813,54 @@ export type Channels = { claimTimeIsUp: null | Record; }; }; + chatUser: { + params: { + otherId: string; + }; + events: { + message: (payload: ChatMessageLite) => void; + deleted: (payload: ChatMessageLite['id']) => void; + react: (payload: { + reaction: string; + user?: UserLite; + messageId: ChatMessageLite['id']; + }) => void; + unreact: (payload: { + reaction: string; + user?: UserLite; + messageId: ChatMessageLite['id']; + }) => void; + }; + receives: { + read: { + id: ChatMessageLite['id']; + }; + }; + }; + chatRoom: { + params: { + roomId: string; + }; + events: { + message: (payload: ChatMessageLite) => void; + deleted: (payload: ChatMessageLite['id']) => void; + react: (payload: { + reaction: string; + user?: UserLite; + messageId: ChatMessageLite['id']; + }) => void; + unreact: (payload: { + reaction: string; + user?: UserLite; + messageId: ChatMessageLite['id']; + }) => void; + }; + receives: { + read: { + id: ChatMessageLite['id']; + }; + }; + }; }; // @public (undocumented) @@ -3655,8 +3703,8 @@ type V2AdminEmojiListResponse = operations['v2___admin___emoji___list']['respons // // src/entities.ts:50:2 - (ae-forgotten-export) The symbol "ModerationLogPayloads" needs to be exported by the entry point index.d.ts // src/streaming.ts:57:3 - (ae-forgotten-export) The symbol "ReconnectingWebSocket" needs to be exported by the entry point index.d.ts -// src/streaming.types.ts:217:4 - (ae-forgotten-export) The symbol "ReversiUpdateKey" needs to be exported by the entry point index.d.ts -// src/streaming.types.ts:227:4 - (ae-forgotten-export) The symbol "ReversiUpdateSettings" needs to be exported by the entry point index.d.ts +// src/streaming.types.ts:218:4 - (ae-forgotten-export) The symbol "ReversiUpdateKey" needs to be exported by the entry point index.d.ts +// src/streaming.types.ts:228:4 - (ae-forgotten-export) The symbol "ReversiUpdateSettings" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) diff --git a/packages/misskey-js/src/streaming.types.ts b/packages/misskey-js/src/streaming.types.ts index 8e5438eeb6..10204fb2c9 100644 --- a/packages/misskey-js/src/streaming.types.ts +++ b/packages/misskey-js/src/streaming.types.ts @@ -1,6 +1,7 @@ import { Antenna, ChatMessage, + ChatMessageLite, DriveFile, DriveFolder, Note, @@ -227,7 +228,55 @@ export type Channels = { updateSettings: ReversiUpdateSettings; claimTimeIsUp: null | Record; } - } + }; + chatUser: { + params: { + otherId: string; + }; + events: { + message: (payload: ChatMessageLite) => void; + deleted: (payload: ChatMessageLite['id']) => void; + react: (payload: { + reaction: string; + user?: UserLite; + messageId: ChatMessageLite['id']; + }) => void; + unreact: (payload: { + reaction: string; + user?: UserLite; + messageId: ChatMessageLite['id']; + }) => void; + }; + receives: { + read: { + id: ChatMessageLite['id']; + }; + }; + }; + chatRoom: { + params: { + roomId: string; + }; + events: { + message: (payload: ChatMessageLite) => void; + deleted: (payload: ChatMessageLite['id']) => void; + react: (payload: { + reaction: string; + user?: UserLite; + messageId: ChatMessageLite['id']; + }) => void; + unreact: (payload: { + reaction: string; + user?: UserLite; + messageId: ChatMessageLite['id']; + }) => void; + }; + receives: { + read: { + id: ChatMessageLite['id']; + }; + }; + }; }; export type NoteUpdatedEvent = { id: Note['id'] } & ({ From 84c945eebafa6efc861628f30be6fc276e4e7971 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Tue, 1 Apr 2025 17:40:33 +0900 Subject: [PATCH 2/7] =?UTF-8?q?fix(backend);=20canChat=E3=81=A7=E5=A1=9E?= =?UTF-8?q?=E3=81=84=E3=81=A7=E3=81=84=E3=81=AA=E3=81=84=E6=9B=B8=E3=81=8D?= =?UTF-8?q?=E8=BE=BC=E3=81=BF=E7=B3=BB=E3=81=AEAPI=E3=82=92=E5=A1=9E?= =?UTF-8?q?=E3=81=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/src/server/api/endpoints/chat/messages/delete.ts | 1 + packages/backend/src/server/api/endpoints/chat/messages/react.ts | 1 + .../backend/src/server/api/endpoints/chat/messages/unreact.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/packages/backend/src/server/api/endpoints/chat/messages/delete.ts b/packages/backend/src/server/api/endpoints/chat/messages/delete.ts index 959599ddcf..25fc774d4f 100644 --- a/packages/backend/src/server/api/endpoints/chat/messages/delete.ts +++ b/packages/backend/src/server/api/endpoints/chat/messages/delete.ts @@ -13,6 +13,7 @@ export const meta = { tags: ['chat'], requireCredential: true, + requiredRolePolicy: 'canChat', kind: 'write:chat', diff --git a/packages/backend/src/server/api/endpoints/chat/messages/react.ts b/packages/backend/src/server/api/endpoints/chat/messages/react.ts index 561e36ed19..0145e380be 100644 --- a/packages/backend/src/server/api/endpoints/chat/messages/react.ts +++ b/packages/backend/src/server/api/endpoints/chat/messages/react.ts @@ -13,6 +13,7 @@ export const meta = { tags: ['chat'], requireCredential: true, + requiredRolePolicy: 'canChat', kind: 'write:chat', diff --git a/packages/backend/src/server/api/endpoints/chat/messages/unreact.ts b/packages/backend/src/server/api/endpoints/chat/messages/unreact.ts index 4eb25259fb..b97bad8a9c 100644 --- a/packages/backend/src/server/api/endpoints/chat/messages/unreact.ts +++ b/packages/backend/src/server/api/endpoints/chat/messages/unreact.ts @@ -13,6 +13,7 @@ export const meta = { tags: ['chat'], requireCredential: true, + requiredRolePolicy: 'canChat', kind: 'write:chat', From 682b3127336fcbe8072c4c7e7e69fab63a8af677 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Tue, 1 Apr 2025 17:40:50 +0900 Subject: [PATCH 3/7] =?UTF-8?q?fix(frontend):=20=E3=83=81=E3=83=A3?= =?UTF-8?q?=E3=83=83=E3=83=88=E5=91=A8=E3=82=8A=E3=81=AE=E3=83=95=E3=83=AD?= =?UTF-8?q?=E3=83=B3=E3=83=88=E3=82=A8=E3=83=B3=E3=83=89=E5=9E=8B=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/pages/chat/XMessage.vue | 67 +++++++------ .../frontend/src/pages/chat/home.home.vue | 4 +- .../src/pages/chat/home.invitations.vue | 9 +- .../src/pages/chat/home.joiningRooms.vue | 15 +-- .../src/pages/chat/home.ownedRooms.vue | 10 +- packages/frontend/src/pages/chat/home.vue | 2 +- packages/frontend/src/pages/chat/message.vue | 10 +- .../frontend/src/pages/chat/room.form.vue | 21 +++-- .../frontend/src/pages/chat/room.info.vue | 5 +- .../frontend/src/pages/chat/room.members.vue | 3 +- .../frontend/src/pages/chat/room.search.vue | 3 +- packages/frontend/src/pages/chat/room.vue | 94 ++++++++++++------- .../frontend/src/use/use-mutation-observer.ts | 4 +- 13 files changed, 132 insertions(+), 115 deletions(-) diff --git a/packages/frontend/src/pages/chat/XMessage.vue b/packages/frontend/src/pages/chat/XMessage.vue index 33741b1845..b1be8d5fd4 100644 --- a/packages/frontend/src/pages/chat/XMessage.vue +++ b/packages/frontend/src/pages/chat/XMessage.vue @@ -5,33 +5,28 @@ SPDX-License-Identifier: AGPL-3.0-only