XSF Discussion - 2018-03-16


  1. jonasw

    edhelas, goffi, care to give feedback on the current XEP-0394 discussion? Even feedback of the type "We’ll need full XHTML anyways, so do whatever you folks want" would be valuable. specifically starting at https://mail.jabber.org/pipermail/standards/2018-March/034588.html thanks

  2. Guus

    goodday! I'm working on migrating bookmarks (0048) from private xml storage (0049) to pep (0223). I'm was surprised to find a difference between the pubsub node defined in 0048 example 3 (the published item root element is 'storage', that itself contains 'conference') and 0233's example 3 (the published item root element is 'conference' directly, without the wrapping 'storage'). I expected those two examples to have the same structure. What's going on there?

  3. jonasw

    didn’t we firstw ant to discuss whether we want to make that multi-item to avoid the races?

  4. Guus

    the last update to the xep was in 2008. That's a long discussion. :)

  5. Zash

    The update that changed it from private xml to pep?

  6. Guus

    Yeah. Both xeps descrbe the PEP way of doing things, but use a different xml structure.

  7. Guus

    that's mildly confusing, at best. :)

  8. Zash

    Well, if you needed evidence that nobody has looked at this since :)

  9. Guus

    so... which one is it? :)

  10. jonasw

    Guus, look at what converse.js does. it might be the only implementation around.

  11. Guus

    LOL. JC is right here - as in, we're both in London, sharing an appartment, hacking on code :)

  12. Guus

    which is why this came up in the first place

  13. jonasw

    IETF?

  14. Guus

    no

  15. Guus

    I think he later also attends a JMAP session, unsure (he's still in bed, we were coding until 3am last night)

  16. Guus

    I'm leaving later today

  17. jonasw

    secret xsf meetup, eh?

  18. Guus

    littlebit :)

  19. Guus

    well, we did discuss doing this more often, and having mini hackathons or something

  20. jonasw

    make a secret XSF meetup in Dresden, I’ll join

  21. Guus

    we've been pretty productive, and it's good fun

  22. Guus

    well, he's in germany, I'm in the netherlands... I we can make something work. :)

  23. vanitasvitae

    Dresden is even further away than Berlin 🙁

  24. deleteme9

    Oh. I considered going to that jmap session as well. But time...

  25. Zash

    RIP email

  26. MattJ

    JMAP is great

  27. MattJ

    if it's ever adopted

  28. Zash

    But JSON and HTTP? Meeeeeh :(

  29. daniel

    Depends. It's still pretty close to imap. Which is both a good thing but also a bad thing

  30. MattJ

    I once tried to write an IMAP client in Javascript

  31. daniel

    I have an unfinished library for an earlier version of jmap somewhere on my disk

  32. MattJ

    JMAP is great

  33. Zash

    MattJ: "in Javascript" :|

  34. MattJ

    Zash, find me a nice UI framework as an alternative :/

  35. Tobias

    JS the UI framework? :)

  36. MattJ

    Tobias, no, just HTML/CSS/JS is a portable well-documented stack for writing apps, with a large ecosystem

  37. Tobias

    yup

  38. jonasw

    for certain definitions of well-documented

  39. MattJ

    It comes with the choice of multiple runtimes, pretty much all of them large complex and bloated, but everyone has them installed

  40. Tobias

    everyone has them installed but you ship a new environment anyway

  41. Tobias

    everyone has them installed but you ship a new environment anyway (Electron)

  42. Zash

    It's a linked document system that evolved into an application platform.

  43. Guus

    Daniel, MattJ, do you guys use PEP for private data storage?

  44. MattJ

    Prosody doesn't currently support private PEP nodes

  45. MattJ

    Roadmap is: Make our PEP implementation use the same code as our "full" pubsub implementation (done, pretty much) -> add publish-options support (in progress, almost done hopefully) -> add access model support (should be trivial)

  46. Zash

    Permissions and such are configurable, but only internally.

  47. deleteme9

    Guus: not yet

  48. Guus

    deleteme9: you are aware that you are here as 'deleteme9'?

  49. deleteme9

    I'd switch bookmarks over in a heart beat. But I don't want to support both

  50. deleteme9

    Yes

  51. deleteme9

    I'm on a dev phone with a different account

  52. Guus

    I'm finalizing a change in Openfire that would allow you to query the same data over both

  53. deleteme9

    And that phone was closer

  54. Guus

    However, there appears to be a descrepancy in 48/223

  55. deleteme9

    Guus: yes. That's what I'm afraid of. If you then push to both as a client that will get ugly

  56. deleteme9

    Not the descrepancy but what you Said earlier

  57. MattJ

    A disco feature was proposed

  58. deleteme9

    Can't type fast enough on my new phone

  59. Guus

    We're not keeping two distinct sets of data - we're using one set, that you can modify both through private xml storage as well as through the PEP thingy

  60. Guus

    the private xml storage does not broadcast, as far as I know, so it'd be up to the client to pick and choose one way to exchange this data?

  61. edhelas

    Guus thanks <3

  62. edhelas

    Movim is already using Bookmarks on PEP for years

  63. Guus

    edhelas: can you review what I just send to standards@ then?

  64. jonasw

    who’s deleteme9?

  65. Guus

    daniel

  66. jonasw

    ah

  67. edhelas

    Guus done :)

  68. Guus

    tx

  69. daniel

    i think that difference between 48 and 223 makes sense if you assume that you want to put each bookmark in its own item

  70. daniel

    which would be kinda nice

  71. daniel

    but when in doubt 48 is right because 223 is just an example

  72. Guus

    agreed.

  73. Zash

    Oh and the <publish-option> issue where only pubsub#access_model is actually defined, has that been resolved?

  74. Guus

    Zash: I'm unsure what you're referring to

  75. Guus

    are you talking about the security issue where the publish-option can easily be ignored, which can lead to publication of items under false settings (such as by accident publicly publishing data that's ment to be private)?

  76. Zash

    Guus: No, the fields in https://xmpp.org/extensions/xep-0048.html#example-3

  77. Zash

    Well. pubsub#persist_items

  78. Zash

    What does that mean?

  79. daniel

    I think that has been resolved hasn't it?

  80. Zash

    Oh, '60 has been fixed so the're all preconditions?

  81. Zash

    Well then

  82. daniel

    Yes after some discussion in which unfortunately not many people participated it has been decided that this is the best move

  83. Zash

    Text in '60 makes sense

  84. Guus

    yeah, those options confused us too. What we ended up with is that they are preconditions that must be met for existing nodes, and configuration overrides for nodes that do not exist (assuming auto-create is allowed).

  85. Zash

    This conflicts with cloud push, dontit?

  86. daniel

    Zash: not if the app server doesn't announce publish options as a feature

  87. daniel

    But yes that should probably be changed somehow

  88. daniel

    Maybe by push not using pubsub syntax at all

  89. daniel

    But at least on paper we don't have a problem here

  90. lovetox

    what clients do use user mood and user activity

  91. lovetox

    ?

  92. Zash

    Pidgin

  93. lovetox

    i just thought about the xep and it feels a bit useless

  94. lovetox

    user can set status message with presence

  95. lovetox

    he can put emojis and any text he like in there

  96. lovetox

    why would he set beside that a mood

  97. intosi

    Because not everyone is interested in that info. Presence flooding is a real thing.

  98. Zash

    Was emoji even a thing back then?

  99. lovetox

    i didnt mean it was useless back then

  100. lovetox

    i wonder about today

  101. lovetox

    idont see this as presence flooding

  102. Zash

    If combined with access controls, you could in theory only show your closest friends your mood. Or somesuch.

  103. lovetox

    you will not change more often your mood than your status

  104. lovetox

    i re-evaluate these xeps in gajim currently so i wonder if its worth to keep them

  105. lovetox

    would it not make more sense to have a user status xep

  106. lovetox

    just a node where a user can publish multiple things that could be extended

  107. lovetox

    like a link to a picture

  108. lovetox

    or video

  109. Zash

    Hm, wasn't the need for a status-in-pep xep agreed upon already?

  110. jonasw

    yeah, that was part of summit

  111. jonasw

    lovetox, go write it down, it’ll get accepted

  112. lovetox

    yeah maybe i invest my energy into that instead of refactoring code for mood and activity

  113. lovetox

    because almost no one supports that anyway

  114. Zash

    Poezio and pidgin does

  115. Zash

    Or, activity at least

  116. Zash

    Yeah, mood too

  117. lovetox

    so what does a status xep need

  118. lovetox

    text obviously

  119. lovetox

    a way to add a URI to some file or video

  120. Zash

    <show> and <status> from presence probably?

  121. lovetox

    really show?

  122. Zash

    URI?

  123. lovetox

    why we have that in presence

  124. lovetox

    why would i need it in status again

  125. Zash

    I got the impression that consensus was that the things in <presence> ought to be in a per-account PEP thing instead.

  126. Zash

    And the relevant things are basically just show and status

  127. lovetox

    you talk like you can get rid of presence

  128. lovetox

    presence will be there, so the show information is already known to the client

  129. lovetox

    hm or is it possible to leave show out of presnece?

  130. Zash

    I said nothing about removing from presence.

  131. Zash

    It'd probably be a mess of both anyways

  132. lovetox

    also different resources can have differen show

  133. lovetox

    show can never be in a pep node

  134. daniel

    There was talk at the summit (and I tend to agree with the idea) to remove Show and status from presence and put that into a pep node

  135. lovetox

    if i disconnect, the pep node will show online forever

  136. daniel

    Because if you are dnd with one client you probably want to be dnd with all

  137. lovetox

    but than you need server addon

  138. daniel

    And what ever clever status you came up with you probably want that to be global as well

  139. Zash

    Well, sometimes I don't want you to disturb my phone, but you can talk to me at my desktop

  140. lovetox

    that changes the show inside the pepnode in some circumstances

  141. daniel

    Zash: with carbons that will arrive at your phone though and disturb you there anyway, no?

  142. lovetox

    yeah what Zash said, im not sold on that, seems forced, and the only plus is that you can sync show over clients, but who really wants that

  143. Zash

    Yup

  144. Zash

    I was fairly happy with how it worked when I originally stared with Jabber after all

  145. lovetox

    if you set status DND on your client and he still notifys you the same as when you are online

  146. Zash

    I didn't want to move to everything everywhere all the time and everything persisted forever on some cloud somewhere

  147. lovetox

    i woudl say thats a client problem

  148. Zash

    And a dnd status doesn't seem to stop people from messaging anyways

  149. lovetox

    why should it? if you dont want to get messages go offline

  150. Zash

    lovetox: re your original question, why not rip out mood and stuff into a plugin (or tell those who wants the feature to write a plugin)

  151. lovetox

    because i need to add a api to show the icons than

  152. lovetox

    and maintain that until the end of time

  153. lovetox

    lets do a status xep

  154. lovetox

    but this show idea has way to many holes for me

  155. lovetox

    and also its just not really solving a problem

  156. lovetox

    i never heard someone complain that he wants his status synced over all clients

  157. MattJ

    lovetox, plugins being able to show icons next to the contacts, for a client like Gajim, seems like a nice idea :)

  158. lovetox

    was the current trend not to dont even allow and show status changes ^^

  159. Zash

    it seems to be coming back

  160. Zash

    you can be ahead of the curve!

  161. Zash

    trens are often cyclic after all

  162. Zash

    I mean gateways and transports are apparently all the rage again

  163. Maranda

    Are they?

  164. intosi dusts off Jabber RPC

  165. Zash

    Isn't that the sell with Matrix?

  166. Maranda

    🤣 🤣

  167. Zash

    And the whole Slack bridge issue

  168. lovetox

    hm what does movim?

  169. lovetox

    do they put status into pubsub

  170. Maranda

    XMPP bridge/federation of MatriX?

  171. Zash

    And the thing where we've got a new generation of a bazillion different services and people are getting fed up with having a ton of chat apps at once

  172. Zash

    All the old is new again!

  173. edhelas

    Also tons of social network accounts

  174. moparisthebest

    are there tons of social networks? I thought it was essentially just facebook

  175. moparisthebest

    same with chat really, except like 8 of 10 top chat apps are just facebook owned...

  176. Zash

    don't forget how google has a dosen or something

  177. Maranda

    Huhu

  178. Zash

    also signal, wire, telegram, ... others

  179. Maranda

    All I use is Facebook and Instagram... Or should I count WhatsApp too?

  180. edhelas

    IRC

  181. moparisthebest

    someone in some xmpp muc pasted a chart of the top 10 chat apps recently...

  182. moparisthebest

    not recently enough for me to find in history though

  183. Maranda

    I tried to get someone to use Conversations apparently it's "nerd stuff", "rocket science" 🤔

  184. moparisthebest

    I tend to think there is no hope for a user that just wants to use their phone number and no username/password

  185. moparisthebest

    because that's really the only hurdle to conversations over whatscrap

  186. lovetox

    i can tell you that order moparisthebest

  187. lovetox

    whatsapp, facebook, weechat, rest

  188. moparisthebest

    weechat the IRC relay? no way normal users use that

  189. moparisthebest

    I was shocked recently when a few newish ~25 year old programmers started at work and hadn't heard of IRC... :'(

  190. lovetox

    So was the talks about the status xep anywhere written down

  191. lovetox

    then i give it a try to write down a xep

  192. lovetox

    moparisthebest, wee chat is the biggest messenger in china

  193. lovetox

    i think a billion users easy

  194. moparisthebest

    "WeeChat is a free and open-source Internet Relay Chat client" https://weechat.org/ https://en.wikipedia.org/wiki/WeeChat

  195. moparisthebest

    ah so you meant https://en.wikipedia.org/wiki/WeChat :)

  196. lovetox

    lol, ok there are 2 :d

  197. moparisthebest

    I'd only heard of the IRC one, wikipedia has at the top "Not to be confused with WeChat." but clearly they *are* to be confused haha

  198. lovetox

    is there somewhere a list with all published xeps?

  199. moparisthebest

    lovetox, https://xmpp.org/extensions/ ?

  200. lovetox

    yes nice

  201. Neustradamus

    lovetox: Psi/+

  202. moparisthebest

    lovetox, also https://github.com/xsf/xeps if you'd rather grep XML or whatever

  203. Neustradamus

    Today, I have looked the https://xmpp.org/registrar/namespaces.html, not all are on it

  204. Guus

    Neustradamus: please provide fixes.

  205. lovetox

    can xep 372 be used for quoting older messages?

  206. lovetox

    or was the idea something different

  207. lovetox

    because im a bit confused why it says message MUST NOT contain a body

  208. lovetox

    quoting messages without adding a reply seems not so nice

  209. lovetox

    ah no i see we have 0367 for that

  210. lovetox

    seems reference use case is something differnet

  211. lovetox

    ok no thats also not it

  212. lovetox

    i hoped there is something easy like adding a stanza id so the other client knows this is a reply to that message and can show it as a quote

  213. lovetox

    though a client that does not support that would miss the meaning..

  214. lovetox

    hm i guess i stick to > for quoting

  215. lovetox

    or use the new 0394

  216. MattJ

    ITYM 393: https://xmpp.org/extensions/xep-0393.html#quote

  217. moparisthebest

    plus it's not like stanza id is globally unique, or that you can rely on any client actually having that copy?

  218. Zash

    the touple of (jid, stanza-id) should be tho

  219. lovetox

    and why should i care if someone uses a client thats no able to generate a uuid?

  220. lovetox

    people should not use these clients

  221. lovetox

    with stanza-id i meant message-id

  222. lovetox

    i was not talking about a mam added stanza-id

  223. moparisthebest

    still the second part is true isn't it?

  224. lovetox

    yes, contact not having the referenced message is a problem

  225. lovetox

    using 0394 is also a problem

  226. lovetox

    if the other client doesnt support it, every trace of quote is gone

  227. moparisthebest

    I'd say just use 393 just like everything has always done even before 393 or even xmpp

  228. lovetox

    this might be one of the exceptions where you want to mix markup and 0394

  229. moparisthebest

    good enough for email/irc, good enough now :)

  230. lovetox

    how is this good enough if you receive a message like this

  231. lovetox

    > do it like that

  232. lovetox

    who wrote this message?

  233. lovetox

    who am i quoting?

  234. moparisthebest

    looks like you quoted a message to me

  235. lovetox

    what time was this message written?

  236. lovetox

    all these things could be added in 0394

  237. moparisthebest

    > [TIMESTAMPHERE] lovetox: bla bla bla

  238. moparisthebest

    good enough

  239. moparisthebest

    doesn't 394 have a way to discover if a contact has support? if not it's useless

  240. lovetox

    yes but this does not help you if there are multiple devices, and your contact is offline

  241. moparisthebest

    then you can't use it

  242. lovetox

    discovery for such things was always a bit meh

  243. lovetox

    most people just ignore it

  244. lovetox

    like with message receipts

  245. lovetox

    i dont care if a contact supports that or not

  246. lovetox

    just send it

  247. lovetox

    and the same with xhtml etc, maybe contact comes later online with a client that knows xhtml and loads message from MAM

  248. moparisthebest

    well you can always send both like some clients (pidgin?) does with xhtml and open up all sorts of security problems with PGP/OMEMO/OTR

  249. lovetox

    yes encryption is a trap

  250. lovetox

    but after falling in this trap i have now a sanitizer that has a tag whitelist

  251. moparisthebest

    or you can ignore 394 and just send messages every client will understand regardless of if they have explicit 393 support or not...

  252. lovetox

    so this can never happen again

  253. lovetox

    gajim supports > quoting

  254. lovetox

    but i think about ways to draw it more beautiful, and a reference to the original message seems helpful with that

  255. lovetox

    so doing > blabla

  256. lovetox

    and adding more stuff via 0294

  257. lovetox

    0394

  258. lovetox

    and when displaying with 0394 support, delete the > out of the message

  259. lovetox

    this seems one of these exceptions where you want to have markup inside body

  260. Ge0rG

    Markright.

  261. Guus

    How is the German meetup going? #PicsOrItDidntHappen

  262. Holger

    Guus: Very well, 11 people, a few of them first-time visitors.

  263. Holger

    > #PicsOrItDidntHappen My upload is currently broken, sorry 😉

  264. MattJ

    Holger, nonsense, it's HTTP, it just works!

  265. Guus

    Holger: what he said!

  266. Ge0rG

    Holger: you need a better client then.

  267. lovetox

    so i written down a xep draft

  268. lovetox

    inside a xml file

  269. lovetox

    how can i get this to be rendered?

  270. lovetox

    if i open it with chrome it shows nothing

  271. Neustradamus

    lovetox: https://xmpp.org/extensions/xep-0134.html + https://xmpp.org/extensions/xep-0143.html

  272. lovetox

    thx Neustradamus

  273. lovetox

    hm nice ok worked :)

  274. lovetox

    so here http://www.funkroom.net/xep/xep-status.html i copied most of the stuff from other xeps hope this is no problem does someone care to tell me what was talked about and what should go into this

  275. edhelas

    soon Presence over PEP ?

  276. lovetox

    the question is why do i have to parse from 2 xeps and one core mechanic stuff to get the full status of a contact

  277. lovetox

    presence, mood, activity

  278. lovetox

    i just want to provide a textfield where the user can put in whatever he likes (emojis, text) and publish this to all my contacts

  279. lovetox

    not send a presence, publish my mood, then publish my activity

  280. lovetox

    and with the added bonus of pep syncing this also to my other clients, this just makes sense :)