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
Categorymodel has been comprehensively replaced byTopicthroughout the entire application. Similarly,AppConfighas been renamed toRemoteConfig, andUserRoletoAppUserRolefor better clarity and consistency with the API. - Standardized Authentication State: The
AuthenticationBlochas been refactored to use a single state class (AuthenticationState) managed by anAuthenticationStatusenum. 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_kitpackage. 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
HtHttpExceptionobjects instead of simple strings. The sharedFailureStateWidgetfrom 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
Topicmodel and standardized state management patterns. Data fetching is now more flexible, using a new filter and pagination approach. - Structured Logging: The
loggingpackage has been integrated across key BLoCs, providing better debugging capabilities and visibility into the application's behavior.