docs: add comprehensive notification system documentation
- Add GLOSSARY.md with core terminology and cross-references - Add implementation-roadmap.md with 3-phase development plan - Add notification-system.md with Native-First architecture spec - Update ios/Plugin/README.md to reflect actual vs planned implementation status This establishes the foundation for implementing shared SQLite storage, TTL-at-fire enforcement, rolling window safety, and platform completion as outlined in the phased roadmap. Files: 4 changed, 807 insertions(+), 13 deletions(-)
This commit is contained in:
@@ -2,14 +2,34 @@
|
||||
|
||||
This directory contains the iOS-specific implementation of the DailyNotification plugin.
|
||||
|
||||
## Current Implementation Status
|
||||
|
||||
**✅ IMPLEMENTED:**
|
||||
- Basic plugin structure (`DailyNotificationPlugin.swift`)
|
||||
- UserDefaults for local data storage
|
||||
- Power management (`DailyNotificationPowerManager.swift`)
|
||||
- Battery optimization handling
|
||||
- iOS notification categories and actions
|
||||
|
||||
**❌ NOT IMPLEMENTED (Planned):**
|
||||
- `BGTaskScheduler` for background data fetching
|
||||
- Background task management
|
||||
- Silent push nudge support
|
||||
- T–lead prefetch logic
|
||||
|
||||
## Implementation Details
|
||||
|
||||
The iOS implementation uses:
|
||||
The iOS implementation currently uses:
|
||||
|
||||
- `UNUserNotificationCenter` for notification management ✅
|
||||
- `UserDefaults` for local data storage ✅
|
||||
- iOS notification categories and actions ✅
|
||||
- Power management and battery optimization ✅
|
||||
|
||||
**Planned additions:**
|
||||
- `BGTaskScheduler` for background data fetching
|
||||
- `UNUserNotificationCenter` for notification management
|
||||
- `UserDefaults` for local data storage
|
||||
- iOS notification categories and actions
|
||||
- Background task management
|
||||
- Silent push support
|
||||
|
||||
## Native Code Location
|
||||
|
||||
@@ -17,18 +37,28 @@ The native iOS implementation is located in the `ios/` directory at the project
|
||||
|
||||
## Key Components
|
||||
|
||||
1. `DailyNotificationIOS.swift`: Main plugin class
|
||||
2. `BackgroundTaskManager.swift`: Handles background fetch scheduling
|
||||
3. `NotificationManager.swift`: Manages notification creation and display
|
||||
4. `DataStore.swift`: Handles local data persistence
|
||||
1. `DailyNotificationPlugin.swift`: Main plugin class ✅
|
||||
2. `DailyNotificationPowerManager.swift`: Power state management ✅
|
||||
3. `DailyNotificationConfig.swift`: Configuration options ✅
|
||||
4. `DailyNotificationMaintenanceWorker.swift`: Maintenance tasks ✅
|
||||
5. `DailyNotificationLogger.swift`: Logging system ✅
|
||||
|
||||
**Missing Components (Planned):**
|
||||
- `BackgroundTaskManager.swift`: Handles background fetch scheduling
|
||||
- `NotificationManager.swift`: Manages notification creation and display
|
||||
- `DataStore.swift`: Handles local data persistence
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- Uses BGTaskScheduler for reliable background execution
|
||||
- Implements proper battery optimization handling
|
||||
- Supports iOS notification categories and actions
|
||||
- Handles background refresh limitations
|
||||
- Uses UserDefaults for lightweight data storage
|
||||
- Uses UserDefaults for lightweight data storage ✅
|
||||
- Implements proper battery optimization handling ✅
|
||||
- Supports iOS notification categories and actions ✅
|
||||
- Handles background refresh limitations ✅
|
||||
|
||||
**Planned Features:**
|
||||
- BGTaskScheduler for reliable background execution
|
||||
- Silent push notification support
|
||||
- Background task budget management
|
||||
|
||||
## Testing
|
||||
|
||||
|
||||
Reference in New Issue
Block a user