Notifications | Cine Power Planner

Notifications

Stay informed with alerts for collaboration, sync, and calendar events

Overview

The Notification Center provides a unified feed for all application alerts — collaboration updates, sync status changes, calendar reminders, and system messages.

Requirements

Functional Requirements

IDRequirementAcceptance CriteriaPrioritySource
REQ-NOT-001The system shall display a notification bell icon with unread count badge in the sidebarBell icon visible in sidebar; unread count badge shows correct number; 0 unread → badge hidden; new notification → count incrementsMustnotifications
REQ-NOT-002The system shall show notifications in reverse-chronological order with icon, title, timestamp, and action linkClick bell → list opens; newest first; each entry shows icon + title + time + clickable link; empty → "No notifications" messageMustnotifications
REQ-NOT-003The system shall support mark-as-read (individual and bulk), and dismiss (individual)Click notification → marked as read; "Mark All Read" → all cleared; dismiss → notification removed from list permanentlyMustnotificationCenterService
REQ-NOT-004The system shall support browser push notifications via Web Push API (VAPID-based)Trigger event → notification appears; dismiss → removed; action link → navigates correctlyMustnotifications
REQ-NOT-005The system shall auto-subscribe to push notifications on login (usePushSubscription in data-management; native path via pushService)Trigger event → notification appears; dismiss → removed; action link → navigates correctlyShouldnotifications
REQ-NOT-006The system shall allow configuring email notification preferences per event type (invitations, edits, comments, reminders)Trigger event → notification appears; dismiss → removed; action link → navigates correctlyShouldnotifications
REQ-NOT-007The system shall remove push subscription from server immediately when user disables pushDisable push → subscription removed server-side; no further push messages received; re-enable → re-subscribesMustnotifications
REQ-NOT-008The system shall deliver push notifications via a server-side edge function (not client-side)Event triggers → edge function sends push; notification appears on user's device/browser; payload includes title, body, action URLMustsend-push-notification
REQ-NOT-009The system shall deliver email notifications via a server-side edge function with templated contentEvent triggers → edge function sends email; email arrives with branded template; unsubscribe link includedShouldsend-email-notification

Non-Functional Requirements

IDRequirementMetricPriority
NFR-NOT-001Toast notifications shall auto-dismiss after 5 secondsUX timingShould
NFR-NOT-002Notification center shall batch ≤50 notifications without performance degradationRender perfShould

Data Requirements

  • Notification store: In-memory + IndexedDB for persistence
  • Push subscription: Stored on server (Supabase) linked to user ID and device ID
  • Email preferences: Stored in user profile (cloud-synced)

Constraints & Limits

  • Push notifications require cloud sync (signed-in user)
  • Browser must support Web Push API (Chrome, Firefox, Edge, Safari 16+)
  • Service Worker must be registered (automatic on PWA install)
  • Email notifications require verified email address

Offline Behavior

  • In-app notification center is available offline (reads from local store)
  • Push notifications require network connectivity
  • Notifications generated while offline are queued and delivered on reconnect

Dependencies


Accessing Notifications

Click the bell icon (🔔) in the sidebar. A badge shows the count of unread notifications.

Notification Types

notificationConfig.js defines 47 notification types (plus toast, which is transient and never enters the centre). They are not organised by the five-way scheme this page used to show — that taxonomy matched neither the registry nor the panel. What actually groups them is the tab each type is filtered into:

TabTypesCovers
AlleveryNo filter
Mentions3mention, reply, chat
Activity15sync and versioning, import/export, conflicts, maintenance, insurance expiry, approvals, timesheets, contract signatures
Gear7the gear-request lifecycle — requested, quoted, confirmed, declined, expired, renegotiated, partial
Invites1invite

21 of the 47 types are reachable only under All. Every accounting notification (invoice paid or part-paid, Mahnung issued / withdrawn / due, quote accepted / declined / converted), sub-rental status, the pickup, return and departure reminders, the FinTS renewal reminder described below, crew requests and acceptances, overdue missing items, policy expiry and device-report decisions all fall outside every named tab. If you filter, you will not see them — check All.

Banking: bank connection renewal reminders

A FinTS bank connection stays authorised for about 150 days, after which the bank stops it until you confirm with a fresh TAN. You get a reminder in the notification centre once the renewal is 14 days or less away, so you can re-authenticate before transaction sync actually stops.

You get one reminder per connection per renewal cycle — it refreshes in place as the deadline approaches rather than stacking a new entry each day, and reconnecting starts a fresh cycle. They are muted with the rest of the in-app notifications; there is no per-category Banking toggle in Settings → General → Notifications.

Once the window has already elapsed the reminder stops and the connection shows a re-authentication banner on Settings → Accounting → Banking instead.

Notification Center

Viewing Notifications

The notification panel shows a chronological list with:

  • Icon: Visual indicator of notification type
  • Title: Brief summary of the event
  • Timestamp: When the notification was created
  • Action: Link to the relevant feature or project

Filtering Notifications

Use the tab bar at the top of the notification panel to filter by category:

TabShows
AllEvery notification
MentionsComments or messages where you were @-mentioned
ActivityProject edits, collaborator joins, sync events
GearGear status changes, rental updates, equipment alerts
InvitesProject invitation and access requests

Managing Notifications

  • Mark as read: Click a notification to mark it as read
  • Mark all as read: Click the checkmark icon to clear all unread badges
  • Dismiss: Swipe or click × to remove individual notifications

Push Notifications

Receive browser push notifications even when the app is in the background.

Enabling Push Notifications

  1. Go to Settings → General → Notifications
  2. Under Notification Preferences, toggle Enable browser notifications on
  3. Accept the browser permission prompt
  4. Notifications will appear as system notifications on your device

Requirements

  • Cloud Sync must be enabled (push notifications require a server connection)
  • Browser must support the Web Push API (Chrome, Firefox, Edge, Safari 16+)
  • Service Worker must be registered (happens automatically)

Disabling Push

Toggle Enable browser notifications off in Settings → General → Notifications. Your subscription is removed from the server immediately.

Email Notifications

Configure email alerts for collaboration events:

  1. Go to Settings → General → Notifications
  2. In the Email Notifications card (shown once you are signed in), toggle:
ToggleWhat it controls
Email notificationsCollaboration email — invites and @-mentions (email_notifications_enabled)
Gear-request emailsGear-request and crew-connection correspondence (gear_request_emails_enabled)
Marketing & product emailsProduct news; the consent wording you agreed to is shown under the toggle

There is no "Email Preferences" sub-page, and no per-event matrix. This guide listed one — with rows for project invitations, collaborator edits, comments and calendar reminders — until 2026-09-08. The three toggles above are what the card renders.

Tips

  1. Enable push for shared projects: Don't miss when collaborators make changes
  2. Use email sparingly: Turn on only for critical events to avoid inbox noise
  3. Check the bell regularly: In-app notifications don't require push or email
  4. Calendar reminders: Set these to remind you about equipment pickups and returns

Last Updated: 2026-09-08 Version: 0.790.2