feat(mail): windowed rendering, backend search, and UX polish #13

Merged
d merged 1 commits from email-messenger-improvements into main 2026-07-19 17:30:26 +00:00
1 Commits
Author SHA1 Message Date
d 37a22cc1a8 feat(mail): windowed rendering, backend search, and UX polish
- 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
2026-07-19 20:29:20 +03:00