- Add clickable member count in room header that shows a dropdown with
all room members (AI agent + humans) with role badges
- Give each room's AI agent a random name from 10 options (Nova, Atlas,
Sage, etc.), editable when creating the room
- Replace AI text avatar with a robot SVG icon across all components
- Fix broken invite system: add client-side URL routing for /invite/:token,
handle post-login invite acceptance via sessionStorage, and return
room_id from accept_invite endpoint for auto-navigation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Full-stack real-time group chat with Rust/Axum backend and Riot.js frontend.
Features:
- Auth (register/login/JWT), rooms, invites, WebSocket messaging
- AI responses via OpenRouter with tool calling (Brave Search + web fetch)
- Real-time tool usage indicators (searching/reading page)
- Collapsible tool results in message bubbles
- AI stats bar (model, tokens, speed, response time) persisted to DB
- Room soft-delete, /clear command, dynamic model fetching
- Markdown rendering with code highlighting and copy buttons
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>