Miranda NG Official Community Forum
Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: strelkov.av on 28 04 2020, 11:41:34
-
Добрый день, подскажите пожалуйста, имеется Openfire с плагином Monitoring Service, переписка успешно сохраняется в базе данных
Заложен ли вообще такой функционал в XMPP/Openfire который позволял бы клиентам забирать себе переписку
Например удалил клиенты миранды полностью и с нуля поставил, а после авторизации имел бы доступ к переписке сохраненной в базе
-
Это https://xmpp.org/extensions/xep-0313.html
Миранда не поддерживает его.
-
Спасибо!
-
Ну зачем так сразу-то :)
313 миранда не поддерживает, а 136 - поддерживает.
И Monitoring Service некоторых версий - тоже. Периодически они эту поддержку ломают, потом восстанавливают.
Сейчас у меня стоит 1.7.0 - в нем XEP-0136 работает, потом - нет
Опенфайр 4.5.2
-
Ну зачем так сразу-то 313 миранда не поддерживает, а 136 - поддерживает. И Monitoring Service некоторых версий - тоже. Периодически они эту поддержку ломают, потом восстанавливают. Сейчас у меня стоит 1.7.0 - в нем XEP-0136 работает, потом - нет Опенфайр 4.5.2
правильно ли я вас понимаю, и скорее уже даже сам запутался, теперь появились сомнения =)
правильно ли я понимаю, что для хранения истории на сервере, без разницы с какого клиента идёт переписка, это так сказать возможности сервера, а в данном случае
если это openfire то благодаря плагину Monitoring service, т.е. тут без разницы каким я клиентом переписываюсь, пускай хоть каким то самописным, на php через xmpp протокол
просто сервер получая это сообщение, точнее плагин monitoring service, просто его также ещё в свои таблицы сохраняет
а вот поддержка так называемых протокол 136 и 313 это уже особенность как клиента так и сервера, т.е. openfire , точнее плагин monitoring service (ведь он получается владелец истории) если поддерживает допустим 313ый, и при это клиент поддерживает 313, то получается клиент делает запрос серверу по данному протоколу и если сервер отвечает ему, то клиент тянет историю по конкретному пользователю
-
strelkov.av,
Да, правильно
-
Хм, и получается по вашим словам Monitoring Service версии версии 1.7.0 отдаёт клиентам историю пользователя по протоколу xep-0136, а миранда в свою очередь её принимает
-
Поддержка XEP-0136 скоро будет удалена из девелоперской версии, и реализована поддержка MAM, так что, возможно, вам нет смысла тратить время на настройку устаревшей технологии.
-
Ну там настройки-то :) поставить мониторинг версии 1.7.0 и все
Когда миранда научится MAM - с радостью обновить плагин до последней версии
-
В девелоперскую версию приехал MAM, поддержка XEP-136 выпилена.
-
ух ты ха, пошел тестировать
-
не работает :(
History recording mode неактивно и стоит Never
-
Нужен нетлог ядра и протокола в момент логина.
-
Сейчас сделаю
Ну и выпиливать 136 рановато, ибо, например, в openfire плагин Monitoring Service по MAM отдает только то, что появилось после появления поддержки 313 в плагине. Т.к. формат хранения изменился.
А по 136 отдает все - и старое и новое.
Я бы подумал еще как быть с 136 в миранде.
У меня, например, сохраняется все с первого дня внедрения.
-
Очень сложно очищать лог от личной инфы :(
Вот то, что содержит mam:2
<iq type="result" id="mir25fbaf2876ac25bc_6" from="domain.com" to="usernle1@domain.com/HOME"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="server" name="Openfire Server" type="im"/><identity category="pubsub" type="pep"/><feature var="http://jabber.org/protocol/pubsub#retrieve-default"/><feature var="http://jabber.org/protocol/pubsub#purge-nodes"/><feature var="http://jabber.org/protocol/pubsub#subscription-options"/><feature var="http://jabber.org/protocol/pubsub#outcast-affiliation"/><feature var="msgoffline"/><feature var="jabber:iq:register"/><feature var="http://jabber.org/protocol/pubsub#delete-nodes"/><feature var="http://jabber.org/protocol/pubsub#config-node"/><feature var="http://jabber.org/protocol/pubsub#retrieve-items"/><feature var="http://jabber.org/protocol/pubsub#auto-create"/><feature var="http://jabber.org/protocol/disco#items"/><feature var="urn:xmpp:mam:0"/><feature var="urn:xmpp:mam:1"/><feature var="urn:xmpp:mam:2"/><feature var="http://jabber.org/protocol/pubsub#persistent-items"/><feature var="urn:xmpp:fulltext:0"/><feature var="http://jabber.org/protocol/pubsub#create-and-configure"/><feature var="http://jabber.org/protocol/pubsub#retrieve-affiliations"/><feature var="urn:xmpp:time"/><feature var="http://jabber.org/protocol/pubsub#manage-subscriptions"/><feature var="urn:xmpp:bookmarks-conversion:0"/><feature var="http://jabber.org/protocol/offline"/><feature var="http://jabber.org/protocol/pubsub#publish-options"/><feature var="urn:xmpp:carbons:2"/><feature var="http://jabber.org/protocol/address"/><feature var="http://jabber.org/protocol/pubsub#collections"/><feature var="http://jabber.org/protocol/pubsub#retrieve-subscriptions"/><feature var="vcard-temp"/><feature var="http://jabber.org/protocol/pubsub#subscribe"/><feature var="http://jabber.org/protocol/pubsub#create-nodes"/><feature var="http://jabber.org/protocol/pubsub#get-pending"/><feature var="urn:xmpp:blocking"/><feature var="http://jabber.org/protocol/pubsub#multi-subscribe"/><feature var="http://jabber.org/protocol/pubsub#presence-notifications"/><feature var="urn:xmpp:ping"/><feature var="urn:xmpp:archive:manage"/><feature var="http://jabber.org/protocol/pubsub#item-ids"/><feature var="http://jabber.org/protocol/pubsub#meta-data"/><feature var="jabber:iq:roster"/><feature var="http://jabber.org/protocol/pubsub#instant-nodes"/><feature var="http://jabber.org/protocol/pubsub#modify-affiliations"/><feature var="http://jabber.org/protocol/pubsub"/><feature var="http://jabber.org/protocol/pubsub#publisher-affiliation"/><feature var="http://jabber.org/protocol/pubsub#access-open"/><feature var="jabber:iq:version"/><feature var="http://jabber.org/protocol/pubsub#retract-items"/><feature var="jabber:iq:privacy"/><feature var="jabber:iq:last"/><feature var="http://jabber.org/protocol/commands"/><feature var="http://jabber.org/protocol/pubsub#publish"/><feature var="urn:xmpp:archive:auto"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="jabber:iq:private"/><feature var="http://jabber.org/protocol/rsm"/><x xmlns="jabber:x:data" type="result"><field var="FORM_TYPE" type="hidden"><value>http://jabber.org/network/serverinfo</value></field><field var="admin-addresses"><value>xmpp:davis@domain.com</value><value>mailto:davisr@tv5.zp.ua</value></field></x><x xmlns="jabber:x:data" type="result"><field var="FORM_TYPE" type="hidden"><value>urn:xmpp:dataforms:softwareinfo</value></field><field var="os"><value>Windows Server 2012 R2</value></field><field var="os_version"><value>6.3 x86 - Java 1.8.0_202</value></field><field var="software"><value>Openfire</value></field><field var="software_version"><value>4.5.2</value></field></x></query></iq>
<iq type="get" id="mir25fbaf2876ac25bc_12"><prefs xmlns="urn:xmpp:mam:2"/></iq>
<iq type="error" id="mir25fbaf2876ac25bc_12" to="usernle1@domain.com/HOME"><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>
-
У меня, например, сохраняется все с первого дня внедрения.
скачал один раз всё в профиль, забэкапил и забыл о XEP-0136
-
<error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
гавна кусок... поправил
-
Эээ, а что поменялось?
Теперь в интерфейсе миранды выбор режима работы MAM недоступен.
И похоже Миранда теперь думает, что MAM сервером не поддерживается. Т.к. после запроса prefs и ответа "не поддерживается" она не пытается загружать историю сообщений.
Но!
Поддержкка Archiving Preferences опциональна (https://xmpp.org/extensions/xep-0313.html#prefs):
6. Archiving Preferences
Depending on implementation and deployment policies, a server MAY allow the user to have control over the server's archiving behaviour. This specification defines a basic protocol for this, and also allows a server to offer more advanced configuration to a user.
Если сервер не дает возможности пользователю настраивать поведение MAM, то это не значит, что MAM отсутствует.
-
Davis,
изменилось то, что выбор режима недоступен, но история при этом должна скачиваться, как минимум пропущенные сообщения.
также при получении сообщений учитывается их серверный идентификатор, чтобы не плодить дубли
Ну т.е. в логе должен быть сначала запрос prefs, а когда оно обосрется, то вдогонку должен улететь запрос истории с тем же xmlns=mam:2
-
Не скачивается... Я даже удаляю контакт, перезапускаю миранду, открываю контакт и там пусто, в истории пусто и поиск в нетлоге по mam:2 дает только результаты диско и запрос prefs и все.
-
Я даже удаляю контакт, перезапускаю миранду, открываю контакт и там пусто, в истории пусто
MAM автоматом восстанавливает только пропущенные сообщения, чтобы скачать историю конкретного контакта, надо ручками запрос делать. Я пока такое не прикручивал.
PS: и посмотри, есть ли у тебя во входящих сообщениях <stanza-id />
-
Зачем же тогда выпилил 136?
Я думал полная замена готова :(
-
PS: и посмотри, есть ли у тебя во входящих сообщениях <stanza-id />
в нетлоге? Нет
-
в нетлоге? Нет
тогда и поддержки MAM на сервере нет. надо включать
-
На предыдущей странице ответ сервера на
<query xmlns="http://jabber.org/protocol/disco#info">
Ну и мобильные приложения типа Conversations используют MAM с этого сервера, в 0136 они не умеют.
На сервере стоит последний 2.0.1 Monitoring Service плагин. Все включено и архивируется.
-
Ну и нам бы тогда вернуть поддержку XEP-0136...
-
Davis,
тогда определись с показаниями.
в плагине стоит логика, что если пришел _любой_ ответ на prefs, то летит запрос на получение истории (если ты получил или отправил хоть одно сообщение).
и если MAM включен, то в теле сообщения обязан быть <stanza-id/>
я не верю, что Openfire такое говно :)
Ну и нам бы тогда вернуть поддержку XEP-0136...
конечно нет. оно пока побудет в стабле, но из девелоперской версии этот убогий костыль исчез навсегда
-
Что не так с моими показаниями?
У меня MAM работает.
А в миранде, оказывается,
надо ручками запрос делать. Я пока такое не прикручивал.
Я-то отреагировал на сообщение
В девелоперскую версию приехал MAM, поддержка XEP-136 выпилена.
А оно вон как.
-
Davis,
если поддержка MAM включена, то, согласно стандарту, в сообщениях должны появляться серверные идентификаторы со stanza-id.
без них счастья всё равно не будет
-
ghazan,
Да, я почитал стандарт. Но раз извлечения архива в миранде нет, то и говорить пока не о чем.
-
Davis,
есть. архив извлекается с предыдущего полученного сообщения, но если его нет, то архив не извлекается, по понятным причинам (а то можно огрести ненароком тысяч 50 сообщений)
-
Я опять запутался. Итого, есть планы в ближайшее время дорабатывать MAM?
-
Я опять запутался
Я понял это так: если в базе сообщений нет, то MAM не загружает сообщения, поскольку тогда прилетит вся история, а она может быть огромной. Хотя, Conversations как-то это разруливает. Возможно, подгружает неспеша, порциями.
В Миранде @ghazan планирует это сделать опционально, только если пользователь явно дернет соответствующий пункт меню. Если там прилетит 50к сообщений, то пользователь сам себе злобный буратино. Про реализацию этой возможности я завёл тикет.
Если же в базе есть сообщение, то MAM загружает сообщения, которые новее этого последнего сообщения в базе. Этого как раз мне и не хватало: у меня одновременно запущена Миранда на десктопе и мобильный клиент на телефоне. Так вот, сообщения при этом летят в мобильный клиент (его автор принципиально не делает поддержку приоритетов), а в Миранде пусто. С MAM Миранда будет получать полную историю.
-
В ситуации с сабжем этого топика миранда не подгружает ничего через MAM.
Conversations и "миранда с XEP-0136" загружают историю с сервера.
Хотелось бы такого же поведения и в миранде с MAM
-
а в Миранде пусто
А XEP-0280 с этим не помогает разве?
-
Davis,
А XEP-0280 с этим не помогает разве?
c карбонками в Conversations какой-то отдельный ужас, какой - я уже не помню :-)
-
Так.
Мешанина. Я понял, что функции полной загрузки архива нет, но мы ждем. ОК.
Как мне протестировать то, что есть сейчас?
У меня есть миранда, Conversations 2.8.4 и опенфайр 4.5.2 + Monitoring Service 2.0.1
Как мне увидеть новые плюшки MAM в миранде?
-
Как мне увидеть новые плюшки MAM в миранде?
ща, один админ OpenFire освободится, будем с ним пробовать
-
А XEP-0280 с этим не помогает разве?
Нет, в Миранде они включены, а в Conversations, вроде, нет опции, значит, включены по умолчанию. Но в Миранду ничего не приходит.
-
Странно, у меня все дублируется
Вот одновременно подключен Conversations 2.8.7 и Миранда
Пишу сообщение контакту в одном - тут же появляется и в другом
Без МАМов
P.S. В обратном направлении тоже дублируется.
-
Поддержка XEP-0136 возвращена, поскольку поддержка MAM в OpenFire - полное говно.
-
Добрый вечер, резюмируя :). Подскажите пожалуйста, имеется Миранда 0.95.11с плагином history++ , Openfire 4.5.2.
Теперь хочу дать пользователям возможность не бояться за потерю истории переписки. Чтобы если допустим на новом компьютер поставили с нуля клиент и когда авторизовались на сервере, история автоматом загрузилась. Я так понимаю мне нужно Monitoring service 1.7.0 и какие то ещё дополнительные настройки сделать в плагине протокола jabber?
-
В 0.95.12 нужно будет включить XEP-0136 в настройках. В 0.95.11 он и так включён по умолчанию, если память не изменяет.
-
Добавлен пункт загрузки истории через MAM в меню контакта (виден только если сервер декларирует поддержку MAM)
-
Налажена работа MAM с OpenFire (возможно).
-
Там как раз мониторинг сервис плагин обновился до 2.1.0
Сам пока проверить не мргу...
-
Обновил плагин в опенфаере 4.5.2,вроде заработало.но не факт,шо ж они тянут кота за я..а с этой функцией блин,у мобильных все работает как часы и у гаджима тоже,неужели за что то зацепились или дисонанс они заимели на свои умные головы...
-
шо ж они тянут кота
Кто?! :o
-
опенфайровцы, видимо, там через одно место MAM сделан
-
Приветствую,уже с месяц тестирую новую версию от 31.07.20,на двух серверах.на ежаберде и опенфаере, все последних стабильных релизов и плагинами для опена.
Миранда как то чудно себя ведет в плане хистори,что в работе с ежабердом.что с опенфаером, подтягивание хистори в ручном режиме,и то кусками...мухи отдельно,мед отдельно,в плане - диалог между двумя пользователями разбивается на исходящие и входящие,в контакт листе первого,допустим Вася, появляется пользователь Вася и в окне чата только сообщения от Васи исходящие,а в окне чата второго пользователя, допустим Коля,с кем общается Вася,только входящие от Коли....потом же после ручной загрузки хистори,в дальнейшем,в окне чата с Колей у Васи идет уже совмещенный диалог и входящие и исходящие.
Карбон и оффлайн сообщения тоже работают вроде корректно потом после первой подтяжки хистори. Сервера поддерживают гарантировано все необходимые ХЕРы,что подтверждено тестами с мобильными клиентами и др. десктопными (для версий линукса и окон),автоматическое подтягивание хистори 313 ХЕР присутствует.Ежабберд работает работает по внешнему инету,опенфаер работает только по внутренней локальной сети и только с десктопными клиентами разных систем(окна и линукс).Уточните, будет ли корректирующий релиз версии от 31.07.2020,со стабилизацией работы 313 хера,благодарю.
-
jabbazawr,
1. OpenFire поддерживает MAM ужасно, грубо нарушая все стандарты. В частности, он не проставляет <stanza-id/> при архивации сообщения.
2. Миранда при старте автоматически всасывает все пропущенные сообщения с момента получения последнего, игнорируя сообщения, направленные на ее полный jid (предполагается, что они и так все приходят). Можно обсудить алгоритм этой фильтрации
-
Ага. Входящие пропущенные.игнорируя сообщения, направленные на ее полный jid (предполагается, что они и так все приходят)...Э? Это как?Почему игнорируются?Вполне ж может быть два инстанса на двух разных машинах... Кем предполагается приход сообщения? Клиентским приложением? В корне неверно. А если я запустил третий экземпляр с нуля, туда сообщения не подтягиваются? Причины?Нормальные клиенты подтягивают столько, сколько хочет юзер. Хоть с самого начала. Вот просто пример: грохнулся винт. Сделана новая инсталляция. И что? История на сервере есть, но её никак не достать?
-
Ага. Входящие пропущенные.игнорируя сообщения, направленные на ее полный jid (предполагается, что они и так все приходят)...Э? Это как?Почему игнорируются?
Потому что оффлайновые сообщения на собственный полный жид и так приходят, а с учетом того, что сраный OpenFire не проставляет <stanza-id> при архивации сообщений, пойдут дубли (миранда отсеивает сообщения только с проставленными stanza-id). Если миранда запускается на разных машинах, то ей надо давать разные resource, тогда чтение сообщений не будет порождать дубли. Чтобы всосать историю контакта с самого начала, у него есть пункт загрузки серверной истории
-
В 0.95.12 нужно будет включить XEP-0136 в настройках. В 0.95.11 он и так включён по умолчанию, если память не изменяет.
Если эта настройка включена, то что происходит с XEP-0313 в свежих версиях? При условии, что сервер декларирует поддержку XEP-0313.
-
Если эта настройка включена, то что происходит с XEP-0313 в свежих версиях? При условии, что сервер декларирует поддержку XEP-0313.
Если сервер декларирует MAM, то он используется всегда
-
Упс. Зачем тогда галка "использовать 136"?
У меня впечатление, что сейчас с openfire 4.6.0/2.1.0 миранда использует все что умеет при включенной галке. И это странно и приводит к странным результатам. Там еще и сервер прикалывавется(я issue у них завел), но и миранда тоже.
Для меня был бы логичен селектор - 136 или 313, ведь 313 полностью заменяет 136?
Пока мы не можем сказать, что 313 в миранде готов к бою, я бы мог использовать 136 в своей сети.
А сейчас я не могу обновить свой парк до свежего билда :(
Ибо на сервере пока 136
-
Если галка про 136 включена и сервер декларирует MAM, они используются вместе.
-
Davis,
Упс. Зачем тогда галка "использовать 136"?
Потому что 0136 не содержит уникального id записи, и, следовательно, легко порождает дубли.
Чтобы отключать его нахрен, даже если сервак декларирует его поддержку
-
Ясно. Мои тесты показывают, что при включенном 136 свежая миранда делает три копии сообщения там, где 23077 - только две.
Подожду пока пофиксят это (https://github.com/igniterealtime/openfire-monitoring-plugin/issues/127) и попробую еще раз..
-
https://github.com/miranda-ng/miranda-ng/issues/2604
думаю, проще всего сделать MAM отключаемым, добавив галку в опции
таким образом, будет 3 возможных комбинации галок: 136, MAM, оба
-
Начиная с билда 23434, можно выключить MAM и наслаждаться 136.
-
Спасибо
-
Очень не хватает полной загрузки истории переписок. Если даже не автоматом, то хотя бы кнопку какую-нибудь "Загрузить всю историю переписок", а как сейчас, загрузка только для одного контакта, когда в ростере 300 юзеров и каждого надо тыкнуть - никто этим заниматься не станет.
Gajiim сам подтягивает историю без проблем.
Есть планы по доработке загрузки всей истории? ::)
-
rensars,
должна при старте грузиться полностью вся пропущенная история, если менеджер архивов возвращает id для сообщений и доступен поиск по id
-
Добрый день, подключусь к переписке.
Тоже проблема с историей.
Есть Openfire 4.6.2, build b61bce3 и Miranda NG Version: 0.95.13.1 build #23823 (675e2d1f94) x64
Работает история только по 136 хер, но странно. Иногда при рестартах и просто так миранда задваивает историю,
но не все сообщения. Логику не понял.
При этом в опенфайре с историей полный порядок.
Как это возможно решить ?
Сейчас пока 10 клиентов работает, но проблема уже чувствительна.
-
Дубли это неустранимый бич 136 хер-а (https://forum.miranda-ng.org/index.php?topic=6043.msg27758#msg27758), за что мы все его так любим (нет)
решить вопрос до конца можно, лишь перейдя на MAM.
-
Сие печаль. Но MAM с openfire у меня почему-то работать не хочет, хотя это странно. И такого косяка у gajim не замечал. Но там свои заморочки.