How does our Chat works

All chat related information are stored into database in different tables:

The backend runs the Socket.IO server, enforces auth and permissions, persists messages and emits events.

The frontend runs the Socket.IO client, manages room membership and local UI updates.

We’ve created a ChatContext for chat-level UI and logic state: