Matthew Raymer
38fa249d95
feat: implement low-priority TODO items
...
Complete 4 low-priority TODO items from TODO review.
Changes:
- iOS: Track notify execution
- Added saveLastNotifyExecution/getLastNotifyExecution to DailyNotificationStorage
- Track execution time in handleNotificationDelivery()
- Return tracked time in getBackgroundTaskStatus()
- Removed TODO at line 1473
- iOS TypeScript Bridge: Implement iOS-specific methods
- initialize(): Delegates to native plugin configure()
- checkPermissions(): Delegates to native plugin getNotificationPermissionStatus()
- requestPermissions(): Delegates to native plugin requestNotificationPermissions()
- Removed 3 TODOs (lines 26, 37, 52)
- Android: TimeSafariIntegrationManager initialization
- Added integrationManager property to plugin
- Added initialization placeholder (deferred - requires many dependencies)
- Updated configure() to delegate when available
- Improved TODO comment explaining dependency requirements
Progress:
- Low priority items: 4 of 15 complete (27%)
- Remaining: 11 items (Phase 3 features, Android integration, scripts)
Verification:
- TypeScript typecheck: PASS
- All implemented items tested and working
2025-12-24 07:52:23 +00:00
Jose Olarte III
0a2cbf24f7
fix(ios): correct next notification time and improve rollover UI refresh
...
- Fix getNextNotificationTime() to find earliest scheduled notification
instead of using first request (pendingNotificationRequests doesn't
guarantee order)
- Add comprehensive logging for rollover tracking with DNP-ROLLOVER
prefix for Xcode console filtering
- Reset all notifications and rollover state when scheduling new
notification via scheduleDailyNotification() to ensure clean test
state
- Fix userInfo scope error in handleNotificationDelivery error handler
- Update test app UI to refresh status every 5-10 seconds and
immediately after notification delivery to reflect rollover changes
- Add console logging in UI to debug getNotificationStatus() results
This ensures the UI correctly displays the next notification time after
rollover completes, and test notifications start with a clean slate.
2025-12-15 21:42:48 +08:00
Server
5844b92e18
feat(ios): implement Phase 1 permission methods and fix build issues
...
Implement checkPermissionStatus() and requestNotificationPermissions()
methods for iOS plugin, matching Android functionality. Fix compilation
errors across plugin files and add comprehensive build/test infrastructure.
Key Changes:
- Add checkPermissionStatus() and requestNotificationPermissions() methods
- Fix 13+ categories of Swift compilation errors (type conversions, logger
API, access control, async/await, etc.)
- Create DailyNotificationScheduler, DailyNotificationStorage,
DailyNotificationStateActor, and DailyNotificationErrorCodes components
- Fix CoreData initialization to handle missing model gracefully for Phase 1
- Add iOS test app build script with simulator auto-detection
- Update directive with lessons learned from build and permission work
Build Status: ✅ BUILD SUCCEEDED
Test App: ✅ Ready for iOS Simulator testing
Files Modified:
- doc/directives/0003-iOS-Android-Parity-Directive.md (lessons learned)
- ios/Plugin/DailyNotificationPlugin.swift (Phase 1 methods)
- ios/Plugin/DailyNotificationModel.swift (CoreData fix)
- 11+ other plugin files (compilation fixes)
Files Added:
- ios/Plugin/DailyNotificationScheduler.swift
- ios/Plugin/DailyNotificationStorage.swift
- ios/Plugin/DailyNotificationStateActor.swift
- ios/Plugin/DailyNotificationErrorCodes.swift
- scripts/build-ios-test-app.sh
- scripts/setup-ios-test-app.sh
- test-apps/ios-test-app/ (full test app)
- Multiple Phase 1 documentation files
2025-11-13 05:14:24 -08:00