From b71e299c8f074911efb1975a7f552187ae031b88 Mon Sep 17 00:00:00 2001 From: zyoshoka <107108195+zyoshoka@users.noreply.github.com> Date: Fri, 18 Apr 2025 23:21:03 +0900 Subject: [PATCH] fix(backend): handle leave message --- .../src/server/api/stream/channels/mahjong-room.ts | 8 ++++++++ packages/misskey-js/src/streaming.types.ts | 1 + 2 files changed, 9 insertions(+) diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index 353d0b5ba7..3388b2f16f 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -56,6 +56,7 @@ class MahjongRoomChannel extends Channel { case 'ready': this.ready(body); break; case 'updateSettings': this.updateSettings(body.key, body.value); break; case 'addAi': this.addAi(); break; + case 'leave': this.leaveRoom(); break; case 'confirmNextKyoku': this.confirmNextKyoku(); break; case 'dahai': this.dahai(body.tile, body.riichi); break; case 'tsumoHora': this.tsumoHora(); break; @@ -98,6 +99,13 @@ class MahjongRoomChannel extends Channel { this.mahjongService.addAi(this.roomId!, this.user); } + @bindThis + private async leaveRoom() { + if (this.user == null) return; + + this.mahjongService.leaveRoom(this.roomId!, this.user); + } + @bindThis private async dahai(tile: number, riichi = false) { if (this.user == null) return; diff --git a/packages/misskey-js/src/streaming.types.ts b/packages/misskey-js/src/streaming.types.ts index 102ad24b24..31ae1b0bce 100644 --- a/packages/misskey-js/src/streaming.types.ts +++ b/packages/misskey-js/src/streaming.types.ts @@ -358,6 +358,7 @@ export type Channels = { body: unknown; }; addAi: Record; + leave: Record; confirmNextKyoku: Record; dahai: { tile: number;