From 3342071acf30284ce13799beb1ab7f95d0246f59 Mon Sep 17 00:00:00 2001 From: Krille Fear Date: Tue, 9 Nov 2021 17:30:04 +0100 Subject: [PATCH] fix: Chat list flickering --- lib/pages/chat_list.dart | 7 +++++-- lib/pages/views/chat_list_view.dart | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/pages/chat_list.dart b/lib/pages/chat_list.dart index 7ad260fd..88334ad2 100644 --- a/lib/pages/chat_list.dart +++ b/lib/pages/chat_list.dart @@ -166,9 +166,10 @@ class ChatListController extends State { void initState() { _initReceiveSharingIntent(); WidgetsBinding.instance.addPostFrameCallback( - (_) => waitForFirstSync().then((_) => checkBootstrap()), + (_) => waitForFirstSync.then((_) => checkBootstrap()), ); scrollController.addListener(_onScroll); + waitForFirstSync = _waitForFirstSync(); super.initState(); } @@ -384,7 +385,9 @@ class ChatListController extends State { setState(() => selectedRoomIds.clear()); } - Future waitForFirstSync() async { + Future waitForFirstSync; + + Future _waitForFirstSync() async { final client = Matrix.of(context).client; await client.roomsLoading; await client.accountDataLoading; diff --git a/lib/pages/views/chat_list_view.dart b/lib/pages/views/chat_list_view.dart index f0600616..65371bc3 100644 --- a/lib/pages/views/chat_list_view.dart +++ b/lib/pages/views/chat_list_view.dart @@ -430,7 +430,7 @@ class _ChatListViewBody extends StatelessWidget { .rateLimit(const Duration(seconds: 1)), builder: (context, snapshot) { return FutureBuilder( - future: controller.waitForFirstSync(), + future: controller.waitForFirstSync, builder: (BuildContext context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { final rooms = Matrix.of(context)