Add notification permission flow in settings

This commit is contained in:
Rijad Zuzo
2026-02-15 23:53:46 +01:00
parent 6e73273ede
commit 560716100d
7 changed files with 144 additions and 1 deletions
+2
View File
@@ -68,6 +68,8 @@ Behavior notes:
- web: no-op fallback
- linux: schedule fallback (no-op) due platform scheduling limitations in plugin
- android/iOS/macOS/windows: scheduled local notifications
- settings screen includes `Request Notification Access` action for runtime
permission prompts
## Local Persistence Backend
+25 -1
View File
@@ -2,6 +2,29 @@
Updated: 2026-02-15
## Latest Milestone (2026-02-15): Notification Permission UX
Added runtime notification permission flow through the product UI:
- Extended reminder scheduler interface:
- `lib/features/reminders/scheduling/reminder_scheduler.dart`
- new `requestPermissions()` API
- Implemented permission handling in local notifications scheduler:
- `lib/features/reminders/scheduling/reminder_scheduler_local_notifications.dart`
- Android: `requestNotificationsPermission()`
- iOS/macOS: `requestPermissions(alert/badge/sound)`
- Added settings action:
- `lib/features/settings/settings_view.dart`
- `Request Notification Access` button with result feedback snackbar
- Added test coverage:
- `test/features/reminders/scheduling/reminder_scheduler_local_notifications_test.dart`
- verifies permission delegation behavior
Validation for this milestone:
- `flutter analyze` -> pass
- `flutter test` -> pass
## Latest Milestone (2026-02-15): Local Notifications Reminder Runtime
Implemented reminder delivery with local notifications runtime integration:
@@ -200,7 +223,8 @@ Validation for this milestone:
1. Reminder delivery runtime integration:
- implemented for Android/iOS/macOS/windows with web/linux safe fallback.
- future enhancement: permission UX and direct notification tap routing.
- permission UX implemented in settings.
- future enhancement: direct notification tap routing.
2. Conflict resolution UX:
- reject/requeue + payload inspect are implemented; future enhancement is
direct deep-link navigation to entity edit screens from Sync view.