From 22d4e5bfb0346ef63d26ee1dee7832ece06f4238 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Mon, 11 May 2026 21:10:04 +0200 Subject: [PATCH] SocketConnection parser cast + RoomChatHandler arg-order fix - SocketConnection.processMessage() did 'new events[0].parserClass()' where parserClass is typed as 'Function' on IMessageEvent (no construct signature). Cast to 'new () => IMessageParser' at the call site so the spawned instance is type-correct downstream. - RoomChatHandler dispatched RoomSessionChatEvent with the args in the wrong order: '[]' (intended as the 'links' array) was landing in the 'chatColours' string slot. Swap to '"", []' so links go to position 8 and chatColours stays a string. --- packages/communication/src/SocketConnection.ts | 4 ++-- packages/session/src/handler/RoomChatHandler.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/communication/src/SocketConnection.ts b/packages/communication/src/SocketConnection.ts index f0027fe..87ab694 100644 --- a/packages/communication/src/SocketConnection.ts +++ b/packages/communication/src/SocketConnection.ts @@ -1,4 +1,4 @@ -import { ICodec, IConnection, IMessageComposer, IMessageConfiguration, IMessageDataWrapper, IMessageEvent, WebSocketEventEnum } from '@nitrots/api'; +import { ICodec, IConnection, IMessageComposer, IMessageConfiguration, IMessageDataWrapper, IMessageEvent, IMessageParser, WebSocketEventEnum } from '@nitrots/api'; import { GetConfiguration } from '@nitrots/configuration'; import { GetEventDispatcher, NitroEvent, NitroEventType, ReconnectEvent } from '@nitrots/events'; import { NitroLogger } from '@nitrots/utils'; @@ -509,7 +509,7 @@ export class SocketConnection implements IConnection try { - const parser = new events[0].parserClass(); + const parser = new (events[0].parserClass as new () => IMessageParser)(); if(!parser || !parser.flush() || !parser.parse(wrapper)) return null; diff --git a/packages/session/src/handler/RoomChatHandler.ts b/packages/session/src/handler/RoomChatHandler.ts index f901ef3..c7b9278 100644 --- a/packages/session/src/handler/RoomChatHandler.ts +++ b/packages/session/src/handler/RoomChatHandler.ts @@ -168,6 +168,6 @@ export class RoomChatHandler extends BaseHandler if(!parser) return; - GetEventDispatcher().dispatchEvent(new RoomSessionChatEvent(RoomSessionChatEvent.CHAT_EVENT, session, session.ownRoomIndex, '', RoomSessionChatEvent.CHAT_TYPE_MUTE_REMAINING, SystemChatStyleEnum.GENERIC, [], null, parser.seconds)); + GetEventDispatcher().dispatchEvent(new RoomSessionChatEvent(RoomSessionChatEvent.CHAT_EVENT, session, session.ownRoomIndex, '', RoomSessionChatEvent.CHAT_TYPE_MUTE_REMAINING, SystemChatStyleEnum.GENERIC, '', [], parser.seconds)); } }