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:
Matthew Raymer
2025-09-08 08:57:36 +00:00
parent 9f8a8e60a9
commit 3a181632d1
7 changed files with 903 additions and 13 deletions

View File

@@ -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
- Tlead 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