- Added `sendMessageWithContainer` function to facilitate message sending with a ProviderContainer.
- Updated `_ChatPageState` to improve scroll behavior, ensuring smoother auto-scrolling when near the bottom of the chat.
- Refactored scroll logic to simplify conditions for showing and hiding the scroll-to-bottom button.
- Adjusted the `OptimizedList` widget to correctly handle item indexing based on the reverse property, enhancing list performance and usability.
- Added `markdown` dependency version `^7.2.1` in `pubspec.yaml`.
- Updated `pubspec.lock` to reflect the direct dependency change.
- Refactored `streaming_helper.dart` to utilize `StreamingResponseController` for better stream management.
- Enhanced `ChatMessagesNotifier` to handle message streams with improved formatting and error handling.
- Updated `StreamingMarkdownWidget` to streamline markdown rendering and support new configurations.
- Replaced `gpt_markdown` with `flutter_markdown_plus` in `pubspec.yaml`.
- Updated `pubspec.lock` to reflect the new dependency version.
- Modified `markdown_config.dart` to generalize styling configuration.
- Updated `streaming_markdown_widget.dart` to utilize `MarkdownBody` for rendering markdown content.
- Replaced `flutter_highlight` with `gpt_markdown` in `pubspec.yaml`.
- Updated `pubspec.lock` to reflect new dependencies and removed obsolete ones.
- Deleted outdated Riverpod migration documentation files to streamline the project.
- Added new configurations for GptMarkdown styling in `markdown_config.dart` and updated the streaming markdown widget implementation.
- Improved handling of asynchronous states in the model loading process.
- Added debug logging for better traceability of model loading failures.
- Ensured proper checks for mounted state to prevent updates after disposal.
- Cleaned up code formatting for better readability.
- Updated the `defaultModel` provider to include more detailed logging and error handling.
38/39 providers successfully migrated to Riverpod 3.0
- All phases complete except chatMessagesProvider (deferred)
- Zero test failures, all builds passing
- ~250 lines of code reduced
- Only 2 breaking changes (intentional renames)
Status: READY FOR PRODUCTION ✅
ChatMessagesNotifier is extremely complex (2400+ lines) and requires
a dedicated, careful migration session with comprehensive testing.
Current status: 38/39 providers migrated (97%)
Remaining: chatMessagesProvider only
All other Phase 5 providers successfully migrated!
Phase 5.4 Complete (4/5)
- appSettingsProvider → appSettingsNotifierProvider
- High complexity NotifierProvider with many methods
- 26 usages across 6 files updated automatically
- Data class AppSettings unchanged
- Converted FutureProvider.family to @riverpod function
- Provider name unchanged: loadConversationProvider
- Usage: ref.watch(loadConversationProvider(id))
- Converted SearchQueryNotifier to SearchQuery class
- Using @riverpod annotation with code generation
- Provider name unchanged: searchQueryProvider
- Build runner successful, all tests passing
- No breaking changes