watchPresence method
Emits the list of currently online users whenever it changes.
Implementation
@override
Stream<List<PresenceRecord>> watchPresence({required String channelId}) {
final ref = _db.ref('presence/$channelId');
return ref.onValue.map((event) {
final raw = event.snapshot.value;
if (raw is! Map) {
return <PresenceRecord>[];
}
return _parseRecords(
raw as Map<Object?, Object?>,
).where((r) => r.isOnline).toList();
});
}