Hello,
Here are some food for thought :
-
you can use only one channel or several channels, it depends on how you want to manage you chat, but it's better to have one channel per chat room, it will be easier to organize and handle back- and frontend
-
for each new message, you should broadcast the message via the websocket (Reverb) only to the authorized users, that means (probably) to all public channels and to the authorized private channels
-
if a user is not i the first 10 paginated conversations and sends a message, he sends a message in the certain channel (public / private) and then you broadcast the message to the authorized users, if the message is added to the 11th conversation, you can for example notificate the connected users that there is a new message in another conversation (green circle ? other icon ? to show the conversations with new messages)