- Add content-visibility:auto for native browser rendering optimization
on message bubbles and HTML cards
- Implement backend-powered in-thread search with Unicode-aware
case-insensitive matching (Go strings.ToLower handles Cyrillic/CJK)
- Add ListMessagesAroundID model + /around/{msgid} API endpoint for
windowed message loading around search matches
- Add message caching for instant thread switching without API calls
- Fix scroll position restoration on pagination using anchor element
tracking with double requestAnimationFrame
- Fix client-side thread list sorting by last message timestamp
- Remove FromName display from DM message bubbles (only in groups)
- Add Copy button to message context menu with toast feedback
- Replace JSON-based forwarding with plain text (RFC 5322 compatible)
- Strip Gmail/Outlook reply quotes from incoming messages
- Fix audio player sync: loadedTrackId vs playingTrackId separation
- Add viewport meta override to disable mobile zoom on all inputs
- Add user-select:none to prevent native text selection on long-press
- Resolve participant display names from message history for thread list