From 2f9446fb803130bdd9495d9486fa571ddf864853 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Mon, 5 Aug 2024 10:05:37 -0400 Subject: [PATCH 1/2] Scrolls to correct message --- lib/pages/chat/chat.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 50cb7ea9f..f278cd7c2 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -1109,7 +1109,13 @@ class ChatController extends State } void scrollToEventId(String eventId) async { - final eventIndex = timeline!.events.indexWhere((e) => e.eventId == eventId); + // #Pangea + // final eventIndex = timeline!.events.indexWhere((e) => e.eventId == eventId); + final eventIndex = timeline!.events + .where((event) => event.isVisibleInGui) + .toList() + .indexWhere((e) => e.eventId == eventId); + // Pangea# if (eventIndex == -1) { setState(() { timeline = null; From e2380685384de65263d76182712e588a5e442bbf Mon Sep 17 00:00:00 2001 From: ggurdin Date: Tue, 6 Aug 2024 12:32:31 -0400 Subject: [PATCH 2/2] replaced scrollToEventId with current version from fluffychat --- lib/pages/chat/chat.dart | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index f278cd7c2..b2cdc9f47 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -1108,14 +1108,14 @@ class ChatController extends State inputFocus.requestFocus(); } - void scrollToEventId(String eventId) async { - // #Pangea - // final eventIndex = timeline!.events.indexWhere((e) => e.eventId == eventId); + void scrollToEventId( + String eventId, { + bool highlightEvent = true, + }) async { final eventIndex = timeline!.events .where((event) => event.isVisibleInGui) .toList() .indexWhere((e) => e.eventId == eventId); - // Pangea# if (eventIndex == -1) { setState(() { timeline = null; @@ -1131,11 +1131,14 @@ class ChatController extends State }); return; } - setState(() { - scrollToEventIdMarker = eventId; - }); + if (highlightEvent) { + setState(() { + scrollToEventIdMarker = eventId; + }); + } await scrollController.scrollToIndex( - eventIndex, + eventIndex + 1, + duration: FluffyThemes.animationDuration, preferPosition: AutoScrollPosition.middle, ); _updateScrollController();