Мне нужны нормальные push-уведомления для пользователей моего мобильного чата, как и ожидается от любого чата сегодня.
Я прочитал руководство по MUC/SUB и реализовал свои комнаты таким образом, поэтому мои клиенты подписаны на сообщения комнаты. Комнаты mod_muc настроены как peristent и allow_subscriptions... и работают как положено, клиенты получают сообщения, когда находятся в сети, без необходимости присоединяться к комнате.
Я включил mod_push для перехвата сообщений, предназначенных для офлайн-пользователей.
Я использую свой собственный компонент XMPP AppServer для обработки офлайн-сообщений (форк: https://git.happy-dev.fr/startinblox/prosody/xmpp-notification-component)
Клиенты подписываются на push-уведомления на моем AppServer (используя раздел IQ-set-enable, как описано в XEP-0357)
Мой AppServer правильно получает сообщения, которые отправляются непосредственно на полный JID подписанного и отключенного пользователя, как и ожидалось. Итак, я думаю, что в целом правильно реализовал и настроил компонент appServer. (однако я не знаю, зачем нужен полный JID)
Однако мой AppServer не получает сообщения, которые отправляются в комнаты MUC для пользователей, которые подписаны как на muc, так и на push и в автономном режиме.
Что мне не хватает? Я правильно понимаю, что MUC/SUB должен поддерживать mod_push из коробки? Почему мои сообщения MUC не отправляются подписавшимся пользователям? Зачем мне нужен полный JID с ресурсом для работы push-уведомлений?
(Используя ejabberd 20.4.0)