Я написал код, который отлично работает с правилами по умолчанию. Код такой:
function listenerNewMessages(chats) {
chats.forEach(function(item) {
db.collection("pm").doc(chats[0]).collection('messaggi')
.onSnapshot(function(snapshot) {
snapshot.docChanges().forEach(function(change) {
if (change.type === "added" && change.doc.data().idUser != idUser && (String(Date.now()) > change.doc.id && dateChat < change.doc.id) && idChat != item) {
//alert('hai ricevuto un nuovo messaggio in '+ item)
$('#contact-'+item).removeClass('flash')
setTimeout(function(){
$('#contact-'+item).addClass('flash')
}, 50);
}
})
})
})
}
Но если я буду использовать эти правила
service cloud.firestore {
match /databases/{database}/documents {
match /pm/{pm} {
allow read, write: if request.auth.uid == resource.data.partecipanti.partecipante1 || request.auth.uid == resource.data.partecipanti.partecipante2;
}
}
}
Я получаю
Uncaught Error in onSnapshot: Error: Missing or insufficient permissions.
что я делаю не так?