Skip to content

20-07-2025

Pre-release
Pre-release
Compare
Choose a tag to compare
@fulleni fulleni released this 20 Jul 19:01
· 192 commits to main since this release
bbf5668

🚀 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 by Topic throughout the entire application. Similarly, AppConfig has been renamed to RemoteConfig, and UserRole to AppUserRole 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 an AuthenticationStatus 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 internal ht_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 shared FailureStateWidget 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.