From 404a3edab9e99c382995aac8c2b113cf06cdaefe Mon Sep 17 00:00:00 2001 From: Nick Kosarev Date: Sat, 18 Jan 2025 16:34:43 +0000 Subject: [PATCH] fix: room generate --- apps/website/server/core/rooms/wagon.ts | 5 +++-- apps/website/server/plugins/04.startWagonRoom.ts | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/website/server/core/rooms/wagon.ts b/apps/website/server/core/rooms/wagon.ts index 85fefaea..eeddf881 100644 --- a/apps/website/server/core/rooms/wagon.ts +++ b/apps/website/server/core/rooms/wagon.ts @@ -80,10 +80,11 @@ export class WagonRoom extends BaseRoom { } async reboot() { - await WagonRoom.generate({ chunksCount: 6, roomId: this.id }) + if (this.status !== 'ACTIVE') { + return + } sendMessage({ type: 'ROOM_DESTROYED', data: { id: this.id } }, this.token) - this.status = 'FINISHED' } diff --git a/apps/website/server/plugins/04.startWagonRoom.ts b/apps/website/server/plugins/04.startWagonRoom.ts index 85078379..aa7f63fd 100644 --- a/apps/website/server/plugins/04.startWagonRoom.ts +++ b/apps/website/server/plugins/04.startWagonRoom.ts @@ -19,12 +19,12 @@ export default defineNitroPlugin(async () => { } if (!activeRooms.find((room) => room.id === wagonRoomId)) { - rebootRoom() + void rebootRoom() setInterval(() => { const room = activeRooms.find((room) => room.id === wagonRoomId) as WagonRoom if (room.status === 'FINISHED') { - rebootRoom() + void rebootRoom() } }, 5000) } @@ -36,11 +36,12 @@ export default defineNitroPlugin(async () => { logger.success('Wagon rooms created') }) -function rebootRoom() { - const room = new WagonRoom({ id: wagonRoomId, token: wagonRoomId }) +async function rebootRoom() { if (activeRooms.find((room) => room.id === wagonRoomId)) { activeRooms.splice(activeRooms.findIndex((room) => room.id === wagonRoomId), 1) } - activeRooms.push(room) + await WagonRoom.generate({ chunksCount: 6, roomId: wagonRoomId }) + + activeRooms.push(new WagonRoom({ id: wagonRoomId, token: wagonRoomId })) }