XSF Discussion - 2019-02-19

  1. moparisthebest

    To be fair 393 just documents what most email, IRC, and xmpp clients have been doing forever

  2. moparisthebest

    And turns out, plenty good enough for what going on 30 years now?

  3. Zash

    Oh look, logs are working again.

  4. intosi

    Zash: great work, thanks!

  5. Zash


  6. Zash

    There's also MAM support now

  7. zinid

    no waaaay

  8. intosi


  9. jonas’


  10. zinid


  11. oli

    moparisthebest: not exactly true, 393 uses some different markup, iirc

  12. jubalh

    it seems some clients display a jid of a MUC and others its title or something. is there some XEP regarding this?

  13. Ge0rG


  14. jubalh

    Ge0rG, where does one get the 'title' from or what exactly is the right term for it?

  15. Ge0rG

    jubalh: https://github.com/modernxmpp/modernxmpp/issues/3

  16. ta

    jubalh, what do you have im in mind for profanity? assuming that is why you ask.

  17. jubalh

    Ge0rG, thanks for the link. was not aware of that modermxmpp org. it's a nice idea to document the things there

  18. jubalh

    ta, yep that's why I ask. I just thought about that we might want an option for users to configure what's displayed in their theme. I just joined a groupchat that was created with conversations and thus has random stuff as its jid, thats when i realized maybe we need to do something here ;)

  19. jubalh

    ta, in case you didnt see it: 0.6.0 came out yesterday :)

  20. Ge0rG

    jubalh: yeah, but it needs more love. Also check https://wiki.xmpp.org/web/Category:Easy_XMPP

  21. jubalh

    Ge0rG, cool thanks

  22. pep.

    We should probably rework stuff written on that easy_xmpp page to reflect stuff discussed in the sprint

  23. Ge0rG

    jubalh: the challenge about MUC names is which of those fields is the "master" value and how to determine that.

  24. zinid


  25. edhelas


  26. edhelas


  27. edhelas

    seriously :D

  28. edhelas

    not sure if troll

  29. Zash

    u wut

  30. zinid

    edhelas, XMPP must be retired!

  31. pep.

    People spreading FUD, that's not from today

  32. zinid

    > XMPP is not mobile, developer or server friendly protocol questions?

  33. edhelas


  34. edhelas

    their product page, before talking about optimizing stuff on XMPP they should maybe think about simply optimzing their product page, takes 3 sec to load with plenty of useless JS animations

  35. Ge0rG

    > Is there a better way? Yes, there is. We call it Yowza. zinid, why are you spamming us with marketing? :P

  36. zinid

    Ge0rG, because it's funny

  37. edhelas

    zinid is secretly part of the Yowza team

  38. Ge0rG

    Yowza. At least they have a nifty marketing name.

  39. Ge0rG

    As opposed to ex-MP pee.

  40. Zash


  41. Zash

    Oh wait, doesn't that sound too similar to SIMPLE?

  42. Zash

    Ruined :(

  43. Ge0rG


  44. Ge0rG

    looks like we were beaten by colored dresspants.

  45. Zash

    I guess we'll have to stay with hoodies

  46. zinid

    > Builds on Bert-RPC, WebSocket, Redis, Cassandra & MySql Some outdated shit. Where is Kafka? Where is Kubernetes?

  47. MattJ

    Can't tell if joking

  48. Andrew Nenakhov

    > XMPP is not mobile, developer or server friendly protocol That's true. However, the issues that plague XMPP would plague any protocol with a similar federated architecture.

  49. Zash

  50. zinid

    this "xmpp must be retired" article is so wrong at any its argument, it makes this article brilliant

  51. zinid

    it's like a trash movie: it's better when it worse

  52. Ge0rG

    And like with trash movies, even if you like them in principle, some of them are so bad it still hurts.

  53. zinid

    dunno, not a big fan of trash movies ;)

  54. debacle

    Talking about trash movies. XMPP was founded in 1999. Why not take the title of an 1999 trash movie as new name for XMPP?

  55. debacle

    Like e.g. "The Matrix"?

  56. Ge0rG

    The Matrix ain't no trash movie!

  57. ta

    Fight Club! Suits XMPP-Community pretty well.

  58. ta

    10 things i hate about you....

  59. ta

    the mummy

  60. pep.

    ta, the rules of fight club fail at 2119 (/8174). They could have used the proper keywords :)

  61. debacle

    Eyes Wide Shut

  62. ta

    A lot of movies that year describe xmpp well

  63. jonas’

    probably the zeitgeist

  64. jubalh

    is there an example of when an application uses 'headline'?

  65. Ge0rG

    We should have used headline for MAM responses, but we haven't

  66. Link Mauve

    jubalh, PubSub notifications for instance.

  67. lovetox

    Ge0rG, i think mam uses headline

  68. lovetox

    its not a must, but i think most servers do if i remember right

  69. jubalh

    then i'll look at pubsub later :) thanks

  70. jubalh

    so many things to read ;)

  71. jubalh

    do clients report which revision/version of an XEP they support? should they?

  72. moparisthebest

    depends on the XEP

  73. lovetox

    this only matters for p2p xeps and only for very very few

  74. lovetox

    pubusb is c2s

  75. lovetox

    if it matters clients announce what they use with disovery info

  76. lovetox

    see xep 0030

  77. Link Mauve

    !xsf_Martin, you’re blinking.

  78. jubalh

    why does it only matter there? for clients to be compatible to each other maybe even more so. but doesnt it matter in all cases? if i implement MAM for example in a certain version and later there is another revision of it, i suppose the client should adhere to that new revision? if developers of that client change it might be hard to find out which revision the original author actually implemented, no? (on the other hand i really dont have experience what would change in a certain XEP, maybe its only typos and nothing important afterall)

  79. lovetox

    jubalh, are you talking from a server developer view or client

  80. lovetox

    if you implement pubsub in a client, other clients are not part of the transaction so why would you care what they implement?

  81. lovetox

    in general if there are breaking changes in a XEP there is a namespace bumb in the node

  82. jubalh

    lovetox, client

  83. Ge0rG

    jubalh: for client to client, it doesn't make much sense today to check for capabilities - with Carbons and MAM, your messages will end up with all sorts of clients.

  84. jubalh

    ah i see, namespace bump. so as a new dev to an existing client i should check which namespace we use currently and whether there has been a bump. or would it be incompatible anyways and i would get a message?

  85. lovetox

    no look at the namespace

  86. jubalh


  87. lovetox

    there can be smaller changes that dont bump a namespace, but they are never breaking

  88. jubalh

    ok good

  89. jubalh

    what would happen if i have a namespace?

  90. jubalh

    if there would be urn:xmpp:mam:1 urn:xmpp:mam:2 and urn:xmpp:mam:3. and my client was written for urn:xmpp:mam:1. it would depend on whether the server impelments several or usually they only support latest when they update to a new namespace?

  91. jubalh wonders if his question doesnt make sense

  92. jubalh looks as lovetox

  93. lovetox

    in xep 313 its described how you find out what the server supports jubalh

  94. lovetox

    a server announces in its disco info what features it has

  95. lovetox

    often servers implement multiple versions of XEPs

  96. lovetox

    MAM is such an example

  97. jubalh

    thanks :)

  98. ta

    jubalh: what are you up to?

  99. ta is a courious profanity user

  100. jubalh

    ta, nothing special. i just need to get familiar with all the XMPP landscape so i can help better with profanity. there is a lot that i'm unsure about :)

  101. ta

    Very important are profile pictures in ascii art ;-)

  102. Ge0rG

    ta: you need to switch to poezio then. I hate that feature, but it's there.

  103. Ge0rG

    jubalh: implement XEP-0379. Display a QR code for mobile users, generate and process preauth tokens! 😁

  104. jubalh

    ta, actually i thought about this today ;D

  105. jubalh

    I might be in Berlin in a few weeks. I heard there is an XMPP meetup. Anyone of you guys there? Maybe I should join in case its the same week

  106. debacle

    jubalh, please join xmpp:berlin-meetup@conference.conversations.im?join

  107. jubalh

    debacle, done, thx

  108. debacle

    we also have an XMPP sprint in Berlin: https://wiki.xmpp.org/web/Sprints/2019_March_Berlin

  109. debacle

    all XMPP developers, coders, documentors, editors are invited

  110. debacle

    food and drinks are free

  111. pep.

    Careful when saying "free food and drinks", you're going to attract too many people in XMPP

  112. debacle

    that was intended :)

  113. debacle

    as long as they actually *do* something (other than eating and drinking) it's fine

  114. jubalh

    hmm that would be interesting. though i will proably be there on another week, maybe i can come again for this event

  115. jubalh

    at least in case you guys dont mind me to bother you with all kinds of beginnre xmpp dev questions ;)

  116. debacle

    we probably can't help you, but we would try

  117. ta

    debacle: who takes care of the espenses?

  118. ta

    Ge0rG, jubalh: i mentioned that feature because i find it a funny gimmick and it probably does not involve too much fiddling with xmpp itself in the first place.

  119. debacle

    ta, we have (almost certainly) a sponsor :) it's limited a little bit, but we expect we can have sandwiches and drinks during the days. The restaurant in the night has to be paid by everyone themselves. But we go to a relatively cheap one. We know, that many are students etc.

  120. ta

    Okay. Thought nicr company is giving back.

  121. debacle

    jubalh, there is something you might like to adopt. There is a profanity plugin to support OMEMO. (In fact, there are even two of them.) The original author abandoned it, but I think it might be easier nowadays, because syndace wrote a nice OMEMO library in Python. You could go on with its development.

  122. jubalh

    debacle, just today somebody started to work on OMEMO support

  123. jubalh

    no plugin though, he started to implement it in c in the client (otr and pgp are also done like that)

  124. jubalh

    but we were aware of the started plugins

  125. debacle

    Oh, great!

  126. debacle

    Just today I tried OMEMO successfully in jp (command line client of Salut à Toi) and Psi+.

  127. ta

    jubalh: that is awesome news. I try to contain myself

  128. jubalh

    ta, its rather unofficial yet. so lets not create pressure for the guy working on it :)

  129. ta

    Yeah, we are in private here *cough*

  130. jubalh


  131. debacle

    no need to reveal anything, just give us name, phone number, and physical address (which is *not* the MAC)

  132. jubalh


  133. ta

    Seriously its nice to see some progress

  134. Ge0rG

    What's a good user understandable name for "muc bookmarks"? "my group chats"?

  135. ta

    Activly joined/connected or stored and to selelct for connecting?

  136. Ge0rG


  137. Zash

    "Bookmarked (group) chats" ?

  138. Zash

    Favorited maybe?

  139. Zash

    or Starred

  140. Ge0rG

    Favorites... Hmmm, that's a good one

  141. ta

    +1 for Favorites

  142. Ge0rG

    Though the implications are rather... "synchronized to all devices"

  143. ta

    And here are a server developer, a security consultant and a UI-noob discussing UI. The result must be awesome ;-)

  144. Ge0rG

    And autojoin is "automatically join on other devices"

  145. Zash

    Perfectly consistennt with XMPP

  146. Zash

    Perfectly consistent with XMPP

  147. ta

    Ge0rG: joining, leaving mucs and synchronizarion is hard to explain to others. In sync would be easiest to explain, but i myself woulnt want it for all mucs.

  148. Ge0rG


  149. ta

    On my mobile i hust want the most important public mucs to be connected, the ones i stumbled in to be moderator... On desktop connect to all, but only open some... Its complicated.

  150. ta

    Ge0rG: i think i have seen that pnenomenal piece of art before.

  151. Zash

    "Always show chat on other devices" for autojoin maybe?

  152. Ge0rG

    What's a device?

  153. Zash


  154. Zash

    What does it mean to have a bookmarked but not joined room?

  155. Ge0rG


  156. Zash


  157. Ge0rG

    Zash: it doesn't have any effect by default, except that it's shown in some obscure dialogs?

  158. Zash


  159. Zash

    Maybe Favorite should be bookmark+autojoin, while the more neutral Bookmark is just bookmark?

  160. ta

    a bookmark deiitely sounds passive, not like something already joined/connected

  161. Ge0rG


  162. Ge0rG

    Maybe somebody can fix the mockdown

  163. Zash

    Why do you bookmark?

  164. Zash

    Why do you set it to autojoin?

  165. Zash

    (or not)

  166. Ge0rG

    I wouldn't add non-autojoin bookmarks from *my* client

  167. Zash

    But as a user?

  168. Lance

    I bookmark rooms so I don't have to remember/find the room JID again, and to not have to remember to set my nick every time. I only mark a couple that i'm always interested in to autojoin; the rest are just for shortcuts whenever I do want to join in.

  169. lovetox

    But the user should not need to set autojoin or remove it

  170. lovetox

    autojoin is only for the client to know when it starts what your last conversations were

  171. lovetox

    for a user there should only "Leave this conversation" or "Join this conversation"

  172. lovetox

    the details of how the client remembers what conversations were joined and how and if he saves that on the server should not be the concern of the user

  173. Ge0rG

    lovetox: what if a user wants to join all their private MUCs from the mobile, but not high traffic MUCs like this one?

  174. Lance

    Not even mobile vs desktop or traffic. I've got over 30 rooms bookmarked. Only 5 or so set to autojoin

  175. lovetox

    Lance thats the most usual usecase

  176. lovetox

    everybody does it like that

  177. Lance

    That could be a side effect from client UIs, where clients open up a new tab for each room, and you're only 'joined' while that tab is open. And I don't want 30+ tabs opened

  178. lovetox

    Ge0rG, highly specialized usecase, where the user cares about traffic consumption and modifies his MUC joins because it saves him X percent in data traffic

  179. lovetox

    thats nothing i would develop for

  180. Lance

    ooooh, now i think i understand the UX you're describing lovetox

  181. Ge0rG

    lovetox: you are only saying that because you are a desktop developer! 😜

  182. lovetox

    maybe, i also dont have a smartphone

  183. lovetox

    but at least i know there is a billion whatsapp users, and they dont have the chance to optimize their traffic

  184. lovetox

    didnt stop them from using it

  185. Ge0rG

    They get their traffic optimized centrally

  186. lovetox

    and they share so many pictures, how many MUCs do you have to join that you get the equiv of a 5 MB photo in traffic

  187. Ge0rG

    I know I started the trolling, but now you've overdone.

  188. Ge0rG

    The problem isn't large files but waking up the radio all the time for small packets

  189. lovetox

    but the topic was bookmarks and muc joins ^^

  190. Ge0rG

    Like for presence updates, or the millionth disco info request

  191. lovetox

    yeah disco info is bad

  192. lovetox

    if you change the disco info of the client

  193. lovetox

    then join a muc

  194. lovetox

    you are in a world of hurt

  195. Ge0rG

    If you don't change it, it still hurts

  196. lovetox

    why? should be cached then or not

  197. Ge0rG

    Nobody is testing those code paths

  198. Ge0rG

    People add junk hashes to their presence, respond with incorrect caps etc

  199. Zash

    Devs add stuff that makes every caps hash unique

  200. lovetox

    actually i have a log warning for that, there are really client out there who calculate that wrong

  201. Ge0rG


  202. lovetox

    ah yeah i thought it was poezio, but never bothered to verify it