- Swift agent: Add Contacts framework integration
- Load contacts on startup with phone/email indexing
- Look up contact names for conversation display names
- Sync contacts to server via /api/sync/contacts
- Remove LIMIT 100 on getConversations (fetch all)
- Backend: Improve sync data resolution
- Auto-create Contact entities from participant identifiers
- Store resolved UUIDs in participantIds (not raw phone/email)
- Resolve message senderId to Contact UUIDs
- Return participants array with conversations
- Remove default limits on findAll/getMessages
- Add /api/sync/stats endpoint for device stats
- Devtools: Add reset-sync-data.sh and show-sync-stats.sh
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>