fix(llc): thread message reactions (#1)

* fix: thread reactions not updated

* test: thread message reactions

* docs: update changelog
This commit is contained in:
Gordon
2022-02-15 11:02:56 +01:00
committed by GitHub
parent c321659dca
commit 8e064bf505
4 changed files with 318 additions and 8 deletions
@@ -1695,9 +1695,8 @@ class ChannelClientState {
_subscriptions.add(_channel.on(EventType.reactionDeleted).listen((event) {
final oldMessage =
messages.firstWhereOrNull((it) => it.id == event.message?.id) ??
threads.values
.expand((e) => e)
.firstWhereOrNull((e) => e.id == event.message?.id);
threads[event.message?.parentId]
?.firstWhereOrNull((e) => e.id == event.message?.id);
final reaction = event.reaction;
final ownReactions = oldMessage?.ownReactions
?.whereNot((it) =>
@@ -1718,9 +1717,8 @@ class ChannelClientState {
_subscriptions.add(_channel.on(EventType.reactionNew).listen((event) {
final oldMessage =
messages.firstWhereOrNull((it) => it.id == event.message?.id) ??
threads.values
.expand((e) => e)
.firstWhereOrNull((e) => e.id == event.message?.id);
threads[event.message?.parentId]
?.firstWhereOrNull((e) => e.id == event.message?.id);
final message = event.message!.copyWith(
ownReactions: oldMessage?.ownReactions,
);
@@ -1736,8 +1734,9 @@ class ChannelClientState {
)
.listen((event) {
final oldMessage =
messages.firstWhereOrNull((it) => it.id == event.message?.id);
messages.firstWhereOrNull((it) => it.id == event.message?.id) ??
threads[event.message?.parentId]
?.firstWhereOrNull((e) => e.id == event.message?.id);
final message = event.message!.copyWith(
ownReactions: oldMessage?.ownReactions,
);