Modern XMPP project discussion - 2025-04-18


  1. luna

    so why can't you do that on XMPP clients?

  2. hau

    so if anything it makes less sense for them

  3. Kris

    you could, but there is no advantage over xmpp links directly

  4. jjj333

    something like a standardized xmpp.to/ could be nice, similar to how with discord or telegram (or matrix) if you click the link and dont have the client installed it has a fallback page to register and download a client (or use web)

  5. Kris

    https://docs.modernxmpp.org/client/invites/

  6. Kris

    is btw a could source to explain how to make those invite links

  7. Kris

    sorry I forgot about that earlier

  8. Kris

    jjj333, https://invite.joinjabber.org is that

  9. Kris

    or xmpp.link which is the same

  10. arcanicanis

    > you could, but there is no advantage over xmpp links directly Could be situations where nothing is correctly registered to handle 'xmpp:' URIs though

  11. arcanicanis

    or if you're a weird person that uses multiple clients

  12. Kris

    ok, rare cases, but you need an xmpp client installed and that usually registers such links

  13. arcanicanis

    or if you're a weird person that uses multiple clients on the same account

  14. arcanicanis

    or if you're a weird person that uses multiple clients on the same device

  15. Kris

    https://invite.joinjabber.org/#romeo@example.com?register;preauth=3c7efeafc1bb10d034

  16. Kris

    this is what it would look like with that invite page for account registration

  17. Kris

    or just directly `xmpp:romeo@example.com?register;preauth=3c7efeafc1bb10d034`

  18. Kris

    and with Prosody you can generate that preauth key to invite people to a server with closed registration

  19. luna

    which I think is what I did :3c

  20. arcanicanis

    given how some other centralized applications function: could just have an 'omnibox' (in the sense of Google Chrome, which merged the address bar and search box into one field; and contextually give options with what input is given), to just have something that when it sees "xmpp:" at the start of an input, to treat it as an xmpp: URI and parse it, and give a human-readable option as a 'result'

  21. jjj333

    general thoughts and feeling on like an xmpp alternative to top.gg for matrix? im thinking instead of using bump, its opt in where itll sort by member count, message frequency, and can list a preview of the chat on the webpage?

  22. jjj333

    like i know room listings already exist, but im thinking more of a interactive experience

  23. arcanicanis

    e.g. you slap in xmpp:romeo@example.com?roster, and it'd give a single option of "Add romeo@example.com to your contacts"; or xmpp:coven@conference.example.com?join to have "Join the cover@conference.example.com groupchat"

  24. Kris

    top.gg is for discord, no?

  25. arcanicanis

    e.g. you slap in xmpp:romeo@example.com?roster into the search/omnibox, and it'd give a single option of "Add romeo@example.com to your contacts"; or xmpp:coven@conference.example.com?join to have "Join the cover@conference.example.com groupchat"

  26. jjj333

    > top.gg is for discord, no? yes, hence "xmpp alternative to"

  27. Kris

    this goes in that direction: https://git.xmpp-it.net/sch/JabberCard

  28. arcanicanis

    e.g. you slap in xmpp:romeo@example.com?roster into the search/omnibox, and it'd give a single option of "Add romeo@example.com to your contacts"; or xmpp:coven@conference.example.com?join to have "Join the coven@conference.example.com groupchat"

  29. Kris

    jjj333, said for matrix which is way I was confused

  30. jjj333

    > this goes in that direction: https://git.xmpp-it.net/sch/JabberCard not at all

  31. Kris

    then I don't understand what you mean

  32. jjj333

    maybe confusing topics

  33. jjj333

    thats similar to what i was talking about earlier

  34. Kris

    it has invites and channels previews etc

  35. jjj333

    > it has invites and channels previews etc have you used top.gg

  36. luna

    > e.g. you slap in xmpp:romeo@example.com?roster into the search/omnibox, and it'd give a single option of "Add romeo@example.com to your contacts"; or xmpp:coven@conference.example.com?join to have "Join the coven@conference.example.com groupchat" yeah, exactly!!

  37. Kris

    > have you used top.gg no

  38. jjj333

    > general thoughts and feeling on like an xmpp alternative to top.gg for matrix? im thinking instead of using bump, its opt in where itll sort by member count, message frequency, and can list a preview of the chat on the webpage? i did mean xmpp here

  39. jjj333

    > no yeah its basically a server listing, but you can sort by how recently a member bumped the server (!bump iirc) or member count, with tags and whatnot

  40. Kris

    it sounds from your description like a mix of search.jabber.network and jabbercard

  41. jjj333

    > it sounds from your description like a mix of search.jabber.network and jabbercard yeah kinda,

  42. jjj333

    like you invite a bot, run a command to opt in, and then it sorts by message frequency and member count, and then someone can click the listing and see the last 20 messages or something

  43. Kris

    there is the muc activity XEP

  44. Kris

    so that could be added to search jabber network

  45. Kris

    and it already supports webchat links for previews

  46. jjj333

    > there is the muc activity XEP yeah the thing that would require a bot would be the message preview, also if it were to be opt in

  47. jjj333

    > so that could be added to search jabber network hm i think that would be a good idea

  48. Kris

    https://codeberg.org/jssfr/muchopper

  49. Kris

    open an issue

  50. jjj333

    will do when i get a chance

  51. Kris

    I can do it

    👍 1
  52. Kris

    https://codeberg.org/jssfr/muchopper/issues/73

  53. Kris

    heh, actually that is probably on the roadmap as the XEP author is the same as the author of SJN

    🔥 1
  54. Kris

    I didn't realize

  55. jjj333

    wait turns out top.gg wasnt what i was thinking, i was thinking of disboard

  56. jjj333

    just google it youll get a vibe somewhat

  57. jjj333

    https://disboard.org/

  58. Nigel

    What do you mean... \*scrolls further\* oh right

  59. dora71

    Is there a public instance of Jabbercard out there to have a look at it? Didn't find one.

  60. epi

    > The "sync issues" (assuming you mean not being able to read history before you added a device) is not even a bug, it's the whole design of OMEMO. It's supposed to prevent someone from reading past conversations in case of a compromise. No, that's fine I guess - I do appreciate the idea of perfect forward secrecy.

  61. epi

    > or the chaos you get when you add new devices after having verified some of them? Yeah, that _is_ annoying!

  62. MSavoritias (fae,ve)

    > something like a standardized xmpp.to/ could be nice, similar to how with discord or telegram (or matrix) if you click the link and dont have the client installed it has a fallback page to register and download a client (or use web) please no. this is one of the reasons why matrix is horrible. every single link is owned and can be spied on by one company. xmpp: links on the other hand are not.

    ❤️ 2💯 3
  63. epi

    The sync issue I have observed is when one of my devices hasn't been seen for a while in a chat and other devices seem to stop encrypting for it. So "random" messages here and there become unreadable to me (on that specific device). I think sometimes this self-heals, sometimes not. (Or I'm just not patient enough.)

  64. MSavoritias (fae,ve)

    After reading the convo I do see a need for an "omnibox" of sorts tho. let me open an issue not to forget either

  65. Nigel

    > The sync issue I have observed is when one of my devices hasn't been seen for a while in a chat and other devices seem to stop encrypting for it. So "random" messages here and there become unreadable to me (on that specific device). I think sometimes this self-heals, sometimes not. (Or I'm just not patient enough.) is that not a server archive retention period issue though? Apologies if not I literally set it up 24 hours ago.

  66. Nigel

    > The sync issue I have observed is when one of my devices hasn't been seen for a while in a chat and other devices seem to stop encrypting for it. So "random" messages here and there become unreadable to me (on that specific device). I think sometimes this self-heals, sometimes not. (Or I'm just not patient enough.) is that not a server archive retention period issue though? Apologies if not I literally set up xmpp 24 hours ago.

  67. epi

    The sync issues I have seen in xmpp are a breeze compared to those I experienced on matrix though. To be fair, I probably caused some of those issues while trying to find working client(s) with encryption support - so many to choose from, so few that actually played nicely. (This was a few years ago.) In the end, I gave up and restorted to using a single client (Fractal) on a single device.

  68. epi

    > > The sync issue I have observed is when one of my devices hasn't been seen for a while in a chat and other devices seem to stop encrypting for it. So "random" messages here and there become unreadable to me (on that specific device). I think sometimes this self-heals, sometimes not. (Or I'm just not patient enough.) > is that not a server archive retention period issue though? > Apologies if not I literally set up xmpp 24 hours ago. I don't think it is about server retention, at least not if we're talking of messages. I can see those messages, just not decrypt them. But maybe there is a retention period for devices too? Like a device being kicked from the group after a while? (I have no idea.)

  69. Nigel

    hmm, yeah unsure yeah. And I concur re matrix encryption and sync.

  70. epi

    > Is there a public instance of Jabbercard out there to have a look at it? Didn't find one. I could swear I bookmarked one, or at least a page with screenshots of the various layouts, but I can't find it and my search fu is failing me. Maybe if you check out the git repository and set it up yourself? https://git.xmpp-it.net/sch/JabberCard

  71. dora71

    epi: that is what I want to do probably afterwards. But If it doesn't please me in advance, I wouldn't dive deeper into it.

  72. epi

    > please no. this is one of the reasons why matrix is horrible. every single link is owned and can be spied on by one company. xmpp: links on the other hand are not. I agree, best not add a single point of failure/single point of surveiilance to a decentralized system.

  73. epi

    > epi: that is what I want to do probably afterwards. But If it doesn't please me in advance, I wouldn't dive deeper into it. Makes sense. I just realized that the author of Jabbercard is probably here. Ill try to ping him.

    👍 1
  74. epi

    Schimon, is there a place were people can see Jabbercard in action? Or even just screenshots of the various layouts?

    👍 1
  75. dora71

    > Schimon, is there a place were people can see Jabbercard in action? Or even just screenshots of the various layouts? 👍

  76. dora71

    >> epi: that is what I want to do probably afterwards. But If it doesn't please me in advance, I wouldn't dive deeper into it. > Makes sense. I just realized that the author of Jabbercard is probably here. Ill try to ping him. 👍

  77. MattJ

    Kris, what exactly would you want added to the invitation generator?

  78. Kris

    The ability to create registration invites easily

  79. erebion

    >> something like a standardized xmpp.to/ could be nice, similar to how with discord or telegram (or matrix) if you click the link and dont have the client installed it has a fallback page to register and download a client (or use web) > please no. this is one of the reasons why matrix is horrible. every single link is owned and can be spied on by one company. xmpp: links on the other hand are not. just that, I'm glad there's a special URI scheme

  80. Kris

    Matrix.to can be easily self-hosted though.

  81. Kris

    It's not really different from the xmpp easy-invite software.

  82. Nigel

    except no one does self host it, because it exists as a service. Just like matrix.org.

  83. Nigel

    or mastodon.social, etc. If yuo provide it, they'll just use it like it is centralised.

    😢 1
  84. Kris

    I self-host it 😅

    ❤️ 1
  85. Nigel

    You know what I mean though 😉 Most people won't, of course.

  86. Nigel

    > I self-host it 😅 ❤️

  87. Nigel

    > or mastodon.social, etc. If yuo provide it, they'll just use it like it is centralised. 😢

  88. Nigel

    You know what I mean though 😉 Most people won't self-host it, of course.

  89. MattJ

    > The ability to create registration invites easily For registration on public servers?

  90. Kris

    Yes or with an preauth code

  91. MattJ

    Where would you get the preauth code from?

  92. Kris

    From the server admin?

  93. MattJ

    The server admin would have to get it from the server

  94. MattJ

    and the server emits URIs, not codes

  95. MattJ

    (and URIs can just be pasted into the box)

  96. Kris

    Well, I get what you are saying, but tge same is true for all the other invites, yet the wizard made that much easier.

  97. Kris

    Well, I get what you are saying, but the same is true for all the other invites, yet the wizard made that much easier.

  98. MattJ

    Sure, but other invites (which don't require a code) just need the JID anyway

  99. MattJ

    If you have the code, it's part of a URI

  100. MattJ

    Just having a code alone is not necessarily enough, because the URI may contain other stuff

  101. MattJ

    If we added all the possible options to the form, it would 1) be confusing, 2) allow people to generate incorrect links

  102. MattJ

    If you have a code, it's part of a URI, just paste the URI instead

  103. MattJ

    The server does the hard work of figuring out what kind of URI to use and what the correct parameters are

  104. Kris

    Ok but what about without a preauth code

  105. MattJ

    For registration on public servers? We could add a checkbox for that, or you can just type ?register at the end

  106. MattJ

    e.g. enter `yax.im?register` into the box and press Generate link

  107. MattJ

    or we could assume that if you just put a domain there, it's to register and not to chat

  108. MattJ

    That might be easiest

  109. Schimon

    > Schimon, is there a place were people can see Jabbercard in action? Or even just screenshots of the various layouts? epi. dora71. Please read the instructions. There are screenshots at https://git.xmpp-it.net/sch/JabberCard/issues/1

  110. Kris

    Maybe yeah. I mean the wizard is for people that don't remember or know the url syntax.

  111. Schimon

    > this goes in that direction: https://git.xmpp-it.net/sch/JabberCard Kris. Feedbacks would help, because I do not know hiw to further design that software.

  112. Kris

    I think people are reluctant to test it without a public instance to see it properly first.

  113. Kris

    And the screenshots are pretty hidden.

  114. Kris

    https://xmpp.org/extensions/xep-0488.html

  115. Kris

    Would be nice to support in easy-invite as well.

  116. Kris

    Even though there is afaik no way yet to generate these invite tokens.

  117. Kris

    Maybe that could be part of the GC3 specs?

  118. Kris

    Ah, maybe that is alread supported via the password parameter 🤔

  119. pep.

    Kris, yeah, as long as the password field isn't removed, it's alright. It can be renamed too if people really want to get rid of that, but removing it entirely would remove compat with legacy network such as IRC

    👍 1
  120. Kris

    > Kris, yeah, as long as the password field isn't removed, it's alright. It can be renamed too if people really want to get rid of that, but removing it entirely would remove compat with legacy network such as IRC 👍

  121. epi

    > epi. dora71. > Please read the instructions. > There are screenshots at https://git.xmpp-it.net/sch/JabberCard/issues/1 Thanks, bookmarked so I don't lose it again!

  122. luna

    btw, ty all here for helping me out regarding invites <3

    ❤ 1👍 1
  123. Kris

    > btw, ty all here for helping me out regarding invites <3 👍

  124. jjj333

    > please no. this is one of the reasons why matrix is horrible. every single link is owned and can be spied on by one company. xmpp: links on the other hand are not. fwiw i didnt specify that it had to be one central instance, but generally i would say that in many cases such as this one more novice/normal users generally care about convenience far more than a nebulous and small privacy risk to them

  125. MSavoritias (fae,ve)

    oh i agree. its a hard balance to build for accessibility and for usability without also compromising what we do know and we do want to protect people from. After all its our responsibility as knowledgable people to shift through this stuff and present good solutions and nice interfaces to people. It will sometimes require some learning of course.

  126. MSavoritias (fae,ve)

    Our goal *should never* be to copy discord or whatever other UI just to make it easy. Im saying this looking at the misguided bluesky vs activitypub debates

  127. Kris

    It is easy to mistake familiarity for ease of use.

    👆🏻 3
  128. MSavoritias (fae,ve)

    yep. agreed

  129. lissine

    luna: if you install mod_invite_register_web and mod_register_apps (see https://prosody.im/doc/modules/mod_invites ), creating invites will generate https links that you can share with the people you're trying to onboard.

  130. lissine

    The invite page will guide them to install one of the clients available for their OS (you can configure which clients are recommended)

  131. lissine

    The invite page will use the xmpp: link to let them sign up (or in the case of Google Play apps, it'll be done automagically on app installation)

  132. lissine

    Thus you don't need to fiddle with xmpp: invites. The users need to already have an xmpp client to be able to open them anyway.

  133. luna

    > luna: if you install mod_invite_register_web and mod_register_apps (see https://prosody.im/doc/modules/mod_invites ), creating invites will generate https links that you can share with the people you're trying to onboard. already done but yeah, thanks :)

  134. Nigel

    > It is easy to mistake familiarity for ease of use. 👆🏻

  135. Nigel

    > It is easy to mistake familiarity for ease of use. 👆🏻