Files
d 8e64585aee feat: proper mail notification system with auto-cleanup
Backend:
- New MailNotification model (models/mail/notification.go) with user_id,
  conversation_id, message_id, from_addr, subject, preview, is_read
- CreateMailNotification on inbound message delivery
- MarkMailNotificationsReadForConversation when user opens conversation
- GetUnreadMailNotificationCount for navbar badge
- ListMailNotifications API endpoint (GET /api/v1/mail/notifications)
- PurgeOldMailNotifications cron job (daily, deletes >30 days old)
- SSE notification-count event now sends real unread count

Frontend:
- Removed playNotificationSound from MailApp (sound handled by Gitea's
  notification system via notification-count SSE event)
- SSE listener still refreshes thread list + active thread on mail-message

Assisted-By: Cline:anthropic-claude-sonnet-4-20250514
2026-07-25 15:18:10 +03:00
..