Сообщения чата не упорядочены правильно - PullRequest
0 голосов
/ 30 ноября 2018

Я использую Firestore и Flutter для чата.Это работает нормально, но я вижу эту проблему.Иногда сообщения отображаются не по порядку.Например, обычно они сортируются так внизу.Но я тестирую на iOS и Android-симуляторе и вижу, что иногда сообщения отображаются не по порядку.Например я отправляю сообщения на iOS и все ок (по порядку).Затем я отправляю на другой симулятор (например, Android), и сообщения отображаются вверху, а затем начинают убывать (поверх сообщений, отправляемых на iOS).

Вот мой код:

            child: new FirestoreAnimatedList(
              query: reference
                  .orderBy('timestamp', descending: true)
                  .snapshots(),
              padding: new EdgeInsets.all(8.0),
              reverse: true,
              itemBuilder: (_, DocumentSnapshot snapshot,
                  Animation<double> animation, int x) {
                return new Chat(
                    snapshot: snapshot, animation: animation);
              },
            ),

'timestamp': DateTime.now(),

Я пробовал это, но та же проблема:

'timestamp': DateTime.now().millisecondsSinceEpoch.toString()

Я ищу неделиответ, но не найти.Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 01 декабря 2018

Вероятно, вы столкнулись с этой проблемой, потому что устройства сообщают разное время.

Чтобы решить эту проблему, используйте время сервера вместо местного времени.Это можно сделать, установив в поле timestamp значение FieldValue.serverTimestamp().

Документация .

...