[Servatrice] Relay room channel messages over ISL (#7480)

* [Servatrice] Relay room channel messages over ISL

* [Servatrice] Skip audit log for unknown ISL channel per review

- externalRoomSay drops messages for channels not in the local
  catalog, matching Server_Room::say, instead of logging what was
  never delivered

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-10-16 22:46:40 +02:00 • committed by GitHub
parent ce51e7147d
commit 155f7b0143
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 34 additions and 9 deletions

View file

@ -26,6 +26,7 @@ class Event_UserLeft;
class Event_JoinRoom;
class Event_LeaveRoom;
class Event_RoomSay;
class Event_RoomChannelSay;
class Event_ListGames;
class Event_RemoveMessages;
class Command_JoinGame;
@ -49,7 +50,7 @@ signals:
void externalUserLeft(QString userName);
void externalRoomUserJoined(int roomId, ServerInfo_User userInfo);
void externalRoomUserLeft(int roomId, QString userName);
void externalRoomSay(int roomId, QString userName, QString message);
void externalRoomSay(int roomId, QString userName, QString message, QString channelId);
void externalRoomGameListChanged(int roomId, ServerInfo_Game gameInfo);
void externalRoomRemoveMessages(int roomId, QString userName, int amount);
void joinGameCommandReceived(const Command_JoinGame &cmd, int cmdId, int roomId, int serverId, qint64 sessionId);
@ -79,6 +80,7 @@ private:
void roomEvent_UserJoined(int roomId, const Event_JoinRoom &event);
void roomEvent_UserLeft(int roomId, const Event_LeaveRoom &event);
void roomEvent_Say(int roomId, const Event_RoomSay &event);
void roomEvent_ChannelSay(int roomId, const Event_RoomChannelSay &event);
void roomEvent_ListGames(int roomId, const Event_ListGames &event);
void roomEvent_RemoveMessages(int roomId, const Event_RemoveMessages &event);