XMPP Service Operators - 2026-01-15


  1. Kris

    hmm, but the documentation explicitly says you should not load it on the pubsub component

  2. Kris

    global or under a vhost

  3. Menel

    If you don't have a vhost as a parent host of the pubsub component, you need some extra config under the vhost and pubsub component, so it is allowed to publish there and that it does find the pubsub service.

  4. Guus

    > Guus, I was looking at my server logs and I see you aggressively close connections at xmppnetwork.goodbytes.im, one minute after it’s been established, yet the default delay between publishes is three minutes so we reestablish the connection then. I don't recall explicitly closing connections. There is a server default, but i think that kicks in after half an hour of being idle or so. I'll have a look.

  5. Guus

    Link Mauve: you were absolutely right. I had configured that server to close idle s2s connections after 1 minute. I can only imagine that was done in some effort to debug something, forgetting to restore that setting. I've now changed it back to half an hour.

  6. Guus

    Kris: part of that documentation is written by me - a non-admin of Prosody. There's a chance that I've introduced incorrect details. If so, please let me know and I'll try to improve them.

  7. Link Mauve

    Thanks!

  8. Guus

    No, thank you :)

  9. tom

    > mandatory upgrade is standard for STARTLS these days, however there is a minor amount of metadata leak with STARTLS, so technically directls is better... No there is not

  10. tom

    The only data exchanged clear is the sni which is sent from TLS too

  11. Guus

    I've had customers that were very much appalled by the idea that not every bit of data that was exchanged was done over an encrypted connection, when encryption was configured to be mandatory anyway. Instead of having lengthy debates, being able to just have them use direct TLS is a convenient flexibility to have.

  12. MattJ

    Kris, what do you want to monitor s2s connection for?

  13. MattJ

    It sounds like you have a component that you want to monitor, so the module needs to be loaded on that component

  14. MattJ

    If you want to monitor s2s connections for your pubsub component, then in that case you *would* load the module onto the pubsub component :)

  15. MattJ

    But I assume that note in the docs was written because people loaded it only on the pubsub component, and expected it to see traffic across the whole server

  16. Guus

    MattJ - I'd love for you to improve the documentation of that module to get rid of my assumptions and misunderstanding of how Prosody works.

  17. Kris

    > Kris, what do you want to monitor s2s connection for? I just thought it would be nice if our server would be visible on that jabber network graph Guus made.

  18. MattJ

    Sorry, I meant 'what [host] do you...'

  19. MattJ

    As in, whatever host(s) you want to report to Guus, they are where the module needs to be loaded

  20. Kris

    Connections to our muc component I guess.

  21. MattJ

    Then load the module on the MUC component and it should work as you expect

  22. Kris

    Yeah, I can try that.

  23. Kris

    hmm adding it to the modules of the muc component also seems to make no difference.

  24. Kris

    I think I give up on trying this, probably just not compatible with an uncommon setup like ours

  25. based.pt

    there are servers on there that have muc.example.com

  26. based.pt

    im not sure why yours wouldnt work

  27. based.pt

    are there any logs?

  28. MattJ

    I don't see what's unusual about your setup

  29. MattJ

    But feel free to share the config if you want further assistance

  30. Kris

    based.pt, ours serves only a muc component directly, no user accounts

  31. based.pt

    oh, so its just an muc?

  32. Kris

    like a "space" yes.

  33. based.pt

    how do you use it?

  34. MattJ

    Kris, is there not VirtualHost at all? Prosody would normally shout about that

  35. based.pt

    gota make accounts on thoer servers

  36. based.pt

    gota make accounts on other servers

  37. Kris

    it is a service to host mucs for people from other servers to use, yes

  38. based.pt

    > Kris, is there not VirtualHost at all? Prosody would normally shout about that i think it might no have any functionality, just the muc part

  39. Kris

    MattJ, well, technically there is one now on a subdomain to run the Riddim bot, but it worked fine before without one (yes there is some log spam)

  40. MattJ

    Prosody requires at least one VirtualHost entry in the config (even if it's just "localhost")

  41. Kris

    maybe we had that

  42. MattJ

    Seems like you have one now though, so your setup is the same as everyone else's

  43. Kris

    except that the muc component is not on a subdomain of a vhost like on 99% of other setups, and afaik that does cause some issues with modules and discovery

  44. MattJ

    I don't think the network graph does discovery, assuming it's the MUC domain that was added

  45. Kris

    yeah that is what I am trying

  46. based.pt

    there are muc domains on that, so i dont think thats a problem

  47. MattJ

    For example, muc.xmpp.org is listed

  48. based.pt

    send your condig

  49. based.pt

    send your config

  50. Kris

    yes, but what is the "admin" of the pubsub component then?

  51. based.pt

    do you have a pubsub?

  52. Kris

    yes we have

  53. MattJ

    The MUC domain is creating the node and publishing items, so that's what you would put as the admin

  54. based.pt

    oh ye the admin is the domain not an user

  55. Kris

    that is what I am trying, but apparently it doesn't work

  56. MattJ

    Also, if you have the latest version of the module (from yesterday I think), you can run: prosodyctl shell module info pubsub_serverinfo

  57. MattJ

    and it will show some info in the 'status' line

  58. Kris

    ok, that is worth a try

  59. Kris

    ah, it only loads on the vhost not the muc component

  60. Kris

    according to the output of that

  61. moparisthebest

    are you restarting or only reloading? If you reload you have to explicitly load it on the vhost iirc

  62. based.pt

    is there a reason why you would not restart?

  63. MattJ

    Disruptive?

  64. moparisthebest

    it's easier but worse for the active users joined to your MUCs, most of whom are using clients that unfortunately don't handle muc restarts well or at all

  65. MattJ

    Kris, so: prosodyctl shell module load pubsub_serverinfo [your muc domain]

  66. based.pt

    > it's easier but worse for the active users joined to your MUCs, most of whom are using clients that unfortunately don't handle muc restarts well or at all dont the most popular clients handle that?

  67. Kris

    yes I am trying to avoid restarts as we have a lot of remote users connected to our mucs

  68. based.pt

    you could try and schedule a restsrt when theres fewer users

  69. MattJ

    based.pt, and Prosody makes restarts effectively seamless for MUCs. But still, it's relatively disruptive for various reasons.

  70. based.pt

    ik

  71. Kris

    > Kris, so: prosodyctl shell module load pubsub_serverinfo [your muc domain] hmm, that might have worked

  72. MattJ

    I mean, it's not the end of the world to restart a MUC service, but when there is no need to... why?

  73. Kris

    ok, it does look like something is happening now

  74. Kris

    I guess I need to note these things down for future use to avoid restarting

  75. based.pt

    i dont know, i personally never use reloads because i thought they could bring issues

  76. based.pt

    but if its the same thing theres clearly no reason to restart

  77. MattJ

    If you're happy restarting, do it by all means. It's a good way to ensure that the server is "reset" and running from what's in config file

  78. MattJ

    For example, if Kris's config doesn't load the module, it will not be loaded next time the server restarts

  79. moparisthebest

    >> it's easier but worse for the active users joined to your MUCs, most of whom are using clients that unfortunately don't handle muc restarts well or at all > dont the most popular clients handle that? I'm not sure any do actually, conversations doesn't

  80. MattJ

    I guess we will probably add a check for that at some point (e.g. "this module is loaded, but isn't in your config")

  81. moparisthebest

    conversations will sometimes helpfully say "you aren't connected to this muc anymore" only if you click into it after noticing no messages for hours/days

  82. Kris

    yeah I see issues like that all the time on remote server restarts

  83. based.pt

    >> dont the most popular clients handle that? > > I'm not sure any do actually, conversations doesn't profanity does

  84. Guus

    This looks like success Kris: https://xmppnetwork.goodbytes.im/?focus=joinjabber.org

  85. Kris

    yeah. I think you could edit the readme that it is permissible to load the module on a muc component

  86. Kris

    if you load it globaly it only loads on vhosts

  87. Kris

    if you add it globaly it only loads on vhosts

  88. Guus

    If you can provide an exact wording that makes sense to Prosody devs, I'd be happy to add it.

  89. Kris

    "Enable this module in the global or a virtual host." is what threw me off.

  90. MattJ

    I'll put something in

    ❤️ 1👍 1
  91. based.pt

    > This looks like success Kris: https://xmppnetwork.goodbytes.im/?focus=joinjabber.org for some reason i think ive seen that in there a long time ago, im not sure

  92. Kris

    it is possible that we had this working on a previous iteration of our server

  93. based.pt

    ok