🐛 Make sure the send read event triggered before dispose chat message controller

This commit is contained in:
LittleSheep 2025-02-23 12:03:17 +08:00
parent 5468fc0748
commit c8c455bb57

View File

@ -514,6 +514,11 @@ class ChatMessageController extends ChangeNotifier {
}
_readEventDebounce = Timer(const Duration(milliseconds: 500), () {
_sendReadEvent();
});
}
void _sendReadEvent() {
_ws.conn?.sink.add(jsonEncode(
WebSocketPackage(
method: 'events.read',
@ -525,12 +530,14 @@ class ChatMessageController extends ChangeNotifier {
).toJson(),
));
log('[Messaging] Send read event request: $_readEventAnchor');
});
}
@override
void dispose() {
_wsSubscription?.cancel();
if (_readEventDebounce?.isActive ?? false) {
_sendReadEvent();
}
_readEventDebounce?.cancel();
super.dispose();
}