Marcel
f568c0aeb7
feat(#71,#72,#73): SSE push notifications, mention chips, deep-link fixes
- Add SseEmitterRegistry (ConcurrentHashMap, one emitter per user)
- Add GET /api/notifications/stream SSE endpoint and unread-count endpoint
- Push SSE event on every notifyReply / notifyMentions via saveAndPush()
- Collapse V18/V19 migrations into V16 (actor_name + annotation_id upfront)
- Add @Schema(requiredMode=REQUIRED) to NotificationDTO required fields
- Switch NotificationBell from polling to EventSource; seed unread count on open
- Fix MentionEditor: replace setTimeout with await tick(); div role=option
- Add aria-modal=true to NotificationBell dialog
- Tests: SseEmitterRegistryTest (3), NotificationServiceTest (+2), NotificationControllerTest (+5)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 15:41:35 +01:00
..
2026-03-26 22:52:12 +01:00
2026-03-28 15:41:35 +01:00
2026-03-25 13:47:56 +01:00
2026-03-27 17:05:26 +01:00
2026-03-23 23:27:21 +01:00
2026-03-28 11:44:51 +01:00
2026-03-28 11:46:27 +01:00
2026-03-28 00:31:38 +01:00
2026-03-26 18:19:38 +01:00
2026-03-27 20:37:22 +01:00
2026-03-26 18:43:48 +01:00
2026-03-27 16:36:15 +01:00
2026-03-25 13:47:56 +01:00
2026-03-25 13:47:56 +01:00
2026-03-27 17:03:40 +01:00
2026-03-28 15:41:35 +01:00
2026-03-28 15:41:35 +01:00
2026-03-27 20:37:22 +01:00
2026-03-27 16:07:37 +01:00
2026-03-27 16:07:37 +01:00
2026-03-25 13:47:56 +01:00
2026-03-26 12:47:08 +01:00
2026-03-23 19:10:02 +01:00
2026-03-25 13:47:56 +01:00
2026-03-22 12:34:56 +01:00
2026-03-26 15:17:47 +01:00
2026-03-22 12:34:56 +01:00
2026-03-25 13:47:56 +01:00
2026-03-22 12:34:56 +01:00
2026-03-25 13:47:56 +01:00