chore: Fetch cached presence

This commit is contained in:
Krille 2023-11-27 13:23:37 +01:00
parent 61ade15fa9
commit ee599c1f52
No known key found for this signature in database

View file

@ -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<CachedPresence>(
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,
),
),
);
}