Merge branch 'develop' into v4
This commit is contained in:
@@ -17,6 +17,8 @@
|
|||||||
any channel.
|
any channel.
|
||||||
- [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after
|
- [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after
|
||||||
channel update.
|
channel update.
|
||||||
|
- [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054) Fix `Unsupported operation: Cannot remove from an unmodifiable list`.
|
||||||
|
- [[#1033]](https://github.com/GetStream/stream-chat-flutter/issues/1033) Hard delete from dashboard does not delete message from client.
|
||||||
|
|
||||||
✅ Added
|
✅ Added
|
||||||
|
|
||||||
|
|||||||
@@ -1116,7 +1116,6 @@ class Channel {
|
|||||||
// remove the passed message if response does
|
// remove the passed message if response does
|
||||||
// not contain message
|
// not contain message
|
||||||
state!.removeMessage(message);
|
state!.removeMessage(message);
|
||||||
await _client.chatPersistenceClient?.deleteMessageById(messageId);
|
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
@@ -1608,10 +1607,12 @@ class ChannelClientState {
|
|||||||
_subscriptions.add(_channel.on(EventType.memberRemoved).listen((Event e) {
|
_subscriptions.add(_channel.on(EventType.memberRemoved).listen((Event e) {
|
||||||
final user = e.user;
|
final user = e.user;
|
||||||
updateChannelState(channelState.copyWith(
|
updateChannelState(channelState.copyWith(
|
||||||
members: List.from(
|
members: channelState.members
|
||||||
channelState.members..removeWhere((m) => m.userId == user!.id),
|
.where((m) => m.userId != user!.id)
|
||||||
),
|
.toList(growable: false),
|
||||||
read: channelState.read..removeWhere((r) => r.user.id == user!.id),
|
read: channelState.read
|
||||||
|
.where((r) => r.user.id != user!.id)
|
||||||
|
.toList(growable: false),
|
||||||
));
|
));
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@@ -1871,7 +1872,9 @@ class ChannelClientState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Remove a [message] from this [channelState].
|
/// Remove a [message] from this [channelState].
|
||||||
void removeMessage(Message message) {
|
void removeMessage(Message message) async {
|
||||||
|
await _channel._client.chatPersistenceClient?.deleteMessageById(message.id);
|
||||||
|
|
||||||
final parentId = message.parentId;
|
final parentId = message.parentId;
|
||||||
// i.e. it's a thread message, Remove it
|
// i.e. it's a thread message, Remove it
|
||||||
if (parentId != null) {
|
if (parentId != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user