From e80e3273eabc31101a9f26fc0df33f196433f372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Sat, 6 Dec 2025 10:43:25 +0100 Subject: [PATCH] chore: Follow up scroll down in fragmented timeline --- lib/pages/chat/chat.dart | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 9e0af8e21..3deee3883 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -231,6 +231,17 @@ class ChatController extends State if (mostRecentEvent != null) { setReadMarker(eventId: mostRecentEvent.eventId); + WidgetsBinding.instance.addPostFrameCallback((_) { + final index = timeline.events.filterByVisibleInGui().indexOf( + mostRecentEvent, + ); + if (index >= 0) { + scrollController.scrollToIndex( + index, + preferPosition: AutoScrollPosition.begin, + ); + } + }); } } @@ -458,7 +469,7 @@ class ChatController extends State void onInsert(int i) { // setState will be called by updateView() anyway - if (i <= 5) animateInEventIndex = i; + if (timeline?.allowNewEvent == true) animateInEventIndex = i; } Future _getTimeline({String? eventContextId}) async {