fix: Set readmarker on focus on web
This commit is contained in:
parent
fdc77fb6d9
commit
c0ba68dff5
3 changed files with 8 additions and 2 deletions
|
|
@ -232,7 +232,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastSwiftUpdateCheck = 1240;
|
LastSwiftUpdateCheck = 1240;
|
||||||
LastUpgradeCheck = 1430;
|
LastUpgradeCheck = 1510;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
97C146ED1CF9000F007C117D = {
|
97C146ED1CF9000F007C117D = {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1430"
|
LastUpgradeVersion = "1510"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
|
||||||
import 'package:file_picker/file_picker.dart';
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||||
|
import 'package:universal_html/html.dart' as html;
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
|
|
@ -122,6 +123,7 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
final AutoScrollController scrollController = AutoScrollController();
|
final AutoScrollController scrollController = AutoScrollController();
|
||||||
|
|
||||||
FocusNode inputFocus = FocusNode();
|
FocusNode inputFocus = FocusNode();
|
||||||
|
StreamSubscription<html.Event>? onFocusSub;
|
||||||
|
|
||||||
Timer? typingCoolDown;
|
Timer? typingCoolDown;
|
||||||
Timer? typingTimeout;
|
Timer? typingTimeout;
|
||||||
|
|
@ -279,6 +281,9 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
sendingClient = Matrix.of(context).client;
|
sendingClient = Matrix.of(context).client;
|
||||||
WidgetsBinding.instance.addObserver(this);
|
WidgetsBinding.instance.addObserver(this);
|
||||||
_tryLoadTimeline();
|
_tryLoadTimeline();
|
||||||
|
if (kIsWeb) {
|
||||||
|
onFocusSub = html.window.onFocus.listen((_) => setReadMarker());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _tryLoadTimeline() async {
|
void _tryLoadTimeline() async {
|
||||||
|
|
@ -424,6 +429,7 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
timeline?.cancelSubscriptions();
|
timeline?.cancelSubscriptions();
|
||||||
timeline = null;
|
timeline = null;
|
||||||
inputFocus.removeListener(_inputFocusListener);
|
inputFocus.removeListener(_inputFocusListener);
|
||||||
|
onFocusSub?.cancel();
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue