diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index b351b0bc0..a6ce66d84 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -232,7 +232,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1240; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index b52b2e698..e67b2808a 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ final AutoScrollController scrollController = AutoScrollController(); FocusNode inputFocus = FocusNode(); + StreamSubscription? onFocusSub; Timer? typingCoolDown; Timer? typingTimeout; @@ -279,6 +281,9 @@ class ChatController extends State sendingClient = Matrix.of(context).client; WidgetsBinding.instance.addObserver(this); _tryLoadTimeline(); + if (kIsWeb) { + onFocusSub = html.window.onFocus.listen((_) => setReadMarker()); + } } void _tryLoadTimeline() async { @@ -424,6 +429,7 @@ class ChatController extends State timeline?.cancelSubscriptions(); timeline = null; inputFocus.removeListener(_inputFocusListener); + onFocusSub?.cancel(); super.dispose(); }