mobile bluesky app made with flutter lazurite.stormlightlabs.org/
mobile bluesky flutter
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 64 lines 2.6 kB view raw view rendered
1--- 2title: Notification Milestones 3updated: 2026-05-01 4--- 5 6## M1 - Foundation Hardening (Polling Baseline) 7 8- [x] Introduce `NotificationDomainService` orchestration layer 9- [x] Add Drift `notification_deliveries` table with migration 10- [x] Route existing polling paths through orchestration layer 11- [x] Add unit tests for dedupe and state persistence 12 13## M2 - Local Notifications from Reconcile 14 15- [x] Add local notification adapter abstraction 16- [x] Android channels by reason family 17- [x] iOS category + payload deep-link mapping 18- [x] Show local notifications for newly discovered unseen items 19- [x] Add widget/integration tests for tap -> route behavior 20 21## M3 - Push Registration Lifecycle 22 23- [x] Add token acquisition and refresh listeners 24- [x] Implement `registerPush` and `unregisterPush` 25- [x] Wire account login/switch/logout paths 26- [x] Add retries/backoff for registration failures 27- [x] Add unit tests for lifecycle transitions 28 29## M4 - Push Payload Processing 30 31- [x] Add background payload entrypoint (`@pragma('vm:entry-point')`) 32- [x] Parse defensively: `senderDid`, `targetDid`, `recordUri`, `reason` 33- [x] Fetch canonical notification payload before display 34- [x] Apply moderation + preference filtering before display 35- [x] Add timeout-bound processing and drop accounting 36 37## M5 - Background Reconciliation 38 39- [x] Add periodic background reconcile task (Android 15m+) 40- [x] Add iOS background fetch/BGTaskScheduler integration 41- [x] Ensure tasks are idempotent and dedupe-safe 42- [x] Add test harness for worker entrypoints 43 44## M6 - Preferences and UX 45 46- [ ] Add settings UI for notification controls and permission state 47- [ ] Integrate `getPreferences` and `putPreferencesV2` 48- [ ] Add contextual permission prompt + denied -> settings flow 49- [ ] Add unread badge + seen-state reconciliation tests 50 51## M7 - Reliability and Release Readiness 52 53- [ ] Add structured logs + debug counters for notification flows 54- [ ] Add smoke checklist for Android/iOS permission and delivery scenarios 55- [ ] Validate multi-account behavior and token cleanup 56- [ ] Run full `flutter analyze` and full test suite 57 58## M8 - Firebase/APNs Production Push Setup 59 60- [ ] Create/configure Firebase project apps for iOS + Android 61- [ ] Add `GoogleService-Info.plist` to iOS target and `google-services.json` to `android/app` 62- [ ] Configure Apple Push Notifications capability/provisioning in Apple Developer 63- [ ] Upload APNs auth key/certificate to Firebase Cloud Messaging settings 64- [ ] Validate end-to-end remote push delivery (foreground, background, terminated) on iOS + Android