jdev - 2026-02-22


  1. kousu

    Do MUC components usually double as pubsub services or would I need to run mod_pubsub on a subdomain of the MUC domain if I wanted to associated pubsub data with a MUC?

  2. singpolyma

    I've never seen them done together but it might mostly work depending

  3. kousu

    It works for PEP, why not MUC?

  4. kousu

    (in theory, anyway)

  5. lol

    > yeah I see this too. from jabber.el, > ``` > (:muc-foreign > (message > ((xml:lang . "en") (to . "wgreenhouse@hmm.st/Emacs") (from . "jdev@muc.xmpp.org/singpolyma") > (type . "groupchat") (id . "1EF11773-2F35-4F95-8F81-812B75BA0A91")) > (fallback ((xmlns . "urn:xmpp:fallback:0") (for . "urn:xmpp:reply:0")) > (body ((start . "0") (end . "97")))) > (reply > ((xmlns . "urn:xmpp:reply:0") (to . "jdev@muc.xmpp.org/Cynthia") > (id . "2026-02-21-2316b69a202e1896"))) > (html ((xmlns . "http://jabber.org/protocol/xhtml-im")) > (body ((xmlns . "http://www.w3.org/1999/xhtml")) > (p nil "Do you have an example of such an \"unofficial xep\"?"))) > (occupant-id > ((xmlns . "urn:xmpp:occupant-id:0") (id . "n6yAmftuthaHwtUpgo0dr+mFnc+asBQ1cHNAb+fqdMo="))) > (stanza-id > ((xmlns . "urn:xmpp:sid:0") (id . "2026-02-21-06751bdea7d529e3") (by . "jdev@muc.xmpp.org"))) > (body nil > "> one of the reasons people make them are that they don't have to put their real identity on it\n\nDo you have an example of such an \"unofficial xep\"?\n")) > :time (27033 44356 737756 983000)) > ``` Wow so readable

  6. jjj333_p (any pronouns)

    thats just a lisp language

  7. luca

    More like e lisp language

    ๐Ÿ˜‚ 1
  8. luca shows himself out

  9. jjj333_p (any pronouns)

    somewhat crosspost from gajim muc, but this displayed indicator looks correct to send to a muc when a message is displayed right? ```xml <message to="chaos@group.pain.agency/m0rph" from="jjj333_p_1325_4d2.org@koishi.pain.agency" id="9ceace15d9f34df786b8556a302141ce"> <displayed xmlns="urn:xmpp:chat-markers:0" id="019c8495-b0de-7ff1-9a49-05b5a58493cb" /> </message> ```

  10. jjj333_p (any pronouns)

    also as far as i can tell you have to send it as a dm which then ig gets restricted by the muc

  11. jjj333_p (any pronouns)

    turns out its not for multiple reasons

  12. lovetox

    singpolyma, do you parse the og:url attribute?

  13. lovetox

    i wonder why i should and for what i should use that

  14. selfhoster1312

    hello, we're currently implementing XEP-0461 message replies for matterbridge, but i don't see in the spec that the quote marker (`> quote`) is specified. is it safe to assume that all clients use `> ` as a quote marker for the fallback text?

  15. selfhoster1312

    (yes i know about the start/end offsets, i'm just wondering about the general case where stripping the ` >` may be the more appropriate UI decision)

  16. lovetox

    apart from the obvious fact that we can never know if all clients do that and will in the future

  17. cal0pteryx

    Clients supporting XEP-0393 render the fallback using the `>` character, see https://xmpp.org/extensions/xep-0393.html#quote

  18. lovetox

    there is https://xmpp.org/extensions/xep-0393.html

  19. selfhoster1312

    ha thanks!

  20. singpolyma

    > singpolyma, do you parse the og:url attribute? Yes. I treat RDF:about as the original link in text and og:url as a "canonical" or "resolved" link

  21. singpolyma

    > hello, we're currently implementing XEP-0461 message replies for matterbridge, but i don't see in the spec that the quote marker (`> quote`) is specified. is it safe to assume that all clients use `> ` as a quote marker for the fallback text? No. You cannot be sure the fallback text is a quote at all. And there may be quotes which as not part of the fallback

  22. selfhoster1312

    woops, i understand the second assertion, but not the firstโ€ฆ what would a fallback text that's not a quote be?

  23. singpolyma

    Anything the app wants it to be. Could be [a reply to some Nick] as an example but there are no limits

  24. selfhoster1312

    ok is that actually implemented by clients in the wild or is that speculation due to the spec not mandating a quotation format?

  25. singpolyma

    I don't think anyone can truly answer that because auditing every single client would be quite a job. The bigger question is what is your use case to ignore the spec in this case?

  26. selfhoster1312

    so on the matterbridge level we're gonna keep a cache of messages to properly format the reply so that's not really a problem, my question was more on the go-xmpp level where letting remote entities define what quote format/presentation will be used feels wrong (for clients who don't implement message replies) to produce consistent UI, so someone suggested just removing `> ` from the fallback text and exposing it as a different string could be an idea so the client can figure out the appropriate way to display it or relay it to other networks

  27. singpolyma

    If you support replies you can just delete that text entirely. If you're writing code to do anything at all to the fallback text you're better off not doing that and implementing the thing it is a fallback for instead

  28. selfhoster1312

    so that means it's a reasonable assumption that all clients need to keep a message cache/archive in order to properly support replies formatting and the fallback text can just be whatever so it should just be ignored by clients? or is there value i don't see in the fallback being whatever the remote client decides and we should in fact not ignore it systematically?

  29. singpolyma

    Yes you should ignore the fallback text. It exists only for clients that don't support this feature

  30. selfhoster1312

    sorry i was not clear: my question is precisely what to do in the library code for clients who don't implement the feature (no problem implementing it in our client, my question is how should upstream handle things)

  31. singpolyma

    Oh. If they don't implement the feature you can do nothing at all ๐Ÿ™‚ the text is in body and they will show it

    ๐Ÿค˜ 1
  32. selfhoster1312

    ok i guess that's an acceptable compromise ^^

  33. lovetox

    singpolyma, im aware that og:url is the canonical url, but what are you doing with that information in the GUI?

  34. lovetox

    ah you display it under the title

  35. singpolyma

    Yeah

  36. wgreenhouse

    lol, luca: specifically it was sxml (xml rendered as lisp s-expressions) which is what `xml-parse-region` et al. in emacs deal with

  37. lovetox

    singpolyma, and on click you open the canoncial url or the url the user sent?

  38. singpolyma

    I open canonical at the moment

  39. lovetox

    ok, but could this not be problematic? i dont know much about web, but could a link pass some parameters that would be not in the canonical url?

  40. lovetox

    or asked the other way around, what is a reason to not open exactly the link the user sent?

  41. singpolyma

    Well I keep the link the user sent in body. but yes there are trade offs here I don't claim to be sure I have it perfect

  42. singpolyma

    My thought was to show the real url and then it felt weird to open something different than shown

  43. lovetox

    ok thanks

  44. snit

    i was reading about hats (XEP-0317) and references (XEP-0372) a bit ago. i noticed that the hat's URI would fit in perfectly as a URI in a reference, and i thought it'd be cool to leverage that to mention all users with a given hat at once. however, it seems like 372 only expects references of the `mention` type to be a bare user JID, which would exclude hat URIs. has there been any discussion about broadening which kinds of URIs are "mention"-able? would be nice to have the ability to mention all users at once who have a hat indicating they want to play a certain game, for example

  45. distaza

    Yo. Aspiring XMPP developer. Client-server backend, frontend. Trying to decouple UX and client logic. Also trying to create migration paths from other services and some interoperability for existing attempts to drag people out of Discord, etc.

  46. distaza

    Makin' an XMPP octopus, in short. Unix socket multiplexer and individual XMPP XEP programs all sitting on that socket bus.

  47. distaza

    Currently occupied, but planning to work on it more in the new week.

  48. distaza

    Got invited here from another MUC, so hello!

  49. distaza

    Hope to share some useful programs and code with you all.

  50. distaza

    Tasteful MUC logo, btw.

  51. lol

    > lol, luca: specifically it was sxml (xml rendered as lisp s-expressions) which is what `xml-parse-region` et al. in emacs deal with Haha sex

  52. pulkomandy

    snit: Hello, mentions in MUC can't use a bare JID anyways (that would only allow to mention the entire chat in "anonymous" rooms). A few years ago we started to split/rewrite the XEP but I think that work was never finished?

  53. singpolyma

    > Yo. Aspiring XMPP developer. Client-server backend, frontend. Trying to decouple UX and client logic. Also trying to create migration paths from other services and some interoperability for existing attempts to drag people out of Discord, etc. Welcome!

  54. distaza

    Thank you. Glad to be hackin'.

  55. lovetox

    singpolyma, i thin 256x256 is too big

  56. lovetox

    a stanza with a single picture as data uri, can reach 100kb

  57. lovetox

    with 128x128 im at 50kb with 3 pictures

  58. lovetox

    we go with that for now

  59. singpolyma

    Ok

  60. snit

    > snit: Hello, mentions in MUC can't use a bare JID anyways (that would only allow to mention the entire chat in "anonymous" rooms). A few years ago we started to split/rewrite the XEP but I think that work was never finished? i did notice the discrepancy with mucs; i figured that was a consequence of the XEP seeming relatively incomplete. i assumed the intention was to allow whatever means of mentioning any individual user, but it seemed like it actively excludes other types of mentions such as hats. is there a link to the newer work(s) you mentioned? or are they just kind of vague ideas

  61. lovetox

    singpolyma, i tested with JPEG as format and it seems factor 10 smaller than my png output

  62. lovetox

    are there any arguments against sending jpeg?

  63. singpolyma

    Yeah if you are doing a small thing JPG might be a good choice. Or webp

  64. cal0pteryx

    Converting png with transparency to jpg might have some issues though

  65. cal0pteryx

    But I guess we could check beforehand and convert depending on that

  66. pulkomandy

    snit: See https://github.com/xsf/xeps/pull/1281 and https://bouah.net/specs/mentions.html for the drafts on trying to make better mentions

  67. snit

    oh that's huge, a quick skim of the latter suggests it handles hats exactly as i expected, as well as a few other things i was thinking about :O

  68. snit

    sunglocto: here's the github thing you were asking about earlier ^^^

  69. jjj333_p (any pronouns)

    > Yeah if you are doing a small thing JPG might be a good choice. Or webp > webp might be a more fair conversion since it has the ability to be lossless, while still afaik smaller than png

  70. jjj333_p (any pronouns)

    > Converting png with transparency to jpg might have some issues though it also has transparency support i think

  71. cal0pteryx

    I'm not sure how well webp is supported nowadays. Does it work on iOS/Android/macOS/Linux/Windows?

  72. moparisthebest

    for browsers looks like yes https://caniuse.com/webp

  73. Cynthia

    > it also has transparency support i think JPEGs don't have an alpha channel

  74. Cynthia

    it's pretty limited in that aspect

  75. Cynthia

    it's just 24-bit RGB or YCbCr

  76. jjj333_p (any pronouns)

    > I'm not sure how well webp is supported nowadays. Does it work on iOS/Android/macOS/Linux/Windows? as an ios user, yes webp works fine its just webm that is shaky

  77. jjj333_p (any pronouns)

    i also assume android is fine since google has finally started using it for all their services

  78. jjj333_p (any pronouns)

    > JPEGs don't have an alpha channel ye thats why i said webp

  79. Cynthia

    oh i thought you were referring to JPEG

  80. jjj333_p (any pronouns)

    mb

  81. lovetox

    this has nothing to do with the operating system, its just encoding, you can write a library on any OS to do that

  82. jjj333_p (any pronouns)

    > this has nothing to do with the operating system, its just encoding, you can write a library on any OS to do that true, however most apps dont, which has been a pain point. whereas if the os can play it natively it usually works

  83. jjj333_p (any pronouns)

    like for example i can play a webm in safari but not inside telegram despite them embedding a webview

  84. Cynthia

    all browsers in iOS use safari

  85. Cynthia

    apple forces them to do that

  86. jjj333_p (any pronouns)

    yes

  87. Cynthia

    if it's something safari doesn't support, none of the apps are able to do something about it

  88. jjj333_p (any pronouns)

    when i said safari i meant opening a url in the embeded webviewer in telegram

  89. jjj333_p (any pronouns)

    > if it's something safari doesn't support, none of the apps are able to do something about it but they can support the encoding outside of a webview, look at vlc on ios

  90. singpolyma

    > I'm not sure how well webp is supported nowadays. Does it work on iOS/Android/macOS/Linux/Windows? Yes