Problem summary:
- The server calls joinRoom() for a connected user;
- On the server side, the user successfully joins the target room;
- However, on the client side, the SFSEvent.ROOM_JOIN event is never fired;
- Additionally, sfs.LastJoinedRoom is null (before joinRoom() it returns Lobby), and sfs.RoomManager.GetJoinedRooms() (this also returns Lobby before joinRoom()) returns an empty list;
- The client is properly subscribed to SFSEvent.ROOM_JOIN before the joinRoom() call;
- No ROOM_JOIN_ERROR events are triggered.
Additional details:
- Client and server versions match, using the latest stable API versions;
- Server logs confirm that the user successfully joins the room;
- The client can send ExtensionRequest() messages, and the server handles them correctly as if the user is part of the room;
- It started happening suddenly. No changes have been made that would cause this. Everything worked fine for a long time.
Question:
What else could cause this desynchronization between the server and client regarding room joining?
Are there any known bugs, edge cases, or special requirements that could lead to this behavior?
Any help or ideas would be greatly appreciated.
Thanks in advance!