Repository navigation
Notification history, test send, per-status sound, and high-contrast theme - #744
Open
martinzhames wants to merge 4 commits into
Open
martinzhames wants to merge 4 commits into
martinzhames wants to merge 4 commits into
Conversation
…ion" button to Notificatio Closes stellar-vortex-protocol#614
…ion instead of one global Closes stellar-vortex-protocol#615
|
@martinzhames Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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
Notification history, test send, per-status sound, and high-contrast theme
What was solved
#613 — [Medium] Add a notification history/inbox panel
Add a bounded local notification history recorded at the point the dispatcher actually decides to notify, plus an inbox-style panel (accessible from NotificationSettings) that lists recent entries with links to their intent href. History is local-only, capped (e.g. 50), and excludes suppressed/quiet-hours notifications.
Addressed:
#614 — [Trivial] Add a "send test notification" button to NotificationSettings
Add a "Send test notification" button to NotificationSettings that builds a sample FeedItem-shaped payload and runs it through the existing decideChannels/buildNotificationBody dispatch pipeline, with a clearly-marked "Test:" body prefix, respecting quiet hours like a real notification.
Addressed:
#615 — [Medium] Add per-status sound selection instead of one global sound toggle
Extend notification preferences so sound can be enabled/disabled per intent status instead of a single global toggle, with a migration-safe default that preserves existing users' flat channels.sound value across all statuses. Update the dispatcher to consult per-status sound settings and add per-status controls in NotificationSettings, including i18n strings and tests.
Addressed:
#616 — [Medium] Add a high-contrast theme variant
Extend SettingsPanel's theme preference with a high-contrast option: add "high-contrast" to ThemePreference, handle it in applyTheme/resolveTheme without breaking system fallback, add a third option with i18n strings, and add an html[data-theme="high-contrast"] CSS variant in globals.css using WCAG AAA contrast via custom-property substitution only. Addressed: Changed: src/components/SettingsPanel.tsx, src/app/globals.css Add "high-contrast" to the ThemePreference type in src/components/SettingsPanel.tsx Update applyTheme and resolveTheme to handle "high-contrast" while preserving existing system-preference fallback via matchMedia Add a third option to SettingsPanel's theme for high-contrast
Changes
src/components/NotificationSettings.tsx(modify)src/app/globals.css(modify)src/lib/notifications/dispatcher.ts(modify)src/components/SettingsPanel.tsx(modify)src/store/notificationPreferences.ts(modify)Approach
Issues
Closes #613
Closes #614
Closes #615
Closes #616