chore: update markdown dependency and refactor streaming handling

- 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.
This commit is contained in:
cogwheel0
2025-09-30 20:49:02 +05:30
parent d3b64716b9
commit 7debb7a055
10 changed files with 451 additions and 301 deletions

View File

@@ -21,6 +21,7 @@ import 'package:url_launcher/url_launcher_string.dart';
import '../providers/chat_providers.dart' show sendMessage;
import '../../../core/utils/debug_logger.dart';
import 'sources/openwebui_sources.dart';
import '../providers/assistant_response_builder_provider.dart';
class AssistantMessageWidget extends ConsumerStatefulWidget {
final dynamic message;
@@ -746,10 +747,23 @@ class _AssistantMessageWidgetState extends ConsumerState<AssistantMessageWidget>
// Process images in the remaining text
final processedContent = _processContentForImages(cleaned);
return StreamingMarkdownWidget(
staticContent: processedContent,
Widget buildDefault(BuildContext context) => StreamingMarkdownWidget(
content: processedContent,
isStreaming: widget.isStreaming,
);
final responseBuilder = ref.watch(assistantResponseBuilderProvider);
if (responseBuilder != null) {
final contextData = AssistantResponseContext(
message: widget.message,
markdown: processedContent,
isStreaming: widget.isStreaming,
buildDefault: buildDefault,
);
return responseBuilder(context, contextData);
}
return buildDefault(context);
}
String _processContentForImages(String content) {