Modern XMPP project discussion - 2025-11-14


  1. erebion

    > Why is Matrix so much more popular among people than XMPP, if Matrix is so incredibly slow? Marketing, mostly.

  2. Zash

    Public IRC-style channels are also more visible than the private chats XMPP is more popular for.

  3. erebion

    > there are also some nice non-federated chat server options like Stout (former Revolt), Zulip, Rocketchat and so on. For a small chat server for a university project they are probably also suitable. I think Rocket.Chat is planning to migrate to Matrix full, I've heard something, but can't remember details.

  4. erebion

    Other than that, Rocket.Chat does not have a good selection of clients. Desktop clients are slow and Electron, mobile app have limits for push unless you pay... If Rocket.Chat looks interesting, prose.im might also be interesting to look at.

  5. erebion

    > The only real solution to that is passwordless logins. Btw, is WebAuthn in XMPP a thing?

  6. MattJ

    Not quite, but some folk are working on an equivalent SASL mechanism

  7. MattJ

    Combined with the FAST XEP, that will bring us equivalent (stronger, actually) authentication

  8. erebion

    I just would like to authenticate with my Yubikey

  9. erebion

    It's one of very few things that are critical to me and for which I cannot do that currently

  10. Kris

    I think there is a prosody module for Yubikey auth, no?

  11. MattJ

    Yeah-ish

  12. MattJ

    It uses the pre-FIDO2 OTP stuff, in PLAIN (which allows it to not require special client support to work)

  13. MattJ

    I wouldn't generally recommend it as a nice usable solution

  14. joao

    Hello. Is there a reason why it seems that most public channels have E2E encryption off?

  15. Kris

    Because there is no reason to do e2ee in a chat anyone can join.

  16. joao

    > Because there is no reason to do e2ee in a chat anyone can join. From the POV of someone hosting a server, it would give plausible deniability. Personally, there's no way I'm hosting anything unless I can prove I don't know what's going on.

  17. joao

    What else?

  18. Kris

    You can't prove that with a e2ee enabled public chat either.

  19. joao

    Yes I can. If it's E2E I can't know what's going on

  20. Kris

    You can join it and see yourself.

  21. joao

    Oh....

  22. Kris

    This defense is useless against law enforcement.

  23. joao

    It's not useless. Big companies use it

  24. Kris

    There is a special legal excemption for infrastructure providers, which is not applicable to private chat hosts.

  25. Big Mike

    Their defense is that they're a "platform" or whatever (Section 230 in the USA)

  26. Kris

    (ianal)

  27. Kris

    But if you want to ignore that argument, then there is also a technical argument, and that is that OMEMO doesn't work well in chats where the participating devices change often.

  28. Kris

    Maybe once that is solved with MLS you will see more e2ee enabled group chats, but it will still be pretty pointless.

  29. Kris

    Maybe once that is solved with MLS you will see more e2ee enabled group chats, but it will still be pretty pointless for public ones.

  30. joao

    > But if you want to ignore that argument, then there is also a technical argument, and that is that OMEMO doesn't work well in chats where the participating devices change often. Could you give me more information?

  31. Big Mike

    Yeah I think it also just provides a false sense of security

  32. stratself

    you do realize messages here and in gajim are logged too right

  33. Big Mike

    Any one of these 117 participants (maybe all of them) could be a federal agent

  34. stratself

    wow this one got it logged for 6 years

  35. joao

    > you do realize messages here and in gajim are logged too right Yeah the situation is a bit shit. What you're telling me is that on groups, you actually have better privacy on WhatsApp than on here.

  36. joao

    On WhatsApp, provided that Facebook didn't push a hacked client to your phone, I can be confident that on a channel with 5 people, only those 5 people can read the messages.

  37. joao

    "Dependes on your threat model", as they say. But the defaults matter.

  38. joao

    "Depends on your threat model", as they say. But the defaults matter.

  39. stratself

    I see it as having better visibility. At least when you join the group it links you to the weblog

  40. Big Mike

    > On WhatsApp, provided that Facebook didn't push a hacked client to your phone, I can be confident that on a channel with 5 people, only those 5 people can read the messages. Are you confusing private and public MUCs maybe?

  41. Big Mike

    Private group chats on XMPP absolutely support OMEMO

  42. stratself

    > Private group chats on XMPP absolutely support OMEMO it still doesn't scale well right? but a few people should be okay

  43. Big Mike

    I've never tested the limits really. Most I've had in a private group chat was like 10 people probably

  44. joao

    > Private group chats on XMPP absolutely support OMEMO I'm not familiar with the terminology, I'm very new to XMPP. But I find it crazy that e.g. the default seems to be that on channels the conversations are logged (and then indexed). Even WhatsApp isn't that bad. What does "public" entail? That you don't need to be invited? That should be orthogonal to encryption. The default for any channel should be that it can't be read to anyone but the participants.

  45. Big Mike

    > On WhatsApp, provided that Facebook didn't push a hacked client to your phone, I can be confident that on a channel with 5 people, only those 5 people can read the messages. It wouldn't be a "hacked" client. They can push anything they want and you'd be none the wiser. There should be no assumption of privacy on proprietary chat platforms.

  46. Big Mike

    joao: if you just create a private group chat with your friends for example, it will have E2EE support.

  47. joao

    We keep getting distracted :-) This is about modern XMPP, yes? We're not discussing just how it is, we're also discussing how it could be better. Regardless of implementation details, do you agree that "only the participants can read the group messages should be the default", yes or no?

  48. joao

    > joao: if you just create a private group chat with your friends for example, it will have E2EE support. That's already great, thank you.

  49. Big Mike

    > But I find it crazy that e.g. the default seems to be that on channels the conversations are logged (and then indexed). This is not a default. Some big project rooms only do this so information doesn't get lost in the abyss

  50. Big Mike

    > We keep getting distracted :-) > > This is about modern XMPP, yes? We're not discussing just how it is, we're also discussing how it could be better. > > Regardless of implementation details, do you agree that "only the participants can read the group messages should be the default", yes or no? Define "participant"? If literally anyone can join it and start logging messages.

  51. stratself

    joao: this is the default if you create a room in gajim 2.4.0 - it creates a private group. Granted these toggles are entirely client-side so you'd have to deal with love.tox or any dev of your chosen software

  52. Big Mike

    It seems like you've fallen into the exact issue I'm talking about, where you have a false sense of security in public WhatsApp channels

  53. stratself

    https://xmpp.muoi.me:443/upload/4c2d341d9f0ed7d19fdfaa765d01191720dafd2c/q6OBPods3TDmZunh8SgqcCYP24eXWUgycdNO7O6POJ/6148e302-da9b-4208-8437-9a2d9ee0e0a6.png

  54. joao

    I jsut created this xmpp:secret@salas.redlibre.es?join But it looks like the server forced it to be "non-anonymous", not sure what that means

  55. stratself

    i do have a problem that anyone with the muc address can still request to join it

  56. stratself

    > I jsut created this > xmpp:secret@salas.redlibre.es?join > But it looks like the server forced it to be "non-anonymous", not sure what that means that means your real xmpp address is revealed

  57. stratself

    > i do have a problem that anyone with the muc address can still request to join it Big Mike, what do you think about this

  58. joao

    That's another question I had - Why do people care? I could give you the same argument: caring about home address gives you a false sense of security.

  59. Big Mike

    > i do have a problem that anyone with the muc address can still request to join it Not sure what this even looks like

  60. stratself

    > Not sure what this even looks like my bad. Should've set it to members only

  61. Big Mike

    Can you request to join this: xmpp:ucaxaqoy@muc.loqi.im?join

  62. Big Mike

    > That's another question I had - Why do people care? > I could give you the same argument: caring about home address gives you a false sense of security. Well like you said it's about having sane defaults

  63. stratself

    > Can you request to join this: > xmpp:ucaxaqoy@muc.loqi.im?join no I can't. I think I understand the problem now: I still can see that the room exists, and metadata like member count and whatnot

  64. Big Mike

    You can see member count?

  65. stratself

    a lot actually

  66. joao

    https://redlibre.es:5443/upload/822cb270f441b66d87cdfe4c16e5f463bc98fa72/oHku45BBOhPS54yjrtg602JAQglevGV1urFtqX3b/2025-11-14-144501_471x329_scrot.png

  67. stratself

    https://xmpp.muoi.me:443/upload/4c2d341d9f0ed7d19fdfaa765d01191720dafd2c/RqSvEOeEGyp5GkWKOCgyErK8MdIYRMFAyba8znBQay/a26b9fee-9d73-4718-bbfb-51e400852807.png

  68. joao

    Hey this is really good UI

  69. stratself

    > https://xmpp.muoi.me:443/upload/4c2d341d9f0ed7d19fdfaa765d01191720dafd2c/RqSvEOeEGyp5GkWKOCgyErK8MdIYRMFAyba8znBQay/a26b9fee-9d73-4718-bbfb-51e400852807.png that's kinda problematic 😅 if I can't join I shouldn't be able to see these stuff

  70. joao

    It's weird that you can see so much, yes.

  71. stratself

    sure you can set a long name to avoid enumeration from bad actors but that just delay the discovery

  72. stratself

    plus it's not changeable so

  73. lovetox

    Nothing in this screenshot is private data

  74. lovetox

    It's configuration for a groupchat, thousands of others have the same config

  75. lovetox

    And you need the exact address to even find that

  76. stratself

    it proves that a group exist. That's still something

  77. lovetox

    You cannot enumerate that

  78. lovetox

    It's a random string

  79. lovetox

    The same you could start to guess what people uploaded to http server and try random strings

  80. stratself

    private groups in gajim are 6-letters long by default i think. Maybe if we get a sha256 address then it's different

  81. lovetox

    Uneccesary, a Sha protects much more then the adress

  82. stratself

    i'm just saying an address should be that long

  83. stratself

    or just longer, but I understand your point that it in itself is not a big problem

  84. lovetox

    Btw you could probably find the same thing on whatsapp

  85. lovetox

    They just don't tell you their protocol

  86. stratself

    I tend to agree. This transparency is why I'm having this conversation in the first place

  87. stratself

    anyways joao: the problem with encryption in large groups is that devices change often, and omemo needs to query fingerprints of all devices to send messages to everybody. So it doesn't scale well I'd wager whatsapp and signal has the same problem too, if someone can confirm what they're doing that'd be great

  88. joao

    > anyways joao: the problem with encryption in large groups is that devices change often, and omemo needs to query fingerprints of all devices to send messages to everybody. So it doesn't scale well > > I'd wager whatsapp and signal has the same problem too, if someone can confirm what they're doing that'd be great I'm on agroup with 120 people on whatsapp. I don't see any problems (But i"m sure if there were problems they'd hide them)

  89. stratself

    i'm not sure if that group's encrypted. Besides, with a group as big as this I'd treat my speech as public statement

  90. joao

    Devices change a few times a day. This isn't exactly "big data"....

  91. erebion

    > I think there is a prosody module for Yubikey auth, no? I'd need one for ejabberd. I have both ejabberd and Prosody, but the one where I'd have most use is ejabberd right now.

  92. erebion

    >> I think there is a prosody module for Yubikey auth, no? > I'd need one for ejabberd. I have both ejabberd and Prosody, but the one where I'd have most use is ejabberd right now. 👎

  93. stratself

    > Devices change a few times a day. This isn't exactly "big data".... when you query from a gazillion servers, it aint exactly reliable

  94. stratself

    > Devices change a few times a day. This isn't exactly "big data".... when you query from/to a gazillion servers, it aint exactly reliable

  95. joao

    Ahhhhh right so that's the difference vs whatsapp

  96. joao

    They have control how they handle that. Whereas XMPP is federated.

  97. lovetox

    That's a big difference correct

  98. lovetox

    The bigger the group the more chance we cannot encrypt to every device because of some issue, then you will have a lot of inconsistencies

  99. lovetox

    But the main reason is the current e cryption scheme does not scale well

  100. stratself

    https://xmpp.muoi.me:443/upload/4c2d341d9f0ed7d19fdfaa765d01191720dafd2c/SZKw35HHUCJudU8lGmnRSykAD2p5tN62bjhaEEil01/99fd42a4-09f0-416d-9cce-1165e322e51b.png

  101. stratself

    thought this room might appreciate some memes

  102. joao

    That's not a meme, that's common sense

  103. joao

    Calling a contacts list a "roster" is one of the most autistic things I've seen in my life

  104. edhelas

    Can we please leave insults out of this MUC ?

    👍 1🤣 1
  105. joao

    We should have a bot that goes like "I'd just like to interject for a moment. What you're refering to as MUC, is in fact a channel"

  106. Big Mike

    Roster? I hardly know her!

  107. lovetox

    joao, dont forget xmpp and the community exists long before smartphones and whatsapp

  108. lovetox

    so terminology is decades old, nobody was sitting in a room a year ago and went "We should call it roster"

    🤗 1
  109. stratself

    occupant and participant does have their uses tho. The former is generally someone who doesn't have voice and the latter does

  110. stratself

    talking about "voice" and "permission to speak" also looks odd when you're just texting hahah

  111. stratself

    they might need to change, but i'm fine with them as is

  112. edhelas

    > so terminology is decades old, nobody was sitting in a room a year ago and went "We should call it roster" That's so a Gen X thing to say

  113. edhelas

    OK roster

  114. stratself

    >> so terminology is decades old, nobody was sitting in a room a year ago and went "We should call it roster" > That's so a Gen X thing to say ❤️

  115. alexkurisu

    > Calling a contacts list a "roster" is one of the most autistic things I've seen in my life No it's not. Roster is a roster

  116. alexkurisu

    And replacing the term "avatar" with something else is extremely weird

  117. epi

    > That's so a Gen X thing to say > OK roster Shouldn't that be OK rooster

  118. epi

    (to fit with the Gen X thing to say)

  119. joao

    does XMPP support audio to a channel? Like discord

  120. joao

    Actually... I don't even knwo the details of how discord works actually

  121. Kris

    In theory yes, but there is no client implementing it.

  122. Kris

    Movim afaik wants to add something like that.

  123. joao

    https://redlibre.es:5443/upload/822cb270f441b66d87cdfe4c16e5f463bc98fa72/rq9v9PQR189vI1DsJGsINBt97Q0Ogv3YlLkDztGj/voice-message-20251114-180400.m4a

    💩 1
  124. joao

    Ah. greats a file, then you have to download the file.

  125. joao

    Hm.

  126. joao

    phew. Very inconsistent on my phone

  127. joao

    > https://redlibre.es:5443/upload/822cb270f441b66d87cdfe4c16e5f463bc98fa72/rq9v9PQR189vI1DsJGsINBt97Q0Ogv3YlLkDztGj/voice-message-20251114-180400.m4a My computer stuttered

  128. Menel

    This channel doesn't allow any kind of upload to show as inline or download automatically. It's an anti spam thing, and this isn't a social channel that needs something like that

    👍 1
  129. stratself

    > so terminology is decades old, nobody was sitting in a room a year ago and went "We should call it roster" 🤗

  130. erebion

    > Can we please leave insults out of this MUC ? What insult? Couldn't find one? o.O

  131. edhelas

    https://neurolaunch.com/calling-someone-autistic-as-an-insult/

  132. erebion

    > https://neurolaunch.com/calling-someone-autistic-as-an-insult/ oh, that. I did not see that as an insult, but bad wording, although accurate. A lot of the world's infrastructure is designed and built by us autistics, so this might even be correct, perhaps.

  133. erebion

    Still bad wording, though.

  134. erebion

    Possibly insensitive as well

  135. erebion

    But perhaps also not entirely wrong, as I might have named it similarly myself, lol

  136. erebion

    In other words, I'm highly ambivalent

  137. joao

    It was meant as a term of endearment, like Australians call their friends cunts.

  138. erebion

    You're not making it better.

  139. hueso

    https://www.mit.edu/~jcb/tact.html