diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 9bffbf5c..349d6c00 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -7,6 +7,7 @@ any channel. - [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after channel update. +- [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054) Fix `Unsupported operation: Cannot remove from an unmodifiable list`. ✅ Added diff --git a/packages/stream_chat/lib/src/client/channel.dart b/packages/stream_chat/lib/src/client/channel.dart index a98e9467..7218cf65 100644 --- a/packages/stream_chat/lib/src/client/channel.dart +++ b/packages/stream_chat/lib/src/client/channel.dart @@ -1586,10 +1586,12 @@ class ChannelClientState { _subscriptions.add(_channel.on(EventType.memberRemoved).listen((Event e) { final user = e.user; updateChannelState(channelState.copyWith( - members: List.from( - channelState.members..removeWhere((m) => m.userId == user!.id), - ), - read: channelState.read..removeWhere((r) => r.user.id == user!.id), + members: channelState.members + .where((m) => m.userId != user!.id) + .toList(growable: false), + read: channelState.read + .where((r) => r.user.id != user!.id) + .toList(growable: false), )); })); }