Skip to main content

Release Notes — May 7, 2026

This release ships the complete In-App Notification System (Phase 7): a real-time in-app notification center, building on the team activity digest email (Phase 6) delivered in the same sprint.

Note: Phase 8 (Desktop Push Notifications via Web Push API / VAPID) was shipped in this release but subsequently removed on 2026-05-25 as part of the GDPR Sprint 5 cleanup (G-05 / D-11). The PushSubscription model, VAPID infrastructure, and browser service worker were all removed. In-app real-time delivery via Socket.io (Phase 7) remains fully operational.


Phase 7 — In-App Notification System

All plans

A real-time notification center accessible from the bell icon (🔔) in the top navigation bar.

Features

  • Unread badge — the bell icon shows a red counter badge for unread notifications
  • Notification Center panel — click the bell to open a dropdown listing all notifications
  • Unread / Read sections — notifications are grouped by read status; unread items appear first
  • Mark All Read — one-click button to mark every notification as read at once
  • Deep links — each notification links directly to the relevant task, project, or time entry
  • Real-time updates — new notifications appear instantly via the live Socket.io connection; no page refresh needed

Notification types

TypeTrigger
Task assignedYou were assigned to a task
Task deadline approachingTask due date is within 3 days
Budget warningProject budget reached 80%
Budget exceededProject budget was fully consumed
Timer alertTimer has been running for 8+ hours
Team member joinedA new member accepted the workspace invite
Role changedYour workspace role was updated

Phase 8 — Desktop Push Notifications (removed 2026-05-25)

Removed: This feature was removed as part of GDPR Sprint 5 (2026-05-25). Web Push notifications relied on Google's FCM infrastructure (a US data processor), which did not align with CADENSA's EU-only data processing commitment. Real-time delivery via Socket.io (Phase 7, already shipped) continues to cover all in-app notification use cases without any third-party involvement.


Phase 6 — Team Activity Digest (shipped in same sprint)

All plans

A weekly email digest summarizing team activity per workspace, delivered every Monday morning. The digest includes:

  • New members who joined the workspace
  • Tasks assigned during the week
  • Notable time-tracking milestones
  • Budget alerts triggered

The digest respects existing email notification preferences and can be disabled from Settings → Notifications → Email.


Summary of changes

LayerChange
Backend InAppNotification.model.tsNew Mongoose model — persists in-app notifications in unit DB
Backend Notification.service.tscreate() — persists notification + delivers via Socket.io (emitToUser)
Backend InAppNotification.model.tsPersists in-app notifications in unit DB
Backend database.tsregisterUnitModels() registers new model
Frontend NotificationCenter.tsxBell icon with unread badge, notification list panel, mark all read

Availability: All plans.

Phase 8 (Web Push) infrastructure (PushSubscription.model.ts, push-subscriptions.routes.ts, web-push package, public/sw.js, push.service.ts, usePushNotifications.ts, VAPID env vars) was removed on 2026-05-25 — see GDPR Sprint 5 release notes.