From 1380a84989dc4306ef1bef492b04955dd861451a Mon Sep 17 00:00:00 2001 From: cogwheel0 <172976095+cogwheel0@users.noreply.github.com> Date: Sat, 6 Dec 2025 20:30:39 +0530 Subject: [PATCH] feat(conversation): add support for WidgetRef in conversation delta listener --- lib/core/services/conversation_delta_listener.dart | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/core/services/conversation_delta_listener.dart b/lib/core/services/conversation_delta_listener.dart index caeca69..741d753 100644 --- a/lib/core/services/conversation_delta_listener.dart +++ b/lib/core/services/conversation_delta_listener.dart @@ -69,6 +69,14 @@ class ConversationDeltaListener { ); return; } + if (ref is WidgetRef) { + _subscription = ref.listenManual( + conversationDeltaStreamProvider(_request), + handleNext, + fireImmediately: false, + ); + return; + } if (ref is ProviderContainer) { _subscription = ref.listen( conversationDeltaStreamProvider(_request), @@ -102,6 +110,9 @@ class ConversationDeltaListener { if (ref is Ref) { return ref.mounted; } + // For WidgetRef and ProviderContainer, rely on explicit disposal. + // Callers using WidgetRef must ensure dispose() is called when the + // widget unmounts. return !_disposed; } }