XSF Discussion - 2023-08-21


  1. Dele

    Has anyone authored or planning to create an XEP for requesting an online meeting URL from an HTTP entity just as XEP-0363 is used for http file uploading I am currently using a non standard way of doing this with Jitsi Meet and plan to author an XEP that specifies a standard way of doing this that will be compatible with Galene and other commercial HTTP entities like Google Meetings, Azure Communications and Microsoft Teams.

  2. singpolyma

    Sounds like a perfect fit for ad hoc commands

  3. MSavoritias fae.ve

    If I was to propose an update to the xhtml xep would it be possible and pass council? Both because its deprecated and because of the history of it

  4. MSavoritias fae.ve

    Im asking because I am looking to implement xhtml primarly for easier parsing from the client and for accessibility reasons. And looking to move beyond XHTML 1.0 which would be a namespace bump to my understanding

  5. Dele

    >singpolyma : Sounds like a perfect fit for ad hoc commands Not sure about ad-hoc commands. I am going to clone http upload xep as the integration between http and xmpp would be my starting point. In an any case, my draft XEP can be found at https://igniterealtime.github.io/openfire-sparkweb-plugin/xep/xep-xxxx-http_online_meetings_01-01.xml for anyone interested

  6. singpolyma

    MSavoritias fae.ve: shouldn't really need a namespace bump so long as still using the same XHTML namespace (and I think there's only ever been one...)

  7. singpolyma

    I for one would welcome an official un-deprecation of xhtml-im

  8. singpolyma

    and probably a general simplification of the xep

  9. MSavoritias fae.ve

    I know there is at least a XHTML 5

  10. singpolyma

    XHTML5 uses the same namespace as XHTML 1.* though, because it's compatible

  11. MSavoritias fae.ve

    but from what i see it seems to just be HTML but XML which basically makes it worse imo. because then there are no benefits

  12. MSavoritias fae.ve

    right

  13. MSavoritias fae.ve

    didnt check that

  14. singpolyma

    There are pretty big benefits in our case, since existing XML parser every XMPP implementation must have can handle it, unlike HTML5 parser which not everyone has on eof

  15. singpolyma

    There are pretty big benefits in our case, since existing XML parser every XMPP implementation must have can handle it, unlike HTML5 parser which not everyone has one of

  16. singpolyma

    And HTML5 parsers can parse the XHTML5 syntax so it's compatible both ways which is also nice

  17. MSavoritias fae.ve

    I would be interested in adding stuff like this built in to the xep for example https://www.w3.org/TR/2010/NOTE-xhtml-access-20101216/

  18. MSavoritias fae.ve

    for accessibility

  19. moparisthebest

    I wouldn't actually be opposed to un-deprecating xhtml, with an absolute ton of security considerations and all that

  20. MSavoritias fae.ve

    of course.

  21. MSavoritias fae.ve

    and at least a restrictions of the fields imo

  22. MSavoritias fae.ve

    its a horrible idea to just bring the whole of html into xmpp input

  23. pep.

    Restrictions of the fields were already there fwiw

  24. singpolyma

    MSavoritias fae.ve: that link appears to be for xhtml2 which is a different thing that never got completed and no one has adopted

  25. MSavoritias fae.ve

    hmm

  26. singpolyma

    not sure what "restrictions of the fields" means

  27. MSavoritias fae.ve

    so excuse the noob question but: Is there anything like that for XHTML 5 then?

  28. pep.

    singpolyma, not allowing the full xhtml

  29. MSavoritias fae.ve

    or are we supposed to get whatever html does?

  30. MSavoritias fae.ve

    and translate it

  31. moparisthebest

    I also have no idea what the process if any looks like for un-deprecating anything, but I'm sure we can figure that out

  32. qy

    Progress! 💪

  33. singpolyma

    pep.: that's up the the client's needs I guess

  34. MSavoritias fae.ve

    this is another one i found interesting

  35. MSavoritias fae.ve

    for links https://www.w3.org/TR/2010/NOTE-hlink-20101216/

  36. pep.

    well xhtml-im was already a subset of xhtml

  37. moparisthebest

    > Restrictions of the fields were already there fwiw True but if this wasn't enough to stop nearly all the implementations from being vulnerable then it at least needs tweaked

  38. pep.

    moparisthebest, no spec is going to do that

  39. singpolyma

    officially, sure, that's something I think was misguided in the spec. UI tookits have their own HTML cleaner / rendering stuff trying to spec it is part of the issue IMO

  40. singpolyma

    I think it just needs "security considerations" that say "treat the XHTML content here as user input and sanitize accordingly"

  41. MSavoritias fae.ve

    personally the security aspects are interesting sure

  42. MSavoritias fae.ve

    but i want to focus on easier parsing like links and also accessibility

  43. moparisthebest

    On a related note I've been thinking XEPs should have a "previous CVEs related to this XEP" section

  44. MSavoritias fae.ve

    because structured text could greatly improvend

  45. MSavoritias fae.ve

    improve it*

  46. singpolyma

    MSavoritias fae.ve: for access module I think that's basically https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey now?

  47. MSavoritias fae.ve

    hmm. interesting

  48. moparisthebest

    Isn't plain text best for accessibility?

  49. moparisthebest

    Xhtml seems like a nightmare for accessibility

  50. pep.

    Plaintext is a nightmare for accessibility on the contrary

  51. MSavoritias fae.ve

    yep ^

  52. MSavoritias fae.ve

    one big reason i am going full in on xhtml is because of accessibility

  53. moparisthebest

    Like you might be tempted to dump it into a webview and then you've got vulnerabilities again

  54. MSavoritias fae.ve

    and i want to add a big section and stuff for accessibility

  55. moparisthebest

    What am I missing? How is plain text not better

  56. MSavoritias fae.ve

    > MSavoritias fae.ve: for access module I think that's basically https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey now? hmm thanks. so xhtml 5 it is then

  57. MSavoritias fae.ve

    i will look into it.

  58. pep.

    Because you can't deduce from "foo" that this is accentuated, say, as opposed to <foo>foo</foo>. Or you can't deduce that "bar" has a reference to the previous message. You can't add context to plaintext

  59. pep.

    I think I've been telling you the same thing for all these years, and you still don't get it :)

  60. moparisthebest

    *foo* is accentuated , and we already have references

  61. MSavoritias fae.ve

    but you have to scan and guess on every message

  62. MSavoritias fae.ve

    same with links

  63. MSavoritias fae.ve

    its hillarious how many bugs of recognizing too much or too little of a link we still have

  64. MSavoritias fae.ve

    or gemini:// links are not linked

  65. qy

    Presumably <script> handling not allowed? :')

  66. singpolyma

    qy: dealer's choice ;) but I'd suggest not

  67. qy

    As a mental exercise id be curious how that could be done safely

  68. singpolyma

    I don't know of any UI framework or sanitization library that allows it anyway, for obvious reasons

  69. qy

    "the document" would be the message

  70. singpolyma

    Well, you could look at WebXDC as an example of an attempt to make that safe-ish

  71. singpolyma

    where they intentionally *don't* treat the content as user input in the normal ways, but sandbox the crap out of it instead

  72. singpolyma

    but it also doesn't auto-render

  73. MSavoritias fae.ve

    what would be the point of sending scripts anyway /thinking

  74. MSavoritias fae.ve

    you might as well embed chromium then

  75. MSavoritias fae.ve

    or something

  76. qy

    Huh

  77. singpolyma

    MSavoritias fae.ve: yes, that's basically what you have to do for this "mini apps" use case. but it's really quite a different case from xhtml-im just overlapping tech

  78. qy

    Clientside bots could be one. A timer, for example

  79. qy

    That is one hell of a reach though

  80. MSavoritias fae.ve

    singpolyma, yeah. that could be interesting based on wasm

  81. MSavoritias fae.ve

    a wasm specs for embeddable apps in xmpp. and i have a mini ide for lisp

  82. MSavoritias fae.ve

    :P

  83. MSavoritias fae.ve

    wasm xep*

  84. MSavoritias fae.ve

    that could be the only thing that can make it half secure at least imo

  85. Trung

    F!vx444444444444677gkhj>i<<?gyygyyyyyyyggggygyggyyyyy

    👍️ 1
  86. moparisthebest

    Thanks Trung 🤣

  87. Trung

    Oh crap sory! =]]]

  88. qy

    Lmao

  89. qy

    > wasm xep* >> WASM XEP * I wonder if this would get Jason interested in XMPP finally, hes been bouncing that idea around for years

  90. MSavoritias fae.ve

    they have? could be interesting at some point

  91. stpeter

    I know some of the core WASM people if that would be helpful…

  92. moparisthebest

    Why not a XEP for executing JVM bytecode

  93. Zash

    Lua bytecode or I'm out!

  94. moparisthebest

    I guess we can just use this XEP for running JavaScript as root to implement all these things https://xmpp.org/extensions/xep-0464.html#sect-idm46661751440320

  95. moparisthebest

    I guess we can just use this XEP for running JavaScript as root to implement all these thingshttps://xmpp.org/extensions/xep-0464.html#sect-idm46661752549680

  96. Zash

    > On a related note I've been thinking XEPs should have a "previous CVEs related to this XEP" section You meant like https://xmpp.org/extensions/xep-0280.html#security ?

  97. moparisthebest

    I guess we can just use this XEP for running JavaScript as root to implement all these things https://xmpp.org/extensions/xep-0464.html#sect-idm46661752549680

  98. moparisthebest

    >> On a related note I've been thinking XEPs should have a "previous CVEs related to this XEP" section > You meant like https://xmpp.org/extensions/xep-0280.html#security ? Exactly like that, awesome!

  99. Zash

    moparisthebest, if you have CVE IDs on hand, add them like https://github.com/xsf/xeps/commit/c724ddc348a9d1a2264522a8056a34c456dabf4e

  100. moparisthebest

    Thanks will do

    👍️ 1
  101. qy

    Anyway, i wonder if instead theres a lighter markup language than xhtml that could be vaguely standardised. Apparently none that use xml, but commonmark has become very common for example

  102. Zash

    No!

  103. Zash

    We're not having this war again

  104. qy

    If "links" are all needed, i feel like id prefer that, since at least its coherent plaintext too

  105. qy

    > We're not having this war again 😯

  106. Zash

    XHTML-IM or XEP-0393

  107. MSavoritias fae.ve

    xhtml \o/

  108. qy

    Relay me the headlines from last argument?

  109. Zash

    It's bad enough when people mistake '393 for Markdown and end up passing unsanitized HTML trough.

  110. moparisthebest

    qy: markdown is an html superset

  111. moparisthebest

    All valid html documents are also valid markdown

  112. root

    > I guess we can just use this XEP for running JavaScript as root to implement all these things https://xmpp.org/extensions/xep-0464.html#sect-idm46661752549680 I refuse to run any JavaScript.

  113. moparisthebest

    root: sorry, it's a MUST you have no choice: > If a set-cookie child has an attribute js='true' then the value of the cookie MUST be executed in a JavaScript interpreter with the highest priveleges possible, preferably as root, and MUST NOT be executed in a sandbox.

  114. singpolyma

    root: I will translate it to machine code for you ;)

  115. Trung

    Oh xhtml cool! UI will be so pretty

  116. root

    > root: sorry, it's a MUST you have no choice: >> If a set-cookie child has an attribute js='true' then the value of the cookie MUST be executed in a JavaScript interpreter with the highest priveleges possible, preferably as root, and MUST NOT be executed in a sandbox. This is forced labor. I will complain to the authorities.

  117. root

    > root: I will translate it to machine code for you ;) This I will do

  118. qy

    `insmod v8.ko`

  119. Zash

    Forced labor? Child labor too? Kindly proceed directly to The Hauge

    ☝️ 1
  120. root

    > Forced labor? Child labor too? Kindly proceed directly to The Hauge ☝️

  121. pep.

    (my message probably arrived just now, out of context)

  122. root

    pep.: your explanation arrived without the context of your delayed message 🤷

  123. lovetox

    muha

  124. pep.

    Nice feature(tm) of clients

  125. pep.

    I would so wish at some points (or all the time?) clients would tell me "do you still want to send?"

  126. pep.

    Whenever they get disconnected

  127. pep.

    There's no way to cancel a message in Conversations even though I see it "Waiting", and nor gajim nor show the messages to be sent

  128. moparisthebest

    I guess that's tricky because if you are only disconnected some seconds you probably expect it to just send, but hours or days maybe not, so gotta decide on a threshold?

  129. pep.

    fwiw even just 2 seconds sometimes and you need precision..

  130. moparisthebest

    Yea... Even worse context dependent

  131. pep.

    Say you meant to answer someone directly and didn't bother mentioning them. Now someone answers in between. Even threads don't fix this really. Someone can still answer in between in the thread. Replies maybe.. but replies are just as annoying

  132. Guus

    What is, nowadays, the way for an occupant in a MUC room to have an avatar?

  133. Guus

    So many XEPs...

  134. Zash

    vcard-temp?

  135. Zash

    You could possibly try to do '84 to the room-nick JID

  136. singpolyma

    I think with some servers pep avatar also works in muc, but clients seem to basically all use vcard-temp

  137. Zash

    temporary = forever

  138. Guus

    There's nothing as permanent as a temporary solution.

  139. moparisthebest

    Truth

  140. lovetox

    its just one IQ to request the data

  141. lovetox

    its as good as any other IQ with different namespace

  142. Guus

    We've got this weird issue with Openfire that users of it in MUC rooms sometimes have, but sometimes do not appear to have an avatar. Things get worse with federation, somehow.

  143. singpolyma

    I see occasional reports of that just everwhere. I don't really understand it

  144. Guus

    it's an annoyingly visible issue, that upsets people that use clients with avatar support.

  145. MSavoritias fae.ve

    Yeah happens a lot here too

  146. lovetox

    often the users or there clients are at fault

  147. lovetox

    like does anyone see a avatar for MattJ ?

  148. Guus

    Conversations doesn't appear to show one in the room info screen.

  149. MSavoritias fae.ve

    They have an avatar? I have never seen it

  150. MattJ

    My primary clients do not support avatars

  151. MSavoritias fae.ve

    If we are using vcard temp for avatars does it mean that with the move to vcard4 all avatars will be there now?

  152. singpolyma

    no. they move to pep avatar

  153. MSavoritias fae.ve

    Ah

  154. MSavoritias fae.ve

    A pubsub thing

  155. singpolyma

    MattJ: are you saying you don't have an avatar set so it's not a bug? Because sometimes you have an avatar set, but maybe that's a different jid?

  156. MSavoritias fae.ve

    > no. they move to pep avatar What xep is that?

  157. MSavoritias fae.ve

    There seems to be only pep bookmarks

  158. singpolyma

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

  159. MSavoritias fae.ve

    Ah it was old so i thought it was obsolete :P thanks

  160. Guus

    Do I have an avatar here?

  161. Guus

    Spark suggests that I have a vcard-temp with avatar (but does not render avatars in MUCs at all), but Conversations does not show an avatar for my account at all.

  162. MattJ

    singpolyma: no, I have an avatar at least in vcard-temp, not sure about a PEP avatar

  163. MattJ

    But my clients don't advertise it

  164. MattJ

    Well, I suspect poezio might on initial presence

  165. MattJ

    Because people always remark at me having an avatar after I restart it

  166. MSavoritias fae.ve

    > Do I have an avatar here? Not for me on cheogram

  167. singpolyma

    Oh interesting. So it's just that your client isn't sending the thing in <presence> that makes the other clients bother to check for an avatar

  168. MattJ

    But given that my clients don't support displaying/setting avatars, I've never really considered it a bug

  169. MattJ

    It would be nice if they did advertise it regardless, but given that I don't see avatars at all anyway it's never been a priority to ensure other people see mine 🙂

  170. singpolyma

    Could have MUC component poll the vcard-temp and add it to presence at join time or something fun

  171. pep.

    Poezio used to support sending an avatar fwiw

  172. Guus

    MSavoritias fae.ve: thanks. Are you in a position to debug my traffic? I'm assuming that cheogram expects a vcard-temp

  173. MSavoritias fae.ve

    No idea how i could do it in android sorry :/

  174. Guus

    MSavoritias fae.ve: thanks. Are you in a position to debug my traffic? I'm assuming that cheogram expects a vcard-temp:x:update element in a Join stanza that you receive from me. Id' like to see if it's in there.

  175. Guus

    ah ok, no worries.

  176. MSavoritias fae.ve

    But its the very latest development build. That came out today

  177. singpolyma

    Guus: I don't see an avatar for you in gajim either

  178. lovetox

    i can debug your avatar Guus :)

  179. lovetox

    give me a minute

  180. Guus

    I think that Spark does not include the avatar hash in the join presence

  181. Guus

    Which does not explain why conversations does not detect my own vcard at all, but that's probably a separate issue.

  182. lovetox

    currently you do not advertise one

  183. lovetox

    at least not in this room

  184. lovetox

    but i can tell you for example, Gajim would also not look into your vcard-temp

  185. lovetox

    we only use pep with 0084

  186. lovetox

    could be that conversation does the same

  187. lovetox

    ejabberd and prosody have conversation mods for vcard-temp <-> 0084

  188. Guus

    Ok, one thing at a time. I'm going to dig into Smack first, to see if I can get that metadata included.

  189. lovetox

    one thing that i wanted to mention regarding missing avatars is also prosodys conversation mod, which respects the pubsub privacy setting

  190. lovetox

    which is a good thing, but if a user in Gajim sets his avatar for example to private, this means no MUC participant will see it

  191. singpolyma

    Last I checked conversations uses only vcard-temp for MUC participant. lovetox you're saying in Gajim it sees the vcard-temp advertisement in presence and uses that to do a user avatar pep fetch?

  192. lovetox

    no

  193. lovetox

    for a client to advertise a hash, it needs first detect that the user has a avatar published

  194. lovetox

    where does it look for it?

  195. lovetox

    Gajim only looks on pubsub

  196. lovetox

    i reacted to Guus > Which does not explain why conversations does not detect my own vcard

  197. lovetox

    maybe his avatar is published in the vcard-temp store, but conversations only looks on pubusb

  198. singpolyma

    oh, yes, that's very likely

  199. Guus

    There aught to be a conversion in Openfire

  200. Guus

    Do I have an avatar now?

  201. Guus

    oh, I was already here on another device with the same nickname - unsure if that messes things up

  202. opal

    probably happened a thousand times before

  203. opal

    also still shwos up as G here

  204. lovetox2

    yes Guus, your avatar shows now

  205. moparisthebest

    Here too

  206. Guus

    yey

  207. Guus

    I closed down Conversations to cause a fresh rejoin of the room. Modified Spark to actually send avatar updates as part of the join stanza.

  208. Guus

    Rejoining with Conversations...

  209. Guus

    Does XEP-0084 require specific support from the server, other than supporting PEP?

  210. MattJ

    Guus: no

  211. Guus

    Thanks MattJ.

  212. Guus

    I wonder if part of the avatar issues that we're seeing are caused by the addressing that Openfire applies. This suggests that each client uses a _different_ avatar. I believe that's perfectly following the spec, but may lead to confusion among users. https://xmpp.org/extensions/xep-0163.html#notify-addressing