diff --git a/packages/stream_chat/lib/src/client/channel.dart b/packages/stream_chat/lib/src/client/channel.dart index 95eddab7..c219a120 100644 --- a/packages/stream_chat/lib/src/client/channel.dart +++ b/packages/stream_chat/lib/src/client/channel.dart @@ -1462,8 +1462,6 @@ class ChannelClientState { _listenChannelUpdated(); - _listenChannelDeleted(); - _listenMemberAdded(); _listenMemberRemoved(); @@ -1565,12 +1563,6 @@ 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/lib/src/client/client.dart b/packages/stream_chat/lib/src/client/client.dart index c9bdebc1..334b60c2 100644 --- a/packages/stream_chat/lib/src/client/client.dart +++ b/packages/stream_chat/lib/src/client/client.dart @@ -1432,6 +1432,8 @@ class ClientState { .listen((Event event) async { final eventChannel = event.channel!; await _client.chatPersistenceClient?.deleteChannels([eventChannel.cid]); + final channel = channels[eventChannel.cid]; + channel?.dispose(); channels = channels..remove(eventChannel.cid); })); }