XSF Discussion - 2021-07-22


  1. Zash

    Re the pubsub persistence thing from the other day, I went on an epic quest trough the endless yaks and discovered that the fallback RLU cache returns items in the opposite order from the storage layer. So now I wonder how picky https://xmpp.org/extensions/xep-0060.html#subscriber-retrieve is about the order of items.

  2. jonas’

    .oO(reast lecently used?)

  3. Ellenor Malik giggles

  4. Zash

    RLWrite*

  5. edhelas

    Zash AH ! :D

  6. edhelas

    could we decide once for all for the "default order" ? most recents on top

  7. Zash

    That would be easier, but now we have a ton of test cases that expect oldest first, except for the unit tests, that check for the opposite order because they're using the cache implementation rather than the storage backend :/

  8. Zash

    Such fun!

  9. edhelas

    Would it be a good idea to add a small paragraph to this 0060 section to simply add a "The pubsub service MUST always returns the node items in anti-chronological order (most recent first)" ?

  10. edhelas

    it is indeed an issue for clients like Movim because I'm using this order to display the news articles

  11. Zash

    The example closest to the section I linked shows chronological, oldest-first order

  12. Zash

    And we all know that the examples are The Source Of Truth!!! ;)

  13. edhelas

    ok, knowing that there is also this XEP https://xmpp.org/extensions/xep-0413.html to reverse it

  14. edhelas

    so you could implement it "on the way" ;)

  15. edhelas

    but the issue still remains for the "default" case

  16. Zash

    The storage layer actually flips it already to get chronological order, for implementation reasons.

  17. edhelas

    ejabberd always returns most-recent-first (Holger correct me if I'm wrong)

  18. Holger

    I think so yes.

  19. Zash

    The storage layer actually flips it already to get chronological order, for implementation reasons.

  20. Holger

    Oldest first by default sounds sensible to me, esp. as that's how RSM works …

  21. Holger

    What about 'published' vs. 'updated'?

  22. Zash

    There's no "updated"

  23. Holger

    ``` <published>2003-12-12T17:47:23Z</published> <updated>2003-12-12T17:47:23Z</updated> ```

  24. ralphm

    Holger: huh? RSM doesn't define the sorting of results, does it?

  25. Zash

    Holger, those are elements of the Atom payload, they don't mean that pubsub has the concept of "updated"

  26. Zash

    Publishing an item with an item id that is already used deletes the previous item, I think

  27. Zash

    https://xmpp.org/extensions/xep-0060.html#publisher-publish-success has some text

  28. Holger

    Ah right, yes I meant modification by means of republishing with the same item ID. Couldn't find text regarding the time stamp but whatever.

  29. Holger

    ralphm: > Holger: huh? RSM doesn't define the sorting of results, does it? Right, it just assumes an ordered set. To me, chronological ordering seems to play more intuitive with RSM's before/after terminology.

  30. goffi

    Zash: edhelas: I believe that pubsub returns in chronological order, except if max-items is used

  31. goffi

    actually even with max-items.

  32. goffi

    chronological (oldest first) seems the more natural to me with XEP-0060 alone (and that match the examples), then there is XEP-0413 (Order-By), which I've just updated by the way.

  33. goffi

    Holger: XEP-0060 doesn't has a notion of updated, it's just overwriting a item (thus the item is new again). This concept is introduced in XEP-0413 only.

  34. goffi

    doesn't have

  35. wuuko

    Is Cisco the official owner of XMPP?

  36. ben

    no

  37. wuuko

    Who?

  38. Ge0rG

    wuuko: Cisco is the owner of the Jabber™ trademark, but the XSF has a right to sub-license it.

  39. Ge0rG

    wuuko: what parts of XMPP are you looking for, specifically? The protocol? The name? The logos?

  40. Menel

    > Who? Everyone can use it at will

  41. wgreenhouse

    wuuko: not to be harsh--but you ask a lot of seemingly aimless questions on multiple channels, many of which could be answered by reading publicly available materials on your own. it would be helpful to know what your real objective is.

  42. wuuko

    Ok. No problem.

  43. ralphm

    Something came up, will not make it today.

  44. arc

    Ok

  45. arc

    Is anyone else here?

  46. arc

    I don't see dwd or mattj, but it is early here so I'm not sure if I'm just overlooking them

  47. arc

    Yeah it looks like we can't have a board meeting this week due to lack of quorum. See everyone next week!

  48. wuuko

    Does the XMPP team generate revenue with sponsors?

  49. moparisthebest

    What "XMPP team" ? I don't think such a thing exists

  50. Zash

    Perhaps you mean The XMPP Standards Foundation (the “Corporation”)

  51. wuuko

    > Zash wrote: > Perhaps you mean The XMPP Standards Foundation (the “Corporation”) Yes.

  52. Zash

    The Treasurer would know for sure.

  53. Zash

    USSHC provides hosting, is all I'm reasonably sure of. Then there's usually some money that goes to pay for the Summit Dinner.

  54. wuuko

    So how is the software evolving? > Zash wrote: > USSHC provides hosting, is all I'm reasonably sure of. Then there's usually some money that goes to pay for the Summit Dinner.

  55. Zash

    What software?

  56. wuuko

    XMPP and clients > Zash wrote: > What software?

  57. moparisthebest

    The XSF doesn't write software

  58. Zash

    The XSF makes standards in the form of the XEP series, not software.

  59. Zash

    I guess the scripts etc the Editor uses would count as software... but not XMPP software etc

  60. wuuko

    Is xep what's evolving?

  61. Zash

    XEPs <https://xmpp.org/extensions/> evolve, XMPP related software evolves...

  62. moparisthebest

    wuuko: what does "evolving" even mean?

  63. wuuko

    > moparisthebest wrote: > wuuko: what does "evolving" even mean? You can use it to address the vulnerability, add something new, and so on.

  64. moparisthebest

    No? That makes no sense

  65. wuuko

    > moparisthebest wrote: > No? That makes no sense Why?

  66. wgreenhouse

    as already said, the XSF doesn't write XMPP software. many individual projects do. the XSF discusses [proposed and existing] XMPP standards.

  67. moparisthebest

    wuuko, you seem to be under the impression that XMPP is a software that the XSF develops or something, and that's full of total misunderstandings

  68. wuuko

    > Zash wrote: > XEPs <https://xmpp.org/extensions/> evolve, XMPP related software evolves... True one was this

  69. wuuko

    And if there was a vulnerability of protocol, will it not be fixed?

  70. Daniel

    the S doesn’t stand for Software?

  71. Daniel is confused

  72. Zash

    Thinking of the Jabber Software Foundation?

  73. Zash

    XSF is The XMPP *Standards* Foundation

  74. wuuko

    Hmm

  75. wuuko

    I am thinking

  76. wuuko

    > I wrote: > And if there was a vulnerability of protocol, will it not be fixed? I'm asking this for continuity.

  77. moparisthebest

    I *suppose*, a vulnerability in a protocol is a rather abstract thing

  78. moparisthebest

    xhtml-im was *kinda* cancelled for something similar

  79. moparisthebest

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

  80. wuuko

    So I *hope* xmpp doesn't interrupt me by not getting an update. Looks like it's getting an update.

  81. wuuko

    Because I will create server and will stop for many years

  82. moparisthebest

    again, that makes no sense

  83. moparisthebest

    xmpp is not a software, it doesn't get an update

  84. Zash

    XMPP-based software can get updates, which could be related to XMPP / XEP specification updates

  85. wuuko

    > moparisthebest wrote: > xmpp is not a software, it doesn't get an update Maybe there'll be an error in protocol.

  86. wuuko

    > Zash wrote: > XMPP-based software can get updates, which could be related to XMPP / XEP specification updates Good

  87. Menel

    > Maybe there'll be an error in protocol. Sometimes some xeps get updates.

  88. wuuko

    Thanks!

  89. Menel

    But as you seldom see "security fixes" for http but many for browsers and webservers, its the same with xmpp and clients/servers

  90. Zash

    > many for browsers and webservers, understatement of the timeline

  91. Menel

    Especially browsers. I know. I first thought of mention it, that it is not remotely as bad with xmpp clients.

  92. Sam

    arc: while you're here, please reach out to me about the fiscal host stuff, your jid was dead for me :)

  93. wuuko

    > Menel wrote: > But as you seldom see "security fixes" for http but many for browsers and webservers, its the same with xmpp and clients/servers What do you mean, exactly? Why servers and clients are the same for browsers

  94. wuuko

    Are Clients aren't updating

  95. Menel

    I compared webbrowsers with xmpp clients.

  96. Menel

    They are

  97. wuuko

    I understand

  98. wuuko

    As a result, I will open a server for a long time interval

  99. Zash

    Did this page https://xmpp.org/extensions/ live in the xeps or website repo?

  100. Zash

    > many for browsers and webservers, understatement of the timeline

  101. Zash

    Does https://xmpp.org/extensions/xep-0060.html#owner-purge-error-nopersist also cover the case where the node has been configured with persist_items=false ?

  102. qy

    https://xmpp.org/extensions/xep-0066.html#x-oob hey, what clients would implement this in a way that doesnt require the text in x to be the same as the text in body? Cause conversations behaves like that

  103. Zash

    Mhm.

  104. jonas’

    > Did this page https://xmpp.org/extensions/ live in the xeps or website repo? website, copying xeplist.xml from the Webserver at build time

  105. qy

    Zash: do most clients do that?

  106. Zash

    It's pretty much the unofficial standard now.

  107. qy

    Why?!

  108. Zash

    Conversations does it.

  109. qy

    Oh for goodness sake

  110. Zash

    That's one way to put it.

  111. Zash

    jonas’: I had a vision. To steal the column thing from https://modules.prosody.im/ for like the core RFCs and stuff.

  112. Zash

    But ... I'm going to have to edit the CSS for that, don't I?

  113. Zash

    Oh how I'd like to throw out pelican and reuse the prosody.im static site generator, so strong.

  114. Zash

    Oh how I'd like to throw out pelican and reuse the prosody.im static site generator...

  115. wurstsalat giggles

  116. wurstsalat

    I'd be there to help, if that's happening

  117. emus

    Zash, wurstsalat: You have my 95% support - 5% left because I actually cannot professionally evaluate 🙈🤡

  118. phryk

    Hey there. Do you have to be a member of the XSF to improve old or propose new XEPs?

  119. Zash

    phryk: Hey. No, no such requirement for participantion.

  120. Zash

    Membership is mostly a formality for the legal organizational stuff. Tho you do need to be a member to be eligible for some positions.

  121. phryk

    Thanks for the info, nice to hear. :)

  122. phryk

    Kind of an unrelated thing, but any of you know about anyone ever running XMPP (whether client or server) on a toaster? :P

  123. Zash

    phryk: That would be Link Mauve

  124. phryk

    @ Link Mauve, you did? :D Did you post about it anywhere?

  125. mathieui

    phryk: not an actual toaster, but probably less powerful than any of the """smart""" ones of those days

  126. phryk

    Yeah, but an actual toaster would make the point so well… ^^

  127. qy

    So it can message you when toast is done?

  128. phryk

    Or it just runs a local XMPP service in case the internet breaks, I don't care. :P

  129. Zash

    Or would it? Producing enough waste heat to toast toast seems like a bad thing.

  130. phryk

    I secede that point. A fridge running XMPP is also fine. :P

  131. Zash

    Better than a fridge participating in botnets :)

  132. phryk

    Hey, maybe that smartfridge botnet did its C&C over XMPP :P

  133. qy

    You know what might help avoid this conversations-centric landscape? On each XEP on the site, indicate what clients implement it

  134. qy

    Its remarkably hard to work that information out

  135. qy

    E.g. wondering if any client implements 0447 or 0385

  136. phryk

    qv: I recently wrote a python script getting the list of official client DOAPs and rendering a nice unicode table.

  137. phryk

    https://rnd.phryk.net/phryk/xmpp-utils/src/branch/main/bin/xmpp-doaptable

  138. phryk

    (needs python modules requests, colorama and prettytable)

  139. phryk

    aand it seems to imply that no client actually implements 0044 :P

  140. phryk

    Clients with a known DOAP are limited to Bruno , Conversations, Dino, Gajim, Monal IM, Movim, Poezio and yaxim tho.

  141. qy

    phryk: very nice!

  142. phryk

    why, thank you. :)

  143. qy

    So movim implements 0385 but thats it for both

  144. phryk

    I have some semi-formed plans on building a suite of modular tools to evaluate some of this stuff, maybe including server compliance stuff, hence the repo name xmpp-utils. :)

  145. qy

    Yeah

  146. qy

    Sounds good

  147. phryk

    Yes, but some info is definitely missing from the DOAPs – Conversations for example doesn't note support for 0454 but it's the very thing that defined that behavior.

  148. phryk

    (OMEMO'd HTTP uploads)

  149. phryk

    Mhh, I still wanted to open issues about that particular XEP not being noted for Dino and Conversations…

  150. phryk

    But I'm currently writing my tractate on why lefties should use XMPP :D

  151. qy

    Theyre all pretty happy on discord and mastodon i think

  152. phryk

    Fuck discord, Mastodon I'm on myself. :P

  153. phryk

    ActivityPub does what it's there for pretty well, I think.

  154. phryk

    But it's not exactly where the organizing of actions should happen. :P

  155. qy

    Matrix is pretty big for lefties too iirc

  156. phryk

    No idea, never liked it. There's still no proper native client on my OS for it and I don't even know if a good native client exists for any platform…

  157. phryk

    Or *any* native client on any platform… For all I can tell, it might just be electron all the way down… :F

  158. qy

    There's nheko

  159. qy

    And some terminal clients

  160. qy

    But im not gonna encourage matrix use

  161. phryk

    Oh nice, even a FreeBSD port exists. Now I at least have an alternative that's not completely shitty when some project only has matrix… :F

  162. qy

    There's always... bifröst 😱

  163. qy

    Extended your list a bit https://ipfs.io/ipfs/QmSNbiLB1DYKAMMFRaWUbZrDnBcV7u7611sEqzYbrLeB4p

  164. phryk

    qv if you empty out XEP_LIST it will just show all XEPs it found info on. That also means XEPs not mentioned at all won't show up, tho.

  165. phryk

    the plan of course is to make this into a CLI parameter, probably with a few predefined sets like noted in https://xmpp.org/extensions/xep-0443.html

  166. qy

    Oh i just fetched all the ones that have at least one impl

  167. qy

    Irrritating to read though

  168. qy

    Everything cool is missing impls

  169. phryk

    Well, not everything and as I said this info is incomplete because DOAPs is incomplete and many projects don't have DOAPs.

  170. phryk

    Tho yeah, more implementations would always be nice, especially for stuff like E2E encrypted file transfers and A/V chats. :)

  171. qy

    I need to implement oob filesharing (http, 0066) for my client, which is why i was reminded of that dumb conversations behaviour

  172. qy

    Not really sure how i can implement recieving without fetching the file first, which is annoying

  173. qy

    Im tempted to embed a tiny ipfs server and use that for file storage

  174. qy

    Oh wait

  175. qy

    I could reupload it to local server and use that i guess

  176. phryk

    OOB transfers do HTTP? o_O

  177. qy

    phryk: https://xmpp.org/extensions/xep-0066.html#x-oob

  178. qy

    Thats the media sharing used by most clients rn

  179. qy

    With the added caveat of your body must be just the url alone, because something something inputmice

  180. phryk

    Oh, so what clients usually do is implement 0363 for the upload and then 0066 to communicate the resulting URL to the recipient?

  181. phryk

    Mhh, does XMPP have something like a User Agent string?

  182. qy

    Depends on the context

  183. qy

    But yes

  184. phryk

    I have mod_e2e_policy deployed, like the concept but am missing features, am considering what I can implement…

  185. phryk

    Ideally I want per-user policies, with an initial value of "optional" and an automatic grace period after which that changes to "required". and to extend it to cover file transfers and A/V chats. But also more specific and context-aware messages when something isn't using E2EE.

  186. phryk

    For that it'd be nice to be able to automatically recommend alternative clients that do support E2EE for the thing that failed. :)