Я создаю случайное приложение для чата 1: 1 с Flutter и Firestore.
У меня вопрос, есть ли у меня состояние гонки при подключении второго пользователя к чату. Код моего клиентского приложения для добавления второго пользователя в Firestore (первый пользователь уже добавлен в документ Firestore):
await chatRoomReference.setData({
‘secondUserUID': uid,
});
Когда второй пользователь коснется чата, я удаляю опцию, чтобы войти в эту комнату чата из всех клиентских интерфейсов.
Но возможно ли, что если третий пользователь нажмет на чат одновременно (до того как пользователь получит обновление из потока), он также будет добавлен в базу данных? Чат не должен допустить этого.
Есть мысли?