From fe00db3281a014d8d44194827e52eebbd43ec605 Mon Sep 17 00:00:00 2001 From: Krille Date: Fri, 29 Dec 2023 09:41:52 +0100 Subject: [PATCH] chore: Follow up set read marker --- lib/pages/chat/chat.dart | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 42701bdc..a4561fbb 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -103,7 +103,8 @@ class ChatPageWithRoom extends StatefulWidget { ChatController createState() => ChatController(); } -class ChatController extends State { +class ChatController extends State + with WidgetsBindingObserver { Room get room => sendingClient.getRoomById(roomId) ?? widget.room; late Client sendingClient; @@ -358,6 +359,13 @@ class ChatController extends State { String? scrollToEventIdMarker; + @override + void didChangeAppLifecycleState(AppLifecycleState state) { + if (state != AppLifecycleState.resumed) return; + if (!_scrolledUp) return; + setReadMarker(); + } + Future? _setReadMarkerFuture; void setReadMarker({String? eventId}) { @@ -1169,6 +1177,7 @@ class ChatController extends State { void onInputBarChanged(String text) { if (_inputTextIsEmpty != text.isEmpty) { + setReadMarker(); setState(() { _inputTextIsEmpty = text.isEmpty; });