diff --git a/lib/widgets/presence_builder.dart b/lib/widgets/presence_builder.dart index 223fe0cc..2ca963c8 100644 --- a/lib/widgets/presence_builder.dart +++ b/lib/widgets/presence_builder.dart @@ -22,12 +22,15 @@ class PresenceBuilder extends StatelessWidget { if (userId == null) return builder(context, null); final client = this.client ?? Matrix.of(context).client; - return StreamBuilder( - stream: client.onPresenceChanged.stream - .where((cachedPresence) => cachedPresence.userid == userId), - builder: (context, snapshot) => builder( - context, - snapshot.data ?? client.presences[userId], + return FutureBuilder( + future: client.fetchCurrentPresence(userId), + builder: (context, cachedPresenceSnapshot) => StreamBuilder( + stream: client.onPresenceChanged.stream + .where((cachedPresence) => cachedPresence.userid == userId), + builder: (context, snapshot) => builder( + context, + snapshot.data ?? cachedPresenceSnapshot.data, + ), ), ); }