Hacker News new | past | comments | ask | show | jobs | submit login

Did you consider XMPP with OMEMO? I'm running my own server for family and friends, we use https://conversations.im in mobile and Gajim or https://dino.im on desktop. Everything runs well including encrypted group chats.



How do you deal with lost messages? When clients have unreliable connections, we experience message loss with that setup (ejabberd + conversations).

Actually, I'm dumfounded that that can happen at all. Lost messages are trivial to detect and to correct, how can that happen with that setup?


I never had lost messages and I'm using Prosody for almost 2 years. Check the advanced info in Conversations account settings page. There you will find all features that the server should support for good service. Maybe your ejabberd is old or doesn't have all necessary modules enabled?


It actually highly depends on client support. There's a few XEPs that help to mitigate message loss, some depending on clients and some -- on both clients and server; apparently most clients don't implement those, and the support on servers is poor as well.


Yes, that's why I recommended modern clients in the original message, they work well and are maintained. I wouldn't say the support on servers is poor if you run your own, two most popular servers (Prosody and ejabberd) support modern XEP suite after enabling modules. For third party one can check here: https://conversations.im/compliance/


I just read something that makes me rather angry. For ejabberd, message reliability is a premium feature that is not supported in the free version. The fuck?

https://www.process-one.net/en/ejabberd/protocols/


If you're referring to the table at the bottom I believe they just want to sway people into buying Business Edition with that.

When you compare actual XEPs needed [0] for good mobile and desktop multi device service then Community supports them too! (except one: roster versioning but that matters if you have hundreds of contacts).

[0]: https://github.com/siacs/Conversations#xmpp-features


I do experience message loss, and there is that table. So, I don't think there is much room for interpretation.


Does your server pass this test https://github.com/iNPUTmice/ComplianceTester ?

Did you try conversations.im server that is known good for comparison?


I just ran the tester. The default ejabberd configuration in Debian Testing fails:

  Use compliance suite 'Advanced Server Core Compliance Suite' to test server.tld
  
  running XEP-0115: Entity Capabilities…		PASSED
  running XEP-0163: Personal Eventing Protocol…		PASSED
  passed 2/2
  
  Advanced Server Core Compliance Suite: PASSED
  
  
  Use compliance suite 'Advanced Server IM Compliance Suite' to test server.tld
  
  running XEP-0115: Entity Capabilities…		PASSED
  running XEP-0163: Personal Eventing Protocol…		PASSED
  running Roster Versioning…		PASSED
  running XEP-0280: Message Carbons…		PASSED
  running XEP-0191: Blocking Command…		PASSED
  running XEP-0045: Multi-User Chat…		PASSED
  running XEP-0198: Stream Management…		PASSED
  running XEP-0313: Message Archive Management…		FAILED
  passed 7/8
  
  Advanced Server IM Compliance Suite: FAILED
  
  
  Use compliance suite 'Advanced Server Mobile Compliance Suite' to test server.tld
  
  running XEP-0115: Entity Capabilities…		PASSED
  running XEP-0163: Personal Eventing Protocol…		PASSED
  running XEP-0198: Stream Management…		PASSED
  running XEP-0352: Client State Indication…		PASSED
  running XEP-0357: Push Notifications…		PASSED
  passed 5/5
  
  Advanced Server Mobile Compliance Suite: PASSED
  
  
  Use compliance suite 'Conversations Compliance Suite' to test server.tld
  
  Server is ejabberd 18.01
  running XEP-0115: Entity Capabilities…		PASSED
  running XEP-0163: Personal Eventing Protocol…		PASSED
  running Roster Versioning…		PASSED
  running XEP-0280: Message Carbons…		PASSED
  running XEP-0191: Blocking Command…		PASSED
  running XEP-0045: Multi-User Chat…		PASSED
  running XEP-0198: Stream Management…		PASSED
  running XEP-0313: Message Archive Management…		FAILED
  running XEP-0352: Client State Indication…		PASSED
  running XEP-0363: HTTP File Upload…		FAILED
  running XEP-0065: SOCKS5 Bytestreams (Proxy)…		PASSED
  running XEP-0357: Push Notifications…		PASSED
  running XEP-0368: SRV records for XMPP over TLS…		FAILED
  running XEP-0384: OMEMO Encryption…		PASSED
  running XEP-0313: Message Archive Management (MUC)…		FAILED
  passed 11/15
  
  Conversations Compliance Suite: FAILED
My point is not whether ejabberd supports the needed XEP's. What matters is if they are enabled and properly configured by default.


You were arguing before that reliability is a premium feature while the table shows that XEP-0313 is available for free edition, and that's what holds your messages while you are away.

As for the configuration yes, it would be nice if it came pre-configured with modern suite, but it doesn't. It still can be configured and as far as I can see from the tester the effort is not that high.


I tried to configure it, but it failed. I filed a bug report.


Is there a server you recommend?


Ejabberd and prosody are the most widely used ones. For prosody you should also consider using the community prosody-modules repository that adds many modern features. I'm running prosody 0.10 on a server for my app users, with multiple hundred connected clients simultaneously.


Prosody is very simple to set up, ejabberd can scale to infinity.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: