From 86698614f6cc915b64e0a8e2ad00214554dfaca2 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Wed, 5 May 2021 12:52:05 +0200 Subject: [PATCH] fixes #413: channels bloc does not perform the call if pagination is ended --- .../lib/src/channels_bloc.dart | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/stream_chat_flutter_core/lib/src/channels_bloc.dart b/packages/stream_chat_flutter_core/lib/src/channels_bloc.dart index 2b4968eb..68691e7d 100644 --- a/packages/stream_chat_flutter_core/lib/src/channels_bloc.dart +++ b/packages/stream_chat_flutter_core/lib/src/channels_bloc.dart @@ -95,7 +95,12 @@ class ChannelsBlocState extends State }) async { final client = StreamChatCore.of(context).client; - if (_paginationEnded || _queryChannelsLoadingController.value == true) { + final clear = paginationParams == null || + paginationParams.offset == null || + paginationParams.offset == 0; + + if ((!clear && _paginationEnded) || + _queryChannelsLoadingController.value == true) { return; } @@ -104,9 +109,6 @@ class ChannelsBlocState extends State } try { - final clear = paginationParams == null || - paginationParams.offset == null || - paginationParams.offset == 0; final oldChannels = List.from(channels ?? []); var newChannels = []; await for (final channels in client.queryChannels( @@ -148,7 +150,13 @@ class ChannelsBlocState extends State final client = StreamChatCore.of(context).client; if (!widget.lockChannelsOrder) { - _subscriptions.add(client.on(EventType.messageNew).listen((e) { + _subscriptions.add(client + .on( + EventType.messageNew, + EventType.notificationAddedToChannel, + EventType.notificationMessageNew, + ) + .listen((e) { final newChannels = List.from(channels ?? []); final index = newChannels.indexWhere((c) => c.cid == e.cid); if (index != -1) {