I had a problem with Real Time messages in Appwrite with Flutter, the subcription was null, but I think all setups were true because I have used a likewise code for another part of my project here is my code:
@override
Widget build(BuildContext context, WidgetRef ref) {
UserModel copyOfUser = userModel;
return Scaffold(
body: ref.watch(getLatestUserProfileDataProvider).when(
data: (data) {
if (data.events.contains(
'databases.*.collections.${AppWriteConstants.usersCollection}.documents.${copyOfUser.uid}.update',
)) {
copyOfUser = UserModel.fromMap(data.payload);
}
return UserProfile(user: copyOfUser);
},
error: (error, st) => ErrorText(
error: error.toString(),
),
loading: () {
return UserProfile(user: copyOfUser);
},
),
);
}
final getLatestUserProfileDataProvider = StreamProvider((ref) {
final userAPI = ref.watch(userAPIProvider);
return userAPI.getLatestUserProfileData();
});
@override
Stream<RealtimeMessage> getLatestUserProfileData() {
return _realtime.subscribe([
'databases.${AppWriteConstants.databaseId}.collections.${AppWriteConstants.usersCollection}.documents'
]).stream;
}