Author Topic: Регистрация нового чата пользователем и XEP-0045  (Read 4230 times)

0 Members and 3 Guests are viewing this topic.

Offline San-D

Добрый день.
Коллеги, вопрос по функционалу для работы с чатами. Возможно, вопрос касается openfire, а не Miranda (не уверен).

При регистрации нового чата пользователем, в консоли сервера чат отображается сразу (Openfire - раздел Групповой чат - подраздел Все комнаты).

Если сразу после регистрации чата пригласить нового пользователя, приглашение не передаётся, просто ничего не происходит.

При анализе проблемы выяснил, что чаты, которые создают пользователи, не регистрируются в таблице ofMucRoom БД openfire, (записей нет в таблице). Хотя чат виден в списке в консоли сервера!

Как только открыть настройки нового чата в консоли сервера и просто перезаписать настройки (Openfire - раздел Групповой чат - подраздел Все комнаты - настройки чата - Сохранить изменения), ничего больше не делая, запись в таблице ofMucRoom сразу появляется, и сразу начинают работать приглашения.

Помимо проблемы с приглашениями есть ещё одна: когда пользователь, создавший чат, покидает комнату, комната удаляется с сервера, даже если она отмечена как постоянная, что тоже неправильно и не логично. После перезаписи настроек чата в консоли сервера, поведение системы в этом случае также становится ожидаемым (постоянные чаты не удаляются, даже если нет участников).

Такое ощущение, что новые пользовательские чаты хранятся где-то в дебрях кеша, в БД регистрации сразу не происходит.

Это баг? Фича? Неправильные настройки севера или клиента?


Miranda NG 0.95.11.22555 x64
Openfire 4.5.1
Плагины:
  • Avatar service 0.98.1.2
  • Modern contact list 0.9.1.10
  • Crash dumper 0.1.0.4
  • Db autobackuper 0.1.0.4
  • Database Editor++ 4.0.1.3
  • Miranda NG MDBX database driver 0.95.9.1
  • Dummy protocol 0.2.0.0
  • Floating contacts 0.7.0.5
  • History++ 1.5.1.5
  • IEView 1.6.0.3
  • Import contacts and messages 0.95.11.1
  • IRC protocol 0.95.10.1
  • Jabber protocol 0.95.11.1
  • Keyboard notify ext. 1.6.0.1
  • Plugin updater 0.2.0.6
  • Smileyadd 0.3.1.2
  • Spell checker 0.2.6.6
  • Status manager 1.2.0.6
  • TabSRMM 3.6.1.2
  • TopToolBar 0.8.0.5
« Last Edit: 27 05 2020, 13:02:55 by San-D »
 

Offline Apollo2k4

Всё вопросы это про сервер и его конфигурирование.
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга
 

Offline Davis

Можно еще не на сервере, а в миранде открыть диалог настроек комнаты и нажать ОК
 
The following users thanked this post: San-D

Offline San-D

Можно еще не на сервере, а в миранде открыть диалог настроек комнаты и нажать ОК
Смоделировал - работает, благодарю. Взяли на заметку как обходное решение.

 

Offline San-D

Всё вопросы это про сервер и его конфигурирование.
Поменял тему поста.Здесь описана аналогичная проблема:   Сервер Openfire не сохраняет чат в таблице ofMucRoom.

В ответе ссылаются на описание процесса создания комнаты согласно XEP-0045.
В описании протокола в п. 10.1.1 пп. 5 сказано, что инициатор создания комнаты должен подтвердить конфигурацию, и до подтверждения комната должна быть заблокирована.Именно поэтому эта рекомендация работает:
Можно еще не на сервере, а в миранде открыть диалог настроек комнаты и нажать ОК
В настройках openfire не нашли опций, которые могут помочь исправить ситуацию.
Всё-таки похоже проблему следует решать на стороне Miranda, ибо XEP-0045...То есть при регистрации новой комнаты, клиент должен прочитать настройки по умолчанию и сразу подтвердить их, чтобы разблокировать комнату.

Есть идеи как жить дальше?  :-\
 
The following users thanked this post: Davis

Offline ghazan

Есть идеи как жить дальше? 
А у нас процесс регистрации заточен на ejabberd, где согласно версии этого XEP от 2002 года должен прилетать тег <created/>, а в openfire он, с очевидностью, не прилетает. Поправил, отправил дев билд строиться.