chore: Follow up set read marker

This commit is contained in:
Krille 2023-12-29 09:41:52 +01:00
parent a349a0804a
commit fe00db3281
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652

View file

@ -103,7 +103,8 @@ class ChatPageWithRoom extends StatefulWidget {
ChatController createState() => ChatController();
}
class ChatController extends State<ChatPageWithRoom> {
class ChatController extends State<ChatPageWithRoom>
with WidgetsBindingObserver {
Room get room => sendingClient.getRoomById(roomId) ?? widget.room;
late Client sendingClient;
@ -358,6 +359,13 @@ class ChatController extends State<ChatPageWithRoom> {
String? scrollToEventIdMarker;
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state != AppLifecycleState.resumed) return;
if (!_scrolledUp) return;
setReadMarker();
}
Future<void>? _setReadMarkerFuture;
void setReadMarker({String? eventId}) {
@ -1169,6 +1177,7 @@ class ChatController extends State<ChatPageWithRoom> {
void onInputBarChanged(String text) {
if (_inputTextIsEmpty != text.isEmpty) {
setReadMarker();
setState(() {
_inputTextIsEmpty = text.isEmpty;
});