Modern XMPP project discussion - 2025-04-21


  1. erebion

    Do we have data on the current state of IPv6 adoption in the public XMPP network?

  2. pep.

    I guess sjn can help there a bit, for stats

  3. jjj333_p (any pronouns)

    do we know if prosody/ej tend to prefer ipv6 if both are available?

  4. pep.

    happy eyeballs tend to prefer ip6 no?

  5. Zash

    Prosody follows https://datatracker.ietf.org/doc/html/rfc8305 which gives IPv6 a 250ms head start

    👍 1
  6. jjj333_p (any pronouns)

    makes the amount of ipv4 i see in my s2s connections a little surprising

  7. Zash

    s/surprising/depressing/

  8. MSavoritias (fae,ve)

    well joinjabber had a couple days of downtimes because of IPv6 some time ago

  9. MSavoritias (fae,ve)

    so at least that is why it is disabled there. until we find out the cause that is

  10. Zash

    I've got 100% IPv4 c2s here, despite all _my_ clients and my server having IPv6 and being on the same network 😭️

  11. pep.

    Yeah but that's because we failed to configure it properly

  12. jjj333_p (any pronouns)

    my local network doesnt support ipv4 so that sucks, but my prosody is on my vps

  13. Zash

    slightly more ipv6 than ipv4 s2s tho, especially outgoing

  14. Zash

    https://cerdale.zash.se/s/06806487-b590-7304-a07d-e92cf8048093/b0d6fe0e-229f-46c4-8c8b-c75cb8b0c592.png

  15. erebion

    > makes the amount of ipv4 i see in my s2s connections a little surprising Huh, need to see how much I got. Then I can decide whether I can finally turn off the old legacy IP stuff.

  16. erebion

    > slightly more ipv6 than ipv4 s2s tho, especially outgoing How do you get those metrics? Is that documented? I'm currently looking into setting up a dashboard exactly like that, just not sure what I need.

  17. Zash

    https://prosody.im/doc/statistics

  18. Zash

    I use https://prosody.im/doc/modules/mod_http_openmetrics → Prometheus → Grafana

  19. Link Mauve

    https://stats.jabberfr.org is also depressing about clients.

  20. Link Mauve

    I think it was less bad some years ago.

  21. Zash

    https://hg.prosody.im/prosody-modules/file/tip/misc/grafana/prosody-dashboard.json is the dashboard I use fwiw

  22. Link Mauve

    But even for servers it’s bad.

  23. cal0pteryx

    > https://stats.jabberfr.org is also depressing about clients. 13% blabber.im, a client which has been discontinued for years

  24. Link Mauve

    Zash, I’ve just imported your dashboard, but it has quite a few weird things: https://stats.jabberfr.org/d/y1Onovt7z/prosody

  25. Link Mauve

    Such as the 3000% of CPU. :D

  26. Zash

    what the "A-Series"

  27. Link Mauve

    Or the many A-Series thingies.

  28. Link Mauve

    It isn’t present in your JSON.

  29. Zash

    Grafana shenanigans?

  30. Zash

    Grafana version shenanigans?

  31. Link Mauve

    Ah maybe.

  32. Zash

    Probably have to tweak it a bit or update the datasource

  33. Zash

    I deleted a bunch of occurrances of "zash.se" from the sources, plus datasource and stuff that would be specific to my instance.

  34. alexkurisu

    I was reading about SIP and CUSAX (RFC 7081) and now wondering: why are SIP+XMPP combo-clients are practically nonexistant?

  35. Link Mauve

    alexkurisu, probably because XMPP can do the same as SIP, thanks to the Jingle extension.

  36. Link Mauve

    So no need to implement two different protocols which do pretty much the same thing, except differently.

  37. Link Mauve

    Same reason there are few bi-protocol XMPP and Matrix clients.

  38. alexkurisu

    > alexkurisu, probably because XMPP can do the same as SIP, thanks to the Jingle extension. But it does not - proper conferencing is still unimplented

  39. Link Mauve

    And those which exist are quite bad at both.

  40. Link Mauve

    alexkurisu, Jitsi and Zoom might disagree with you.

  41. alexkurisu

    > alexkurisu, Jitsi and Zoom might disagree with you. Their clients don't send a stream for each participant, do they?

  42. Kris

    > https://stats.jabberfr.org is also depressing about clients. I find it most depressing how many people are still using Blabber.im and Pidgin 😱

  43. alexkurisu

    Matrix for sure uses a mixer for conferencing

  44. Zash

    Used to be Jitsi Meet in an <iframe> (powered by Prosody) back when I last looked

  45. Kris

    They changed that

  46. Kris

    Basically it depends on Livekit now

  47. Kris

    With some homegrown stuff

  48. Kris

    https://sspaeth.de/2024/11/sfu/

  49. Kris

    >> alexkurisu, probably because XMPP can do the same as SIP, thanks to the Jingle extension. > But it does not - proper conferencing is still unimplented Actually Libervia has a working but experimental Galene SFU setup.

  50. Kris

    And Movim has NLnet funding to implement something like this as well. It appears there is some deal with Ejabberd which might involve a built in sfu (speculating here).

  51. erebion

    > https://stats.jabberfr.org is also depressing about clients. Almost half legacy, half IPv6

  52. erebion

    That's pretty much just like the rest of the internet

  53. erebion

    > https://hg.prosody.im/prosody-modules/file/tip/misc/grafana/prosody-dashboard.json is the dashboard I use fwiw Perfect, thanks for sharing. I know what my evening entertainment will be.

  54. Zash

    erebion, assume it'll only work for me without tweaking ;)

  55. erebion

    > Same reason there are few bi-protocol XMPP and Matrix clients. "few"? Please list them, intrigued.

  56. erebion

    > erebion, assume it'll only work for me without tweaking ;) I don't know how to build dashboards, but'll try anyway.

  57. Kris

    erebion: pidgin might also have an outdated matrix plugin?

  58. erebion

    I've only ever found Thunderbird, and it is neither nice for Matrix, nor XMPP.

  59. Kris

    True, that also

  60. Kris

    And indeed, libpurple-matrix exists and is severly outdated an unmaintained...

  61. Kris

    And indeed, libpurple-matrix exists and is severly outdated and unmaintained...

  62. erebion

    But weirdly enough it is the only Matrix client that does OTR for bizarre and unknown reasons.

  63. Kris

    Well, for many people matrix used to be a fancy IRC bouncer only.

  64. erebion

    what

  65. erebion

    For many people it was a fancy federated chat

  66. erebion

    Until they noticed XMPP is still out there

  67. erebion

    lol

  68. Kris

    Like I know many people that only got into Matrix because of using Freenode/Liberachat through it has running your own bouncer is a hassle.

  69. Kris

    Like I know many people that only got into Matrix because of using Freenode/Liberachat through it as running your own bouncer is a hassle.

  70. erebion

    (That's how it went for me, after too many buggy annoyances. I get what they're trying to do, but I had mostly issues with it all the time I've used it...)

  71. Kris

    And OTR use on IRC is still somewhat common.

  72. erebion

    Really? I didn't know people encrypt on IRC.

  73. Link Mauve

    erebion, Thunderbird and Chatty are the only two that come to mind.

  74. erebion

    Why don't they use a protocol with at least some security?

  75. Kris

    Right, chatty the mobile pidgin...

  76. Kris

    erebion: irc users are old fashioned

  77. erebion

    Oh, yes. Though I've never got XMPP to work with it.

  78. erebion

    Or Matrix

  79. erebion

    Completely forgot about that

  80. erebion

    > erebion: irc users are old fashioned Many say that about XMPP users

  81. erebion

    I'm sure it's mostly not that

  82. erebion

    At least not just

  83. Kris

    And it is not entirely wrong, but at least xmpp servers people actually use are mostly up to date, and not a decade behind like Libera.chat, or two decades like OFTC.

  84. erebion

    I what ways are those two behind and one more than the other? I rarely use those.

  85. Kris

    Basically IRCv3 happend, but these servers are very behind implementing it.

  86. Kris

    Libera.chat is at least trying with some basic features and a slow moving complete rewrite.

  87. erebion

    > https://hg.prosody.im/prosody-modules/file/tip/misc/grafana/prosody-dashboard.json is the dashboard I use fwiw Yeah, does not work well, but gave me some ideas and now I'm building my own. (And finally learning how to actually use Grafana after having it running for... a couple years.)

  88. erebion

    https://share.erebion.eu:5281/file_share/AhPHw_sqy2LFcHPLIpOoFzfe/68d787f7-1f34-49d6-b967-4514a03efe05.png

  89. erebion

    This is only data for about an hour for my server, as I've only just started collecting the metrics, but I have already discovered a DNS issue.

  90. erebion

    (It's always DNS)

  91. erebion

    I mean, why else would I have the reverse?

  92. erebion

    Alright, it's not mixed up data, I've just checked

  93. erebion

    weird

  94. Zash

    Why's the colors reversed for the same labels?!

  95. erebion

    IPv6 is always green, colours aren't reversed

  96. erebion

    However, Prosody seems to connect to hosts via IPv4 when it could use IPv6

  97. Zash

    Oh, labels are just in different order

  98. Link Mauve

    erebion, since you have few remote servers, you can check in the debug logs why it ends up with IPv4 instead of IPv6.

  99. Link Mauve

    Some just forget to publish AAAA records, some do but forget to make their server listen on INET6.

  100. Link Mauve

    Some forget to configure their firewall to allow IPv6 traffic to those ports.

  101. Link Mauve

    Then you can report them the issues you find and hope they’ll fix their setup.

  102. erebion

    It's still a lot of stuff, what should I grep for that could tell me why it's using IPv4?