-
Notifications
You must be signed in to change notification settings - Fork 0
Dynamic Content Engine & State Management Overhaul
This release introduces a foundational architectural overhaul of the system that manages dynamic content within the news feed. The core of this update is a new, centralized engine that intelligently handles the state, lifecycle, and rendering of "decorators" like ads and user prompts. This refactor creates a more robust, maintainable, and performant system, enabling more responsive and user-aware in-feed content.
image🧠 A New Engine for Dynamic Content Lifecycle
The central achievement of this release is the decoupling of content injection logic from content rendering and state management. A new stateful system now intelligently determines which decorator to display based on user state and remote configuration, managing its entire lifecycle correctly.
- ✨ A new
FeedDecoratorLoaderWidgethas been introduced to act as the central brain. It is now solely responsible for determining which decorator to show, fetching its data, managing its state, and handling user interactions. [#196] - 💾 The
AppBlocis now leveraged to persist the status of decorators. When a user dismisses a prompt, this state is recorded and used by the new loader widget to prevent that decorator from appearing again, creating a proper invalidation and caching mechanism. [#196] - 🎯 Responsibilities have been clarified: the
AdServicenow exclusively injects stateless ad placeholders, while theFeedDecoratorServiceinjects a single, generic placeholder for theFeedDecoratorLoaderWidgetto populate. [#196]
✨ Enhanced Feed Interactivity
The new underlying architecture directly enables a more interactive and context-aware user experience within the feed.
- 👋 Users now have the ability to dismiss call-to-action and content collection decorators, an action that is correctly persisted thanks to the new state management engine. [#196]
- 🌐 Dynamic, randomized localization strings have been added for various prompts, such as rating the app or enabling notifications, to create a less repetitive experience. [#196]