Currently, within Chatkit, there is a limit of 1,000 rooms that a user can be a member of. The reason for this is that, beyond that number, we are aware that customers may start to encounter issues with some of Chatkit's functionality. To prevent these issues, when a user connects to Chatkit we only send unread counts and last message id's for a maximum of 1000 rooms
We are aware that this restriction may be problematic for some of our customers and it is something we are actively reviewing and looking to resolve. An example use case would be a tutor who has on-going 1-to-1 open chats with many (1000+) students.
As best practice we would always recommend that a user leaves a room when the chat is deemed completed. If this is not possible and a user needs to remain a member of more than 1,000 rooms then, taking the tutor/student use-case above, we suggest that at the point the chat is deemed complete the tutor is removed from the room. If the room names are configured to be tutorid:studentid then, when the student posts a message you can use a Message Created Webhook to detect that the message has been sent and then add the tutor back into the relevant room, using the studentid from the webhook body to identify the appropriate room.
This will mean that the tutor will only be a member of rooms which have active conversations taking place and will only be re-added to a room when a student posts a message.
As discussed this limitation is something we are aware of and are actively working to resolve, as such, if you have a use case which the suggestion above will not work for we would be very keen to hear from you via our support page: https://support.pusher.com/hc/en-us/requests/new