feat(notifications): extend notification system with multiple types #20

Closed
Gravity Bot wants to merge 0 commits from feature/824-notification-types into release/v0.3.1
Contributor

Summary

Extend the notification system beyond invite-only to support multiple notification types.

  • Notification types: invite, dashboard_shared, dashboard_updated, system
  • Type-specific rendering: distinct icons and colors per type
  • Read/unread tracking: is_read and read_at columns, unread count query, mark read/all read methods
  • Generic creation: CreateNotification() for any type, existing SendNotification() preserved for invites
  • UI: unread border highlight, type icons, status badges for responded invites, generic message display

Depends on PR #17 (rename invites to notifications).

Closes OP#824

Test Plan

  • Migration adds type, message, source_user_id, is_read, read_at columns
  • Existing invite notifications still render correctly
  • New notification types display with correct icons
  • Unread notifications show accent border
  • Read/unread state persists
## Summary Extend the notification system beyond invite-only to support multiple notification types. - **Notification types**: `invite`, `dashboard_shared`, `dashboard_updated`, `system` - **Type-specific rendering**: distinct icons and colors per type - **Read/unread tracking**: `is_read` and `read_at` columns, unread count query, mark read/all read methods - **Generic creation**: `CreateNotification()` for any type, existing `SendNotification()` preserved for invites - **UI**: unread border highlight, type icons, status badges for responded invites, generic message display Depends on PR #17 (rename invites to notifications). Closes OP#824 ## Test Plan - [ ] Migration adds type, message, source_user_id, is_read, read_at columns - [ ] Existing invite notifications still render correctly - [ ] New notification types display with correct icons - [ ] Unread notifications show accent border - [ ] Read/unread state persists
refactor: rename invites to notifications
All checks were successful
CI / lint (pull_request) Successful in 1m37s
CI / security (pull_request) Successful in 1m53s
CI / build (pull_request) Successful in 1m57s
CI / test (pull_request) Successful in 2m10s
0162b51642
Rename all "invites" references to "notifications" throughout:
- DB migration: dashboard_invites table → notifications
- Models: DashboardInvite → Notification, InviteView → NotificationView
- Services: SendInvite → SendNotification, etc.
- Handlers: Invites → Notifications, RespondInvite → RespondNotification
- Routes: /invites → /notifications (with legacy redirects)
- Templates: updated sidebar label, icons, and component names
- Tests: updated route assertions

Closes OP#211

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat(notifications): extend notification system with multiple types
All checks were successful
CI / security (pull_request) Successful in 1m7s
CI / build (pull_request) Successful in 2m1s
CI / test (pull_request) Successful in 2m13s
CI / lint (pull_request) Successful in 2m47s
58e2249469
Add notification types (invite, dashboard_shared, dashboard_updated,
system) with type-specific icons/colors, read/unread tracking, and
generic notification creation. Update notifications page with
type-aware rendering, unread indicators, and status badges.

New service methods: CreateNotification, ListNotifications,
UnreadNotificationCount, MarkNotificationRead, MarkAllNotificationsRead.

Closes OP#824

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Gravity Bot closed this pull request 2026-02-17 21:20:20 +00:00
All checks were successful
CI / security (pull_request) Successful in 1m7s
CI / build (pull_request) Successful in 2m1s
CI / test (pull_request) Successful in 2m13s
CI / lint (pull_request) Successful in 2m47s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mike/gashy!20
No description provided.