- When a user joins, their name is stored and a “user-joined” event is emitted to other connected clients.
- Messages are sent using a “receive” event handled by client-side rendering logic.
- A “left” event is emitted and displayed when a user exits the chat.