fix: show error messages as system and keep them in the message input (#319)

This commit is contained in:
Salvatore Giordano
2021-03-09 10:01:28 +01:00
committed by GitHub
parent edaedbeffb
commit b56d6947bd
2 changed files with 5 additions and 1 deletions
@@ -2082,6 +2082,9 @@ class MessageInputState extends State<MessageInput> {
} }
return sendingFuture.then((resp) { return sendingFuture.then((resp) {
if (resp.message?.type == 'error') {
_parseExistingMessage(message);
}
if (widget.onMessageSent != null) { if (widget.onMessageSent != null) {
widget.onMessageSent(resp.message); widget.onMessageSent(resp.message);
} }
@@ -847,7 +847,8 @@ class _MessageListViewState extends State<MessageListView> {
List<Message> messages, List<Message> messages,
int index, 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) ?? return widget.systemMessageBuilder?.call(context, message) ??
SystemMessage( SystemMessage(
key: ValueKey<String>('MESSAGE-${message.id}'), key: ValueKey<String>('MESSAGE-${message.id}'),