20-07-2025
Pre-release
Pre-release
🚀 Major Architectural Refactor & UI Standardization
This release introduces a significant architectural refactor aimed at improving the application's maintainability, scalability, and overall robustness. We have overhauled our core data models to align with recent backend changes and standardized state management across all features.
A key part of this effort was extracting all shared UI code into a new, internal ht_ui_kit
package, promoting code reuse and creating a more polished, consistent user experience.
✨ Key Architectural & Core Model Updates
- Core Model Refactor: The
Category
model has been comprehensively replaced byTopic
throughout the entire application. Similarly,AppConfig
has been renamed toRemoteConfig
, andUserRole
toAppUserRole
for better clarity and consistency with the API. - Standardized Authentication State: The
AuthenticationBloc
has been refactored to use a single state class (AuthenticationState
) managed by anAuthenticationStatus
enum. This simplifies state transitions and improves the predictability of the authentication flow.
🎨 Shared UI Kit & Standardized Error Handling
- Shared UI Code Extraction: Common UI components and utilities (e.g.,
FailureStateWidget
,LoadingStateWidget
,app_spacing
) have been extracted from this repository into our new internalht_ui_kit
package. This centralizes shared code, promotes reuse, and ensures a consistent look and feel. - Improved Error Display: To support the new UI kit, error handling has been standardized. All BLoCs now report errors using rich
HtHttpException
objects instead of simple strings. The sharedFailureStateWidget
from the UI kit now uses these exceptions to display consistent, informative, and localized error messages to the user.
🔧 Feature & Technical Refinements
- Enhanced Feed & Search: The feed and search features have been refactored to align with the new
Topic
model and standardized state management patterns. Data fetching is now more flexible, using a new filter and pagination approach. - Structured Logging: The
logging
package has been integrated across key BLoCs, providing better debugging capabilities and visibility into the application's behavior.