feat(inbox): add notification preferences settings#1904
Open
forrestchang wants to merge 1 commit intomainfrom
Open
feat(inbox): add notification preferences settings#1904forrestchang wants to merge 1 commit intomainfrom
forrestchang wants to merge 1 commit intomainfrom
Conversation
Add per-type notification preference controls to the Inbox, allowing users to toggle which notification types they receive. This addresses the core pain point of agent-generated status change noise flooding user inboxes. Backend: - New `notification_preference` table (migration 064) with per-user, per-workspace, per-type enabled/disabled toggle - GET/PUT /api/inbox/preferences endpoints for CRUD - notification_listeners.go checks user preferences before creating inbox items, using preloaded per-type batch queries for efficiency - status_changed notifications default to OFF; all others default ON Frontend: - NotificationPreference type and API client methods - TanStack Query options + optimistic mutation hook - Settings dialog accessible via gear icon in Inbox header - Grouped by category: Status, Comments, Assignments, Mentions, Priority, Due dates, Reactions, Agent events, Quick create - Each category shows icon, label, description, and Switch toggle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
status_changednoise flooding user inboxes (now defaults to OFF)Changes
Backend:
notification_preferencetable (migration 064) with per-user, per-workspace, per-type toggleGET /api/inbox/preferencesandPUT /api/inbox/preferencesendpointsnotification_listeners.gochecks preferences before creating inbox items (preloaded batch query for efficiency)status_changeddefaults to OFF; all other types default to ONFrontend:
NotificationPreferencetype + API client methodsInboxNotificationSettingsdialog with 9 grouped categories (Status changes, Comments, Assignments, Mentions, Priority, Due dates, Reactions, Agent events, Quick create)Test plan
Closes MUL-1603