Unread count disappears after refresh
Unread count should be calculated from real unread messages, not temporary frontend state only.
Expected behaviour
If unread messages exist, the sidebar and AI Inbox should show the unread count after refresh, tab change, module change, and page transition.
Check
- Unread state is saved in database.
- Sidebar count loads from backend count.
- Opening a conversation marks messages read only when intended.
- AJAX navigation does not reset the count to zero.