jdev - 2026-02-19


  1. rom1dep

    > A space is a organisational unit that is usually managed by a single group or entity, they can choose a server where the host this space, and all MUCs should be on that server Maybe that deserves another concept/terminology, but it would be a shame for this effort not to result with the ability to collect rooms under one umbrella that's easily discoverable and subscribeable to. It's nice to have spaces as "cohesive silo under one the supervision of one admin team on a single server instance" It's also nice for people to be able to interact with "collections" of topically-related rooms (e.g. "electronics": Collection = Set("open hardware": muc, "embedded software dev": muc, "3D printing": muc, …)

  2. MattJ

    I agree, I think it would be feasible to have a "related rooms" feature

  3. Kev

    I did write up Related Enties a little while ago. I should clean it and submit it maybe.

  4. Kev

    https://github.com/swift/protoxeps/blob/master/related-entities.md

  5. lovetox

    And who says what is related? The MUC owner?

  6. lovetox

    Or is this like a blog kind publishing situation, I publish a list of related things somewhere, and somebody van download it and join it? Kind of like a bookmark group?

  7. lovetox

    I feel like something like this could be achieved by defining some kind of bookmark group sharing mechanism

  8. lovetox

    I would add a group element to bookmarks and define a group share xmpp uri

  9. lovetox

    This way everyone can build related stuff and share it? There could be also a well defined node on a home server where an admin can publish the groups

  10. lovetox

    But hard to call that a space .. its a collection of bookmarks

  11. devel

    Hello. Has anyone come up against this error recently when trying to send a message to a user on quicksy.im? "Authentication failed: Peer responded with error: unsupported certificate purpose (not-authorized)"

  12. devel

    The issue appears to be the latest Letsencrypt (i.e., Google) attempt at making the web a closed ecosystem where only oligopolists get to play while everyone else is relegated to being a mere consumer. Details explained here: https://blog.prosody.im/2026-letsencrypt-changes/

  13. devel

    My own server is ejabberd 25.10 which I believe should be able to cope with this breakage by accepting "TLS Web Server Authentication" (OID 1.3.6.1.5.5.7.3.1) as sufficient for S2S purposes. Not sure what Quicksy is using at the moment.

  14. Guus

    quicksy seems to be using ejabberd 24.12-3

  15. devel

    So that's probably expecting my server's certificates to have both "TLS Web Server Authentication" and "TLS Web Client Authentication" flags, right? Sadly, upon certificate renewal a day or two ago, the latter claim is no longer present in Letsencrypt certs.

  16. Guus

    LetsEncrypt announced phasing out a specific flags a while ago. I believe that comes into effect ... now-ish, so it tracks.

  17. Guus

    I've poked the quicksy.im admins

  18. devel

    https://letsencrypt.org/2025/05/14/ending-tls-client-authentication

  19. Guus

    Is dialback still working for you? That may prove to be a workaround to get around s2s authentication issues.

  20. devel

    I've managed to coerce a server+client certificate out of Letsencrypt with `getssl` for now (add `PROFILE="tlsclient"` in the configuration file) but that'll stop working by mid-May.

  21. devel

    > Is dialback still working for you? No it did not seem to work, although I did not fully validate my server's configuration. But at first sight, it looks like quicksy.im does not do dialback.

  22. devel

    > I've poked the quicksy.im admins Poking Daniel seems like a good move, in case he's not aware of the issue. Thanks @Guus!

  23. lol

    I'm building my own xmpp client and I wanted to add support for server-side search. I ran some tests against a local ejabberd instance but apparently nothing in the wild supports it - I couldn't find a single alive MUC which would advertise it. The server I'm using, draugr.de, advertises support for it, but when I try to search one of the dead but not empty MUCs always returns zero results if you specify {urn:xmpp:fulltext:0}fulltext (that is, with a string that I can see in the chat history for that MUC). So essentially server side message search is non-existant.

  24. lol

    Also, mongoose advertises support for it, but in reality ignores that field altogether.

  25. moparisthebest

    maybe report the bug to ejabberd?

  26. lol

    it's not an ejabberd bug - I tested it against a local ejabberd and it works fine. probably misconfigured.

  27. moparisthebest

    seems like an ejabberd bug if it allows such a config to advertise the feature and return nothing when it's used?

  28. lol

    yeah.it works for one on one chats though

  29. lol

    and for mongoose it is indeed a bug - but I don't think anyone uses it anyway

  30. lol

    and it's not like anyone uses server side search in general - so I don't think ejabberd devs would rush to fix this configuration, etc

  31. lol

    so yeah I should've probably checked if this a generally supported feature before beginning to design support for it as a core part of the client

  32. TheCoffeMaker

    Report it anyways

  33. lol

    it does work for private chats though, maybe I could poke around that... if only all my private chats weren't omemo'd lol

  34. singpolyma

    I bet it's not too hard to write a prosody module also if the right storage system is in use

  35. lol

    that's not something I can undertake.

  36. wgreenhouse

    a little surprising that it doesn't work for MUC MAM on ejabberd. feels like the sort of feature that would be sought especially in closed office deployments

  37. wgreenhouse

    where there is a tendency to use the group chat as a knowledgebase

  38. lol

    if only such deployments existed that were actually in use

  39. singpolyma

    I got the impression they say it does work on ejabberd but no volunteer run server has it enabled?

  40. lol

    draugr.de has it enabled and it seems to work for private chats

  41. lol

    but yes group chat search was the #1 thing that inspired me to try this. I think it would be very cool. Matrix has this feature.

  42. lol

    yep just double checked it does work for private chats on draugr

  43. singpolyma

    But not for MUC. Does it work for MUC in an ejabberd you control?

  44. lol

    didn't try

  45. wgreenhouse

    I wonder if this is a thing where both the regular MAM storage and the MUC MAM storage need to be configured a way for it to work

  46. lol

    wait, actually it does work on draugr.de for mucs! it was just a particular muc which it didn't work for

  47. lol

    so I guess good news is it tends to work, and the bad news is it only tends to

  48. singpolyma

    Well maybe that one MUC has it disabled

  49. wgreenhouse

    lol: maybe some aspect of MUC configuration would allow owners to opt out of it

  50. wgreenhouse

    yeah

  51. lol

    is there a way this setting could possibly be visible to the user other than trying to search

  52. moparisthebest

    still a bug to advertise the feature then return empty result instead of an error ?

  53. lol

    right

  54. wgreenhouse

    it sounds like the whole component advertises the feature, not the one MUC. or idk

  55. wgreenhouse

    lol: any different disco#info returned for the MUC where it works vs doesn't?

  56. lol

    by advertise I mean: when you send an iq type="get" to an MAM entity (your server or an MUC jid) it return an empty form with the fields it supposedly supports. I didn't try or even implement disco yet

  57. singpolyma

    > still a bug to advertise the feature then return empty result instead of an error ? Yes

  58. singpolyma

    > by advertise I mean: when you send an iq type="get" to an MAM entity (your server or an MUC jid) it return an empty form with the fields it supposedly supports. I didn't try or even implement disco yet Right. If the field is there it should work. So some bug maybe still

  59. lol

    would anyone happen to know any alive group chats running on ejabberd that might support server-side search, which I could test again?

  60. lol

    even for those group chats that server side search on draugr.de works - it doesn't work with chinese characters

  61. singpolyma

    That's possible. Worth reporting the bug

  62. lol

    hm, india@conference.a3.pm has a field `withtext`

  63. lol

    that server claims to run ejabberd 23.04 . I guess the field had a different name in older versions

  64. lol

    I guess I'm gonna implement at least server side search by date for now. At least that is claimed to be supported by most.

  65. badlop

    and where exactly is fulltext support advertised?

  66. lol

    <query xmlns='urn:xmpp:mam:2'> <x xmlns='jabber:x:data' type='form'> <field var='FORM_TYPE' type='hidden'> <value>urn:xmpp:mam:2</value> </field> <field var='with' type='jid-single' label='User JID'/> <field var='start' type='text-single' label='Search from the date'/> <field var='end' type='text-single' label='Search until the date'/> <field var='withtext' type='text-single' label='Search the text'/> </x> </query>

  67. badlop

    and in what XEP section is that described as "support advertised"?

  68. lovetox

    badlop: what are you saying? You add fields to a form that then are not supported when filled out?

  69. lovetox

    How would that make sense

  70. badlop

    the origin of my questions is this sentence: « I'm using, draugr.de, advertises support for it, but when I try to search one of the dead but not empty MUCs always returns zero results if you specify {urn:xmpp:fulltext:0}fulltext»

  71. lovetox

    In order for the client find out about additional fields the server might support, it can send an iq stanza of type 'get' addressed to the archive

  72. lovetox

    That's what the xep says

  73. lovetox

    I request a form and of course it's expected that every field in this form serve a purpose

  74. rom1dep

    > But hard to call that a space .. its a collection of bookmarks implementation may end-up being vastly different, I'm not sure the UX should be, though

  75. badlop

    i thought that the feature support is advertised as specified in the XEP, that is: https://xmpp.org/extensions/xep-0431.html#feature

  76. lovetox

    That's a different xep

  77. badlop

    ok, then which one are you talking about, that describes the usage of "withtext"?

  78. lovetox

    313

  79. badlop

    and where is "withtext" described?

  80. lovetox

    It is not, but that's not relevant, ejabberd describes it I'm it's form that it submits to the client

  81. lovetox

    So maybe enlighten us, what functionality is behind "with text"

  82. badlop

    that's exactly what i want to know

  83. badlop

    a client is implementing a feature, but the server doesn't work "as expected"... so I want to know where is described what is expected :) I'm asking for the corresponding XEP section, but apparently there is none, apparently neither 431 or 313 are relevant to describe the expected behaviour

  84. lovetox

    the expected behavior should be in ejabberds MAM documentation

  85. lovetox

    the XEP defines that any server can add any form field they want and can define it however they want

  86. lovetox

    seems some developer on ejabberd made a choice to include such a field, from the label "withtext" a developer can assume its a text search, but we will never know if ejabberd has no documentation for it

  87. badlop

    ah, then this case falls in this sentence "Other fields may be used, but are not defined in this document" https://xmpp.org/extensions/xep-0313.html#filter

  88. lovetox

    and https://xmpp.org/extensions/xep-0313.html#query-form

  89. badlop

    ok, and "withtext" is such a field: custom added in ejabberd... let's see if i find some clue

  90. lol

    It has a different name in newer versions.

  91. lol

    Ejabberd is painfully slow to start locally btw. Sometimes it takes like 20 seconds. Mongoose is faster but it's buggy, I wonder if it is even used anywhere.

  92. badlop

    what was the old name, and the new name, and in what version approx do you think it may changed?

  93. lol

    {urn:xmpp:fulltext:0}fulltext is what draugr.de has

  94. lol

    draugr.de is at 25.10.0

  95. badlop

    ok, btw, withtext was implemented in mod_mam since the very first commit in 22 June 2015, when XEP-0313 was v0.2

  96. badlop

    summary of what I found: ejabberd 15.06 added support for MAM, including withtext ejabberd 25.07 added support for fulltext (XEP-0431) You can fill fields withtext and/or fulltext. If you provide boths, then fulltext is used and withtext is discarded. The form shows those fields only when using mysql storage, otherwise fields are not provided and are not read. you must provide the exact text to search in the body, there are no wildcards or partial sentences.