From 0dd9af0906b142eed71c0be92d06d6bfd52aa37b Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Fri, 26 Nov 2021 11:46:02 +0100 Subject: [PATCH] fix(llc): dispose channel on deletion --- packages/stream_chat/lib/src/client/channel.dart | 8 ++++++++ .../lib/src/channel_list_core.dart | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/stream_chat/lib/src/client/channel.dart b/packages/stream_chat/lib/src/client/channel.dart index c219a120..95eddab7 100644 --- a/packages/stream_chat/lib/src/client/channel.dart +++ b/packages/stream_chat/lib/src/client/channel.dart @@ -1462,6 +1462,8 @@ class ChannelClientState { _listenChannelUpdated(); + _listenChannelDeleted(); + _listenMemberAdded(); _listenMemberRemoved(); @@ -1563,6 +1565,12 @@ class ChannelClientState { })); } + void _listenChannelDeleted() { + _subscriptions.add(_channel.on(EventType.channelDeleted).listen((Event e) { + _channel.dispose(); + })); + } + void _listenChannelTruncated() { _subscriptions.add(_channel .on(EventType.channelTruncated, EventType.notificationChannelTruncated) diff --git a/packages/stream_chat_flutter_core/lib/src/channel_list_core.dart b/packages/stream_chat_flutter_core/lib/src/channel_list_core.dart index 8ac28e76..51467ca3 100644 --- a/packages/stream_chat_flutter_core/lib/src/channel_list_core.dart +++ b/packages/stream_chat_flutter_core/lib/src/channel_list_core.dart @@ -157,7 +157,10 @@ class ChannelListCoreState extends State { presence: widget.presence, memberLimit: widget.memberLimit, messageLimit: widget.messageLimit, - paginationParams: PaginationParams(limit: widget.limit), + paginationParams: PaginationParams( + limit: widget.limit, + offset: 0, + ), ); /// Fetches more channels with updated pagination and updates the widget