From 713a3dd07d18c6bb93edb154bacece817ec419cc Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Mon, 6 Apr 2020 16:33:22 +0200 Subject: [PATCH] listen for new messages in channelbloc --- lib/src/channels_bloc.dart | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/src/channels_bloc.dart b/lib/src/channels_bloc.dart index b9620834..0ced2b82 100644 --- a/lib/src/channels_bloc.dart +++ b/lib/src/channels_bloc.dart @@ -4,7 +4,17 @@ import 'package:stream_chat/stream_chat.dart'; class ChannelsBloc { final Client client; - ChannelsBloc(this.client); + ChannelsBloc(this.client) { + client.on(EventType.messageNew).listen((e) { + final newChannels = List.from(channels ?? []); + final index = newChannels.indexWhere((c) => c.cid == e.cid); + if (index > 0) { + final channel = newChannels.removeAt(index); + newChannels.insert(0, channel); + _channelsController.add(newChannels); + } + }); + } /// The current channel list List get channels => _channelsController.value; @@ -58,6 +68,8 @@ class ChannelsBloc { }, onDone: () { _queryChannelsLoadingController.sink.add(false); }, onError: (err, stackTrace) { + print(err); + print(stackTrace); _queryChannelsLoadingController.addError(err, stackTrace); }); } catch (err, stackTrace) {