Open Oreolek opened 5 years ago
А можно логи транспорта? Ещё интересует версия.
Версия git master
Лог (без токена): [edit]
Транспорт сообщает, что не смог создать групчат. Почему?
Вероятно (но не проверено), что дело в новой фиче новой версии prosody 0.11.x:
https://prosody.im/doc/modules/mod_muc#tombstones
По умолчанию prosody теперь не позволяет создать комнату, если она была недавно удалена. Чтобы это выключить, нужно указать muc_tombstones = false
.
Удалось проверить? Работает без tombstones?
Кстати, транспорт вполне безопасно можно сделать MUC-админом и тогда он наверняка сможет ходить по конференциям даже с muc_tombstones. А ещё это избавит от багов в случаях, когда кто-то создал конференцию раньше него самого.
В общем, это какая-то настройка на сервере. Пока непонятно, что именно, но сервер отказывает транспорту в создании комнат.
Вроде починилось. Старые комнаты надо удалять вручную (выбрать модуль conferences в поиске сервисов -> команды -> destroy rooms)
Текущие настройки:
muc_tombstones = false;
muc_room_locking = false;
А, не, не починилось. Снова идёт. Попробую больше инфы собрать.
Плюсую. Также происходит в конференциях, когда кто-то присылает сообщение в ответ на несколько моих. Выглядит все так:
мое сообщение 1 мое сообщение 2 мое сообщение 3 < входящее сообщение мое сообщение 1 мое сообщение 2 мое сообщение 3
Если убить vk4xmpp в момент этого бага, то при следующем старте он снова спамит Сервер ejabberd 18.01
В логах есть warning:vk4xmpp: User wasn't found in the database and no token or password was given
@Ledarium В этом issue рассматривается косяк именно с сообщениями в конференции. Связано это с тем, что транспорт не получает подтверждения о создании конференции и пытается создать её снова. А создание включает в себя отправку последних сообщений.
Можно попробовать посмотреть DEBUG-логи.
@Oreolek какие новости?
Пока никаких, нет времени на тесты. Временно не пользуюсь.
Общий вопрос: почему создание комнаты включает отправку последних сообщений? По XEP, создание - это именно запрос presence
. На запрос не ответили - создать комнату не получилось. Из стандарта, кстати, убрали совместимость с Groupchat.
@Oreolek извиняюсь за долгий ответ, но лучше позже, чем никогда.
Я не очень понимаю вопрос. Транспорт отправляет сообщения только если конференцию удалось создать. Не понимаю, что может удивлять в том, что транспорт отправляет сообщения в созданную им конференцию.
Неважно, был ли транспорт закрыт нормально или через kill.
При подключении он начинает повторять последнее сообщение в конференции 5-6 раз. Останавливается только когда ВК присылает капчу.