diff --git a/client_app/lib/features/chat/screens/chat_screen.dart b/client_app/lib/features/chat/screens/chat_screen.dart index ca24221..f7e6790 100644 --- a/client_app/lib/features/chat/screens/chat_screen.dart +++ b/client_app/lib/features/chat/screens/chat_screen.dart @@ -25,16 +25,19 @@ class _ChatScreenState extends ConsumerState { @override void initState() { super.initState(); - ref.read(chatProvider.notifier).connect(widget.sessionId); + Future.microtask(() { + ref.read(chatProvider.notifier).connect(widget.sessionId); + }); } @override void dispose() { - ref.read(chatProvider.notifier).disconnect(); + final notifier = ref.read(chatProvider.notifier); _messageController.dispose(); _scrollController.dispose(); _typingThrottle?.cancel(); super.dispose(); + Future.microtask(() => notifier.disconnect()); } void _scrollToBottom() { diff --git a/mitra_app/lib/features/chat/screens/mitra_chat_screen.dart b/mitra_app/lib/features/chat/screens/mitra_chat_screen.dart index 6b7f915..793fbcc 100644 --- a/mitra_app/lib/features/chat/screens/mitra_chat_screen.dart +++ b/mitra_app/lib/features/chat/screens/mitra_chat_screen.dart @@ -24,16 +24,19 @@ class _MitraChatScreenState extends ConsumerState { @override void initState() { super.initState(); - ref.read(mitraChatProvider.notifier).connect(widget.sessionId); + Future.microtask(() { + ref.read(mitraChatProvider.notifier).connect(widget.sessionId); + }); } @override void dispose() { - ref.read(mitraChatProvider.notifier).disconnect(); + final notifier = ref.read(mitraChatProvider.notifier); _messageController.dispose(); _scrollController.dispose(); _typingThrottle?.cancel(); super.dispose(); + Future.microtask(() => notifier.disconnect()); } void _scrollToBottom() {