Coder Social home page Coder Social logo

Comments (11)

anyuta1166 avatar anyuta1166 commented on August 24, 2024

The reason I tried to use xabber web for this purpose is that I didn't find any other correctly working xmpp web client.

The only alternative I've found is converse.js, but it has a fatal bug that floods the archive database with message receipts and it is not getting fixed.

from xabber-web.

andrewnenakhov avatar andrewnenakhov commented on August 24, 2024

@anyuta1166 the reason converse floods database is because they use this ugly hack to sync read status between different clients. It is a serious problem in XMPP because XEP-0313 Message Archive does not have a way to mark messages as read.

Actually, to combat this issue (among many others) and make a web and iOS clients work well we had to bite the bullet and develop our own server. Our key principle is that we rather radically change how server interacts with a clients, but leave the federation part intact. Our notable changes to server is addition of quick synchronization protocol, support for editing messages, new advanced group chat protocol, reliable message delivery protocol, and also the push notification extension that CAN work on modern iOS devices, unlike the one described in XEP-0357

Quick synchronization protocol lets clients retrieve latest conversations from server, including the counters of read/unread/seen messages, splitting encrypted conversations from open ones. Others are self-explanatory, I guess.

from xabber-web.

anyuta1166 avatar anyuta1166 commented on August 24, 2024

the reason converse floods database is because they use this ugly hack to sync read status between different clients.

@andrewnenakhov But xabber web works flawlessly even with ejabberd. And doesn't flood the database.

from xabber-web.

anyuta1166 avatar anyuta1166 commented on August 24, 2024

What's about the topic of this issue? Are configuration options working?

from xabber-web.

valeria-gh avatar valeria-gh commented on August 24, 2024

@anyuta1166 You can use the xabber web version from the develop branch or wait for tomorrow's release

from xabber-web.

andrewnenakhov avatar andrewnenakhov commented on August 24, 2024

But xabber web works flawlessly even with ejabberd. And doesn't flood the database.

@anyuta1166 well, thank you, it took a lot of hard work but in my opinion it is far from being flawless. First off, with ejabberd on first login Xabber has to fetch last message from archive for every contact. With rosters of 300+ contacts this becomes a real pain and takes 5-7 minutes to do. Second, all messages are treated as 'read', because we can't really know their status.

Xabber Server fixes this by XEP-SYNC protocol, which allows efficient fetching of recent conversations in reversed chronological order, as well as unread counters, etc. The work is not done completely: XEP-SYNC currently lacks such information as user's nickname, so at first contacts appear as XMPP Ids, but it's a start. I won't be satisfied until Xabber for Web loads all necessary information in 3-5 seconds after login.

from xabber-web.

anyuta1166 avatar anyuta1166 commented on August 24, 2024

You can use the xabber web version from the develop branch

@valeria-gh xabber web from develop branch doesn't work.

I've checked out develop branch, made make deps-install; make minify and copied resulting files from ./dist to the web server directory overwriting files from 2.0.2 release.
Now I see the blank gray page in a browser. Reverting to the last release - all works fine.

from xabber-web.

anyuta1166 avatar anyuta1166 commented on August 24, 2024

I've tried to set

 LOG_LEVEL: 'INFO',
 DEBUG: true

as in example_dev.html, but it gave me no info. Browser console is blank, no messages here.

from xabber-web.

anyuta1166 avatar anyuta1166 commented on August 24, 2024

master branch works fine if I build it manually, so the problem is not on my side.

from xabber-web.

valeria-gh avatar valeria-gh commented on August 24, 2024

as in example_dev.html, but it gave me no info. Browser console is blank, no messages here.

We changed client rendering logic, but forgot to change example index files. It is fixed. Try again, please.

from xabber-web.

anyuta1166 avatar anyuta1166 commented on August 24, 2024

We changed client rendering logic, but forgot to change example index files. It is fixed. Try again, please.

Thank you, Valeria. It works now

from xabber-web.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.