redsolution / xabber-web

Open source XMPP client for Web
GNU Affero General Public License v3.0
133 stars 52 forks source link

Archived chats and messages do not load #46

Open Okilele-newbie opened 4 years ago

Okilele-newbie commented 4 years ago

When opengin Xabber in Windows environment archived messages do not load:

Additional information:

Edit: Fixed, this was not related to the platform (Win vs Ubuntu) but to the XMPP server, actually jabber.fr. One more time France demonstrates its incredible capabilities to do things differently as the rest of the world (I'm French)

oxoWrk commented 4 years ago

Your XMPP server( jabber.fr) does not support XEP-0313: Message Archive Management (central archive on their server). The left list of chats remains empty because Xabber does not store history locally, but downloads it from the server and creates recent chats based on the received data.

Okilele-newbie commented 4 years ago

Hi,

thanks for your explanation. Maybe you could consider having an alert message when adding a user registered on such servers.

Beyond this you succeeded in hiding all technical stuff and Xabber is (almost) as friendly as Whatsapp!

Regards Bruno

Le mer. 26 août 2020 à 14:42, Ilya Michu de Kalashnikov < notifications@github.com> a écrit :

Your XMPP server( jabber.fr) does not support XEP-0313: Message Archive Management (central archive on their server).

The left list of chats remains empty because Xabber does not store

history locally, but downloads it from the server and creates recent chats

based on the received data.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/redsolution/xabber-web/issues/46#issuecomment-680855172, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANUSBOV5N7QMM2GLGZIKXXTSCT7MTANCNFSM4QLRJB5Q .

ELForcer commented 3 years ago

Аналогичная проблема после обновления Ejabberd с 19.08 до 21.07.

Перестали подгружаться обращения. Использую mod_mam для хранения истории сообщений. image

Судя по дате изменения, переписка по прежнему сохраняется после обновления сервера image

Xabber показывает, что сервером поддерживается XEP-0313 image

Ошибок в консоли на счет истории не наблюдается. image

ELForcer commented 3 years ago

Чуть больше истории из браузера.

<!-- Исходящее сообщение -->
<iq type='set' xmlns='jabber:client' id='bef8f8df-7e16-47fb-b277-9d201a5b91db:sendIQ'>
    <query xmlns='urn:xmpp:mam:2' queryid='d33d643a-891d-42b9-b17c-d5acec8cb788'>
        <x xmlns='jabber:x:data' type='submit'>
            <field var='FORM_TYPE' type='hidden'>
                <value>urn:xmpp:mam:2</value>
            </field>
            <field var='with'>
                <value>84000_it1@eais</value>
            </field>
        </x>
        <set xmlns='http://jabber.org/protocol/rsm'>
            <max>20</max>
            <before/>
        </set>
    </query>
</iq>   
<!-- Входящее сообщение -->
<message xmlns='jabber:client' to='elforcer@eais/176813137530282498448770' from='elforcer@eais'>
    <result id='1627286368693829' queryid='d33d643a-891d-42b9-b17c-d5acec8cb788' xmlns='urn:xmpp:mam:2'>
        <forwarded xmlns='urn:xmpp:forward:0'>
            <message xml:lang='ru' to='84000_it1@eais/QIP' from='elforcer@eais/QIP' type='chat' id='qip_1674' xmlns='jabber:client'>
                <archived by='elforcer@eais' id='1627286368693829' xmlns='urn:xmpp:mam:tmp'/>
                <stanza-id by='elforcer@eais' id='1627286368693829' xmlns='urn:xmpp:sid:0'/>
                <active xmlns='http://jabber.org/protocol/chatstates'/>
                <request xmlns='urn:xmpp:receipts'/>
                <body>Сообщение 1.</body>
            </message>
            <delay from='eais' stamp='2021-07-26T07:59:28.693829Z' xmlns='urn:xmpp:delay'/>
        </forwarded>
    </result>
</message>  
<!-- Входящее сообщение -->
<message xmlns='jabber:client' to='elforcer@eais/176813137530282498448770' from='elforcer@eais'>
    <result id='1627286434738753' queryid='d33d643a-891d-42b9-b17c-d5acec8cb788' xmlns='urn:xmpp:mam:2'>
        <forwarded xmlns='urn:xmpp:forward:0'>
            <message xml:lang='ru' to='elforcer@eais/QIP' from='84000_it1@eais/QIP' type='chat' id='qip_2854' xmlns='jabber:client'>
                <archived by='elforcer@eais' id='1627286434738753' xmlns='urn:xmpp:mam:tmp'/>
                <stanza-id by='elforcer@eais' id='1627286434738753' xmlns='urn:xmpp:sid:0'/>
                <active xmlns='http://jabber.org/protocol/chatstates'/>
                <request xmlns='urn:xmpp:receipts'/>
                <body>Сообщение 2 </body>
            </message>
            <delay from='eais' stamp='2021-07-26T08:00:34.738753Z' xmlns='urn:xmpp:delay'/>
        </forwarded>
    </result>
</message>  

Как видно по логам, история запрашивается и получается. Мб формат поменялся? В чате просто висит сообщение

Вторник, 14 Сентября 2021 Загрузка истории…

andrewnenakhov commented 3 years ago

Вы имеете ввиду, что у Вас не загружается история во всех чатах, или не грузится история в конкретном чате, в который Вы провалились?

ELForcer commented 3 years ago

Во всех чатах.

andrewnenakhov commented 3 years ago

С Вами сложно коммуницировать, потому что Вы очень отрывочно описываете проблему, и приходится догадываться, что же там происходит. Но, если при входе в чат (например, через открытие чата с контактом через список контактов или после получения входящего сообщения) у вас история грузится, но так общая история всех чатов не загружается, то это нормально.

Новые версии Xabber Web ориентированы на наличие протокола XEP-SYNC, реализованного пока только в Xabber Server, который позволяет быстро за несколько секунд синхронизировать историю даже в несколько сотен диалогов. Ввиду этого "старый" способ загрузки истории был отключен. Он заключался в том, что приходилось отправлять запросы на каждый контакт, и полная синхронизация истории занимала до нескольких минут, это не очень приемлемо для нормальной работы и достаточно затруднительно в поддержке и очень тормозить браузер, поэтому это была изначально временная мера до разработки более совершенного решения.

Кстати, рекомендую перейти на использование Xabber Server, скоро выйдет новая версия.

ELForcer commented 3 years ago

В общем ситуация такова. Если обновить страницу с клиентом Xabber то вся история будет потеряна, и та, которая была закэширована пока страница с клиентом работала (в принципе это логично, поскольку клиент не сохраняет нигде историю), так и та, которая подгружалась с сервера при открытии контакта.

Если смотреть консоль, то никаких ошибок там нет.

Если открыть лог Вебсокета, то видно что клиент отправляет запрос на сервер и сервер её выдает (цитата выше), но в клиент это не встраивается. У него по-прежнему висит сообщение, что история загружается.

По поводу подгрузки истории. До 2.3.2 действительно старт клиента был долгим, может даже до 1 минуты. Но 2.3.2 теперь загружается быстро и историю почти сразу подгружает. В общем проблема только с отображением истории переписки с сервера Ejabberd 21.07.

Я тестировал Xabber Server, у неё появилась поддержка загрузки пользователей с LDAP?

ELForcer commented 3 years ago

и приходится догадываться, что же там происходит.

Тут тоже соглашусь. Думал наставить в chat.js флаги в консоль, что бы понять какой код отвечает за отображении истории и что ему не нравится для её отображения.

ELForcer commented 3 years ago

В общем я откатился до Ejabberd 19.05 и история сообщений снова стали подтягиваться. Поэтому проблему можно считать закрытой. А так подожду выход новой версии Xabber Server.