Skip to content

v1.3.0

Latest

Choose a tag to compare

@fulleni fulleni released this 22 Nov 19:35
· 29 commits to main since this release

Intelligent Notifications, Granular Preferences & Architectural Cleanup

This release marks a significant evolution in the API's engagement capabilities, introducing a Multi-Provider Push Notification Engine that supports both Firebase and OneSignal with dynamic runtime configuration. Simultaneously, we have overhauled the user preference architecture, transitioning to granular "Saved Filters" for precise content curation, while permanently removing the legacy Local Ads infrastructure to streamline the codebase.


📡 Advanced Notification Ecosystem

The notification system has been rewritten to be provider-agnostic and self-healing. This set of changes focuses on reliability, flexibility, and ensuring high-value alerts (like Breaking News) reach users effectively while managing device hygiene automatically.

  • 📡 Multi-Provider Engine: Established a robust notification architecture supporting Firebase (FCM) and OneSignal out-of-the-box, featuring dynamic RemoteConfig management and immediate "Breaking News" dispatch capabilities. #93
  • 🔒 Guaranteed In-App Delivery: Implemented persistence logic that writes in-app notifications to the database immediately prior to external push dispatch, ensuring users can always access alerts within the app even if the push fails. #99
  • 🧹 Self-Healing Token Hygiene: Introduced server-side logic to automatically detect and remove invalid or expired device tokens (e.g., from uninstalls) during send operations, keeping the delivery pipeline efficient. #102

👤 Refined User Preferences & Models

We have refactored how user preferences are stored and managed to align with the latest core package definitions. The move from generic "Interests" to specific filter models offers users more granular control over their content streams.

  • 🗂️ Granular Content Filters: Replaced the legacy 'Interest' model with distinct SavedHeadlineFilters and SavedSourceFilters.
  • 🔔 Unified Subscription Model: Consolidated content filtering and notification subscriptions into a cohesive structure, streamlining how personalized content is managed and delivered. #94

🛡️ Security, Access Control & Hygiene

This section covers improvements to data access security and the removal of deprecated features to reduce technical debt and improve maintainability.

  • 📱 Secure Device Access: Introduced a new pushNotificationDeviceReadOwned permission and optimized database indices, allowing users to securely read and manage their own registered devices. #101
  • 🗑️ Local Ads Removal: Systematically removed the deprecated 'Local Ads' feature, including all associated data repositories, model registries, and database configurations, to ensure a clean architectural state. #91