Почему mysql таблица "muc_room" хранит не постоянные комнаты? - PullRequest
0 голосов
/ 06 февраля 2020

Мой сервер ejabberd использует mysql БД в качестве внешнего хранилища, и я использую метод / create_room_with_opts API ejabberd для создания своих комнат с параметром: {name: "persistent", значение: "false «} . Все работает, файл и созданные комнаты выглядят фактически как временные - они закрываются автоматически, когда последние участники покидают его.

Но у меня есть одна проблема - созданные не постоянные комнаты сохраняются в таблице muc_room , хотя это должен содержать только постоянную комнату (https://docs.ejabberd.im/developer/sql-schema/#table -mu c -room )

Например, у меня может быть комната со следующими параметрами в таблице muc_room :

[{allow_change_subj,true},
 {allow_private_messages,true},
 {allow_private_messages_from_visitors,anyone},
 {allow_query_users,true},
 {allow_subscription,false},
 {allow_user_invites,false},
 {allow_visitor_nickchange,true},
 {allow_visitor_status,true},
 {anonymous,true},
 {captcha_protected,false},
 {lang,<<>>},
 {logging,false},
 {mam,true},
 {max_users,200},
 {members_by_default,true},
 {members_only,false},
 {moderated,true},
 {password,<<>>},
 {password_protected,false},
 ======> {persistent,false},
 {presence_broadcast,[moderator,participant,visitor]},
 {public,true},
 {public_list,true},
 {title,<<>>}]

Основная проблема в том, что я перезагружаю всю свою непостоянную комнату при перезапуске моего сервера ejabberd.

Вопросы: 1) Почему постоянная комната, созданная с помощью ejabberd API, не хранится в таблице muc_room (возможно, какая-то ошибка)? 2) Как избежать воссоздания этой комнаты при перезапуске сервера ejabberd (кроме удаления его из БД: вручную или с помощью события mysql)?

1 Ответ

0 голосов
/ 07 февраля 2020

Почему постоянная комната, созданная с помощью API ejabberd, не хранится в таблице muc_room

, которая была намеренно добавлена ​​в этот коммит: https://github.com/processone/ejabberd/commit/05c2995c7a4c2afb8481826f9dbe9ed9ec0b282b

чтобы решить эту проблему: https://github.com/processone/ejabberd/issues/1954

По-видимому, сейчас в этом нет необходимости, поэтому я удалил его в недавнем коммите: https://github.com/processone/ejabberd/commit/5574b21dd67ba898ea1ba55fb4556b6cd53c58cd

...