Skip to content

v1.3.0

Latest
Compare
Choose a tag to compare
@fulleni fulleni released this 10 Oct 06:56
· 134 commits to main since this release
6e690d0

Content Limitation Enforcement & Auth Flow Refactor

This release introduces a major new feature for enforcing content limits and provides a significant architectural refactoring of the authentication and account linking flows. It also includes several key bug fixes and dependency updates to improve stability and the web loading experience.

🚀 Content Limitation Enforcement

A new system has been implemented to gracefully handle and enforce limits on user actions, such as following content or bookmarking articles. This was necessary to provide a clear and consistent user experience when users reach plan-based limits.

  • 📥 Introduced a ContentLimitationService to centralize the logic for checking user content limits based on their role and remote configuration. [#145]
  • 🎨 Added a ContentLimitationBottomSheet to provide a user-friendly UI that informs users when they hit a limit and offers tailored actions like signing in or upgrading. [#145]
  • ✅ Integrated content limit checks into key user actions, including following topics, sources, and countries, as well as bookmarking headlines. [#145, #159]
  • 🐛 Fixed a UI bug where the ContentLimitationBottomSheet content could overflow on smaller screens by wrapping it in a SingleChildScrollView. [#149]

🔐 Authentication & Account Linking Refactor

The authentication and account linking flows have been separated and re-architected to improve clarity, maintainability, and the overall user experience.

  • 🔗 Separated the core sign-in/sign-up flow from the account linking process by introducing a dedicated AccountLinkingPage for anonymous users. [#142]
  • ⚙️ The GoRouter configuration was comprehensively refactored to support the new, distinct authentication paths and to better manage state. [#142]
  • 🐛 Fixed a critical bug in the authentication flow where goNamed was incorrectly used, preventing users from navigating back. This was corrected by using pushNamed. [#144]
  • 👍 After successful verification, navigation was changed from pushNamed to goNamed to ensure users are properly redirected and cannot navigate back to previous auth steps. [#148]

🛠️ App Health & Web Experience

Several updates were made to improve project stability, maintainability, and the loading experience on the web platform.

  • ⬆️ Updated several key dependencies, including bloc, go_router, and very_good_analysis, to their latest versions. [#135]
  • 🕸️ Fixed a critical bug where the web splash screen would remain visible indefinitely, blocking the app. This was resolved by updating the Flutter bootstrap script and refining the splash removal timing. [#136]
  • ✨ Refactored the web splash screen management to use the flutter_native_splash package, simplifying the codebase by removing custom logic. [#137]
  • 📝 Implemented a centralized logging system using the logging package and a new GoRouterObserver, replacing ad-hoc print statements for better debuggability. [#143]

✨ Version Enforcement

  • Introduced a new feature to enforce mandatory app updates based on remote configuration, directing users to a dedicated UpdateRequiredPage. [#134]
  • Integrated package_info_plus and pub_semver for accurate version retrieval and comparison. [#134]