chatTypingEventProvider top-level property
final
Implementation
final chatTypingEventProvider = StreamProvider.autoDispose
.family<List<types.User>, String>((ref, roomId) async* {
final client = ref.watch(alwaysClientProvider);
final userId = ref.watch(myUserIdStrProvider);
yield [];
await for (final event in client.subscribeToTypingEventStream(roomId)) {
yield event
.userIds()
.toList()
.map((i) => i.toString())
.where((id) => id != userId) // remove our User ID
.map(
(id) => types.User(
id: id,
firstName: id,
),
)
.toList();
}
});