Feature/push notification panel integration#69
Merged
ColbySerpa merged 8 commits intomainfrom Sep 23, 2025
Merged
Conversation
- Add PushNotificationSettings interface to settings types - Update useGenericSettings hook to support push_notifications group - Create comprehensive PushNotificationSettings component with: - General enable/disable toggle - Service configuration (worker count, queue size, retry settings) - APNs configuration for iOS push notifications - FCM configuration for Android push notifications - Integrate push notifications panel into AdvancedSettingsLayout - Follow existing settings patterns for consistency - Include proper validation and form handling
- Create proper PushNotificationPanel component in panels directory - Update AdvancedSettingsLayout to use PushNotificationPanel instead of PushNotificationSettings - Fix import path to use correct BaseSettingsPanel location - Follow established panel architecture patterns for consistent UI integration
- Add console.log at component mount to verify if PushNotificationPanel is rendering - Log hook results to check if useGenericSettings is working correctly - These logs will help identify why the panel isn't appearing in the DOM
- Remove savePushNotificationSettings to fix TypeScript warning - Panel uses global save button like other panels without individual save - This warning may have been preventing the component from rendering
- Fix push notification panel visibility by adding to SettingsNavigation and SettingsPage routing - Add comprehensive data transformation logic in useGenericSettings for nested-to-flat field mapping - Fix field naming consistency between PushNotificationSettings and PushNotificationPanel components - Add missing service_batch_size field to complete backend field coverage - Implement bidirectional data transformation for proper save/load functionality - Update settings types to include push_notifications group - Complete integration of all push notification configuration fields: * Main: enabled * Service: worker_count, queue_size, batch_size, retry_attempts, retry_delay * APNs: enabled, key_path, key_id, team_id, bundle_id, production * FCM: enabled, credentials_path, project_id Resolves panel visibility issues and ensures proper data flow between frontend and backend.
- Add kind 1809 to noteOptions in relaySettings.ts - Add translation for kind1809 - Will appear as clickable checkbox in Event Kinds Configuration - Positioned after kind 1808 as they are related - Backend handler already exists for this registered kind
… UI with push notification feature
f7f376a1fcd0d0e11a10ed1b6577c9
approved these changes
Sep 21, 2025
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.
Pull Request: Add Push Notification Settings Panel
Description
This PR implements a comprehensive push notification settings panel for the HORNETS Relay admin interface, enabling administrators to configure push notification services including APNs (Apple Push Notification service) and FCM (Firebase Cloud Messaging) directly from the web UI.
Changes Made
Core Implementation
Added TypeScript types (
src/types/settings.types.ts):PushNotificationSettingsinterface with nested structures for service configuration, APNs, and FCM settingsSettingsGroupNameandSettingsGroupTypemappings to include push notificationsExtended settings hook (
src/hooks/useGenericSettings.ts):push_notificationssettings groupUI Components
Created settings components:
PushNotificationSettings.tsx- Standalone settings page componentPushNotificationPanel.tsx- Panel component for Advanced Settings integrationIntegrated into Advanced Settings Layout (
src/components/settings/layouts/AdvancedSettingsLayout.tsx):Features Implemented
General Configuration:
Service Configuration:
APNs Configuration:
FCM Configuration:
Validation & UX
Testing
Screenshots
[Add screenshots of the push notification panel UI if available]
Related Backend Configuration
This UI implementation corresponds to the push notification configuration structure added to the backend at
settings.push_notifications.Checklist