Назад | Перейти на главную страницу

eJabberd: история комнат стирается после перезапуска сервера

Я успешно развернул сервер ejabberd и интегрировал его с мобильным приложением.

Все работает отлично, однако каждый раз, когда я перезагружаю сервер, история каждой комнаты теряется. Фактически, он все еще хранится в базе данных, но клиент больше не может его получить.

Первоначально я думал, что это проблема клиента, но я испытал то же самое, используя известные клиенты, такие как Xabber и Pidgin.

Я несколько раз проверял руководство по настройке https://docs.ejabberd.im/admin/configuration/#mod-muc но я ничего не нашел.

С вами когда-нибудь случалось что-нибудь подобное? В чем может быть причина такого неожиданного поведения?

Вот как настроен moc_muc на сервере:

mod_muc:
    host: "conf.example.com"
    history_size: 1000
    max_users: 1000000
    max_user_conferences: 1000
    default_room_options:
      mam: true
      max_users: 1000000
      members_by_default: true
      members_only: false
      password_protected: false
      persistent: true
      public: true
      moderated: false
      anonymous: false

каждый раз, когда я перезапускаю сервер, история каждой комнаты теряется.

История недавних обсуждений комнаты хранится только в ОЗУ, поскольку не предполагается, что она будет храниться постоянно. Он настроен с опцией history_size, и нет смысла устанавливать высокое значение, поскольку это позволяет новому пользователю знать только последние комментарии в текущем обсуждении. Это не для ведения журнала, не для хранения, не для архивирования, а только для того, чтобы узнать, что такое текущий разговор. Видеть https://xmpp.org/extensions/xep-0045.html#enter-history

Фактически, он все еще хранится в базе данных, но клиент больше не может его получить.

То, что вы видите в базе данных, технически не является упомянутой ранее «историей обсуждения»; это архивирование обсуждений комнаты, которое вы включили с помощью мама вариант. Это постоянно хранит все сообщения комнаты в базе данных. Так что с ними можно будет проконсультироваться в любое время в будущем. Видеть https://docs.ejabberd.im/admin/configuration/#mod-mam