From b56d6947bd9ab803beada77567e4a8acd5c94b73 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Tue, 9 Mar 2021 10:01:28 +0100 Subject: [PATCH] fix: show error messages as system and keep them in the message input (#319) --- packages/stream_chat_flutter/lib/src/message_input.dart | 3 +++ packages/stream_chat_flutter/lib/src/message_list_view.dart | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/stream_chat_flutter/lib/src/message_input.dart b/packages/stream_chat_flutter/lib/src/message_input.dart index 8649df94..544c7d7f 100644 --- a/packages/stream_chat_flutter/lib/src/message_input.dart +++ b/packages/stream_chat_flutter/lib/src/message_input.dart @@ -2082,6 +2082,9 @@ class MessageInputState extends State { } return sendingFuture.then((resp) { + if (resp.message?.type == 'error') { + _parseExistingMessage(message); + } if (widget.onMessageSent != null) { widget.onMessageSent(resp.message); } diff --git a/packages/stream_chat_flutter/lib/src/message_list_view.dart b/packages/stream_chat_flutter/lib/src/message_list_view.dart index e277f3bb..31d95f20 100644 --- a/packages/stream_chat_flutter/lib/src/message_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/message_list_view.dart @@ -847,7 +847,8 @@ class _MessageListViewState extends State { List messages, int index, ) { - if (message.type == 'system' && message.text?.isNotEmpty == true) { + if ((message.type == 'system' || message.type == 'error') && + message.text?.isNotEmpty == true) { return widget.systemMessageBuilder?.call(context, message) ?? SystemMessage( key: ValueKey('MESSAGE-${message.id}'),