- Connect to the server's /ws multiplexed socket (chat/notifications/board) for
the whole authenticated session. Auth rides the existing cookie jar; no server
changes needed (the server allows clients that send no Origin header).
- Chat now updates live: ConversationViewModel merges messages pushed over the
socket for the open conversation (no more leaving/re-entering to see replies).
- Notifications are now real-time in-app (bell updates instantly); when the app is
backgrounded, incoming alerts and messages raise a system notification via the
same socket. The 15-min WorkManager poll remains as a catch-up safety net.
- Links are now clickable in chat messages, task comments, and descriptions via a
new RichText component (handles <a> anchors and bare http/www URLs).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>