Mengapa tabel mysql muc_room menyimpan bukan ruang persisten?

Server ejabberd saya menggunakan DB mysql sebagai penyimpanan eksternal dan saya menggunakan metode /create_room_with_opts dari API ejabberd untuk membuat kamar saya dengan opsi: {name: "persistent", value: "false"}. Semuanya berfungsi dengan baik dan ruang yang dibuat tampak seperti ruang sementara - ruang tersebut ditutup secara otomatis ketika peserta terakhir meninggalkannya.

Tapi saya punya satu masalah - ruang yang dibuat bukan ruang persisten disimpan di tabel muc_room, meskipun ruang tersebut harus hanya berisi ruang persisten (https://docs.ejabberd.im/developer/sql-skema/#table-muc-room)

Misalnya, saya dapat memiliki ruangan dengan opsi berikut di tabel 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,<<>>}]

Masalah utamanya adalah saya menerima semua kamar saya yang tidak persisten dibuat ulang saat me-restart server ejabberd saya.

Pertanyaan: 1) Mengapa ruangan persisten tidak dibuat dengan API ejabberd yang disimpan di tabel muc_room (mungkin ada bug)? 2) Bagaimana cara menghindari pembuatan ulang ruangan ini saat me-restart server ejabberd (kecuali menghapusnya dari DB: secara manual atau menggunakan acara mysql)?


person Dmitry Sergeyev    schedule 06.02.2020    source sumber


Jawaban (1)


Mengapa ruangan persisten tidak dibuat dengan API ejabberd disimpan di tabel muc_room

Itu sengaja ditambahkan dalam penerapan ini: https://github.com/processone/ejabberd/commit/05c2995c7a4c2afb8481826f9dbe9ed9ec0b282b

untuk mengatasi masalah ini: https://github.com/processone/ejabberd/issues/1954

Rupanya, saat ini hal itu tidak diperlukan, jadi saya telah menghapusnya dalam penerapan baru-baru ini: https://github.com/processone/ejabberd/commit/5574b21dd67ba898ea1ba55fb4556b6cd53c58cd

person Badlop    schedule 07.02.2020
comment
Setelah Anda mencoba solusi ini, jika ini menyelesaikan masalah Anda, tandai jawaban ini sebagai baik, sehingga tidak ada orang lain yang menghabiskan waktu untuk menyelidikinya. - person Badlop; 11.02.2020