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
..
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2026-07-25 15:18:10 +03:00
2026-05-02 17:21:56 +02:00
2026-04-24 16:02:37 +08:00
2026-03-29 10:24:30 +00:00
2026-03-29 10:24:30 +00:00
2026-03-21 15:39:47 -07:00
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2026-04-26 16:37:03 +00:00
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2026-01-24 11:30:47 +00:00
2026-07-19 20:40:20 +03:00
2025-12-03 02:13:16 +00:00
2026-07-19 20:40:20 +03:00
2026-05-29 23:50:55 +00:00
2026-05-21 07:39:09 +00:00
2025-01-16 04:26:17 +08:00
2026-07-19 20:40:20 +03:00
2025-07-01 21:44:05 +08:00
2025-04-15 22:35:22 +08:00
2026-04-20 07:22:05 +00:00
2026-06-18 20:47:52 +00:00
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2026-02-22 22:56:33 +00:00
2026-07-18 19:36:17 +00:00
2026-07-19 20:40:20 +03:00
2025-12-03 02:13:16 +00:00
2025-09-11 01:50:17 +02:00
2026-03-23 07:49:25 +00:00
2026-03-29 10:24:30 +00:00
2026-04-23 13:58:31 +00:00
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2026-04-24 16:02:37 +08:00
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2025-03-24 20:26:58 -07:00
2026-07-19 20:40:20 +03:00
2026-04-13 18:53:55 +00:00
2024-07-07 15:32:30 +00:00
2025-02-28 00:58:25 +00:00
2026-07-19 20:40:20 +03:00
2026-04-24 16:02:37 +08:00
2024-07-07 15:32:30 +00:00
2026-03-29 10:24:30 +00:00
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2026-07-19 20:40:20 +03:00
2026-04-20 07:22:05 +00:00
2026-07-22 18:48:39 +00:00
2026-07-19 20:40:20 +03:00
2026-03-31 10:03:52 +08:00
2026-04-30 22:38:05 +08:00
2026-03-31 10:03:52 +08:00
2026-03-31 10:03:52 +08:00
2026-07-19 20:40:20 +03:00
2026-05-05 15:54:07 +00:00
2025-12-03 02:13:16 +00:00
2025-12-03 02:13:16 +00:00
2025-12-03 02:13:16 +00:00
2026-06-07 10:33:16 +00:00
2026-07-19 20:40:20 +03:00
2025-12-17 02:01:19 +00:00
2026-07-19 20:40:20 +03:00
2026-06-11 17:33:21 +00:00
2026-05-02 16:10:52 +00:00
2026-04-20 07:22:05 +00:00
2026-05-11 05:25:26 +00:00
2025-12-03 02:13:16 +00:00
2025-12-03 02:13:16 +00:00
2025-12-03 02:13:16 +00:00
2025-12-03 02:13:16 +00:00
2026-03-27 11:49:11 +01:00
2025-12-03 02:13:16 +00:00
2026-04-20 22:32:45 +00:00
2026-07-18 19:36:17 +00:00
2026-07-18 19:36:17 +00:00
2026-07-19 20:40:20 +03:00
2026-04-01 12:50:57 +00:00
2026-06-13 21:24:09 +03:00
2025-12-03 02:13:16 +00:00