fix(llc): fix ChannelState copyWith with respect to pinnedMessages default value.

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
Sahil Kumar
2022-02-02 18:47:05 +05:30
committed by xsahil03x
parent 370114c841
commit 9586209d3c
@@ -7,6 +7,8 @@ import 'package:stream_chat/src/core/models/user.dart';
part 'channel_state.g.dart';
const _emptyPinnedMessages = <Message>[];
/// The class that contains the information about a channel
@JsonSerializable()
class ChannelState {
@@ -15,7 +17,7 @@ class ChannelState {
this.channel,
this.messages = const [],
this.members = const [],
this.pinnedMessages = const [],
this.pinnedMessages = _emptyPinnedMessages,
this.watcherCount,
this.watchers = const [],
this.read = const [],
@@ -63,7 +65,11 @@ class ChannelState {
channel: channel ?? this.channel,
messages: messages ?? this.messages,
members: members ?? this.members,
pinnedMessages: pinnedMessages ?? this.pinnedMessages,
// Hack to avoid using the default value in case nothing is provided.
// FIXME: Use non-nullable by default instead of empty list.
pinnedMessages: pinnedMessages == _emptyPinnedMessages
? this.pinnedMessages
: pinnedMessages ?? _emptyPinnedMessages,
watcherCount: watcherCount ?? this.watcherCount,
watchers: watchers ?? this.watchers,
read: read ?? this.read,