if the message is not in the main messages list, try to find in the threads messages

This commit is contained in:
Bartek Stoliński
2022-02-08 15:03:19 +01:00
parent ca4cc3cd3d
commit c321659dca
@@ -1694,7 +1694,10 @@ class ChannelClientState {
void _listenReactionDeleted() {
_subscriptions.add(_channel.on(EventType.reactionDeleted).listen((event) {
final oldMessage =
messages.firstWhereOrNull((it) => it.id == event.message?.id);
messages.firstWhereOrNull((it) => it.id == event.message?.id) ??
threads.values
.expand((e) => e)
.firstWhereOrNull((e) => e.id == event.message?.id);
final reaction = event.reaction;
final ownReactions = oldMessage?.ownReactions
?.whereNot((it) =>
@@ -1714,7 +1717,10 @@ class ChannelClientState {
void _listenReactions() {
_subscriptions.add(_channel.on(EventType.reactionNew).listen((event) {
final oldMessage =
messages.firstWhereOrNull((it) => it.id == event.message?.id);
messages.firstWhereOrNull((it) => it.id == event.message?.id) ??
threads.values
.expand((e) => e)
.firstWhereOrNull((e) => e.id == event.message?.id);
final message = event.message!.copyWith(
ownReactions: oldMessage?.ownReactions,
);