MAM XEP-0313 - запрос списка разговоров для конкретного пользователя
Я разрабатываю мобильное приложение для обмена сообщениями (ios) и поддерживаю функцию выхода из системы. Я хочу сохранить список последних разговоров, когда пользователи снова войдут в систему. Потому что локальное хранилище приложения очищается после выхода из системы.
Я успешно использую MAM XEP-0313, но не нашел IQ для запроса списка бесед определенного пользователя.
For example:
chat
user_a -> user_b
user_c
user_d
user_f
Пользователь user_a имел беседы с 4 пользователями, и он хочет выйти из приложения, а когда он возвращается, ему необходимо получить эти последние 4 цепочки бесед в своем списке.
Что я делаю, когда пользователь сообщает другому пользователю, что я добавляю их в свой список и использую логику автоматической подписки. Поэтому я подумал использовать логику истории реестра для запроса этой коллекции, но я также ожидал, что модуль MAM будет иметь более прямой путь...
Я использую сервер MongooseIM
1 ответ
Я понимаю вашу проблему, решение, которое у вас есть, вероятно, лучшее, которое вы можете иметь со стандартными XEP и их реализациями.
Список разговоров фактически отсутствует в спецификации MAM или вообще в XMPP. Есть некоторые работы по определению расширения, чтобы вы могли получить все разговоры, где у вас есть непрочитанные сообщения (так называемая "непрочитанная синхронизация"). Будет ли этого достаточно для вас, или вы бы предпочли получить какую-то "входящую почту". Под "входящими" я подразумеваю список всех последних разговоров с количеством непрочитанных сообщений, где есть несколько непрочитанных сообщений.