Bugs
Complete

Header notification bell doesn't show unread indicator until after the user clicks it

## Bug The notification bell in the site header doesn't display its **unread indicator dot** on page load — the dot only appears **after** the user opens the bell. This defeats the purpose of the indicator: users never know they have unread notifications, so they never click, so they never see the dot. ## Expected - On any page load (or navigation), if the current user has unread notifications, the bell shows an unread indicator (dot / badge with count). - Opening the bell can mark notifications as read and clear the dot — not the reverse. - Real-time update is nice-to-have but not required for this fix; a fetch on mount is enough. ## Reproduction 1. Log in as a user who has unread notifications (trigger one — e.g. receive an event RSVP or a group-join request). 2. Reload any page where the header is visible. 3. Observe: bell shows no dot. 4. Click the bell — the panel opens and **now** the dot appears on the icon. 5. Close the panel, navigate to another page — dot gone again until clicked. ## Likely root cause The unread count is being fetched only when the notification panel mounts (lazy, on-click), instead of being fetched by the header component itself on mount. Candidate fix locations: - The notification store / hook (`useNotifications` or similar) isn't subscribed-to until the panel opens. - `GET /v1/notifications` (or the unread-count endpoint) is called inside the panel component, not at header level. - If the unread count state is panel-scoped instead of app-scoped, moving it up to the header / layout will fix it. ## Fix direction - Header mounts → fire the unread-count fetch immediately. - Store the count in a higher-up state (app store / context) so the bell icon reads it without mounting the panel. - Keep the panel's own fetch for the full notification list, but have it hydrate (not initialize) the unread count. - Bonus: consider polling every N seconds or subscribing to a realtime channel if available, so the dot appears without a reload when a new notification arrives. ## Impact - Users miss incoming notifications (RSVP replies, join requests, event changes). - Defeats the whole notification surface; the feature looks broken. ## Found by Manual testing

0 Comments

Sign in to comment

No comments yet. Be the first to share your thoughts!