Description
Enhance the real-time chat with collaborative presence features: multi-device sync indicators, read-by timestamps, and online presence for chat partners.
Requirements
- Show "Active now" indicator in chat header (real-time via WebSocket)
- Read-by timestamps: show "Seen at [time]" on the last read message
- Multi-device: show when user is active on multiple devices
- Chat partner's last seen time when offline
- Typing indicator improvements: show avatar, auto-dismiss after 10s
- Message delivery confirmations: checkmark (sent), double-checkmark (delivered), blue (read)
- Presence websocket: dedicated consumer for presence updates
Files to Modify
- linkup/messaging/consumers.py - Add presence broadcast to ChatConsumer
- linkup/messaging/presence_manager.py - Enhance with multi-device tracking
- linkup/messaging/models.py - Add last_read_at to Message model
- linkup/messaging/views.py - Add read-by timestamp API
- linkup/static/js/chat.js - Update UI for presence indicators and read receipts
- linkup/templates/messaging/chat.html - Add presence UI elements
Acceptance Criteria
Description
Enhance the real-time chat with collaborative presence features: multi-device sync indicators, read-by timestamps, and online presence for chat partners.
Requirements
Files to Modify
Acceptance Criteria