diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 2872f9b1..4c0405bb 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -68,7 +68,7 @@ class ChatPage extends StatelessWidget { } return ChatPageWithRoom( - key: Key('chat_page_$roomId'), + key: Key('chat_page_${roomId}_$eventId'), room: room, shareText: shareText, eventId: eventId, @@ -278,10 +278,12 @@ class ChatController extends State } void _tryLoadTimeline() async { - readMarkerEventId = widget.eventId; - loadTimelineFuture = _getTimeline(eventContextId: readMarkerEventId); + final initialEventId = widget.eventId; + loadTimelineFuture = _getTimeline(); try { await loadTimelineFuture; + if (initialEventId != null) scrollToEventId(initialEventId); + final fullyRead = room.fullyRead; if (fullyRead.isEmpty) { setReadMarker();