XMPP Council - 2021-04-14

  1. jonas’

    1) Roll Call

  2. Zash


  3. dwd

    Cheese today please.

  4. jonas’

    cheeese .... sounds great

  5. Ge0rG

    good morning

  6. daniel


  7. jonas’

    full house \o/

  8. jonas’

    2) Agenda Bashing

  9. Ge0rG

    dwd: no cheese for you, https://www.bleepingcomputer.com/news/security/dutch-supermarkets-run-out-of-cheese-after-ransomware-attack/

  10. Ge0rG

    I'd like to AOB my 0280 LC

  11. jonas’


  12. jonas’

    I’m hungry now

  13. jonas’

    so expect that I rush through the meeting :P

  14. dwd

    Ge0rG, I am not Dutch though, so I still get cheese I think.

  15. jonas’

    (only to sit here waiting until dinnertime...)

  16. Ge0rG

    dwd: something something global logistics

  17. jonas’

    3) Editor’s Update

  18. jonas’

    we now have BibLaTeX, citations in XEPs, so that’s nice

  19. dwd

    Ge0rG, Brexit means Brexit, we have no global logistics anymore anyway.

  20. jonas’

    4) Items for Voting

  21. Ge0rG

    jonas’: great!

  22. jonas’

    none I think?

  23. jonas’

    yep, none

  24. jonas’

    5) Pending Votes

  25. jonas’

    dwd, any update on the '13 deprecation from you?

  26. Ge0rG

    should we construct an elaborate algorithm for the pre-conditions on which to +1 either 0280 or 0313?

  27. dwd

    Yes, I'll vote +1, acknowledging that there are bits that are useful and not present in Simple Blocking and Invisibility.

  28. Sam ticks off one of the XEPs on his list of old confusing ones that are lingering and goes to check what's next

  29. jonas’

    dwd, thanks!

  30. jonas’

    now for '280 and '313, a bunch of people (including me) are pending on those

  31. Ge0rG

    Sam: you need to fix the breakage of 0013 first :P

  32. Sam

    Ge0rG: we should talk afterwards in xsf@ about that

  33. Ge0rG

    Still no server developer feedback on urn:xmpp:carbons:rules:0

  34. dwd

    So after I dashed off last week, I see Ge0rG suggested having strict rules on what gets archived in '313. Equally, these exist in '280 and there is, as Ge0rG says, no server dev feedback on these.

  35. jonas’ invokes Zash for server feedback

  36. Ge0rG

    Is Zash the only server developer in the XSF?

  37. Zash

    I've probably written that feedback in some Prosody issue comment.

  38. dwd

    He's not even the only server dev on Council...

  39. Zash

    Should those rules really be enshrined into '280 and '313?

  40. Zash

    They will inevitably need to be updated to account for new payloads in the future.

  41. Ge0rG

    dwd: I'd love to hear feedback on urn:xmpp:carbons:rules:0 from *all* server developers, but *especially* from those on Council

  42. Ge0rG

    Zash: that's why they got their own namespace version that can be bumped.

  43. Ge0rG

    That's actually an outcome of the last LC discussion that I consider as elegant in retrospect

  44. Ge0rG

    as elegant as is possible with the hack that Carbons is.

  45. Zash

    Apply the same thing with '313 then?

  46. dwd

    So we could fish them out into their own XEP, advance '280 and '313, and have ${NEW_XEP} reference the two and add the strict rules in?

  47. jonas’

    + the cloud notify stuff

  48. Ge0rG

    dwd: I'm sure we could fish them out after advancing 0280

  49. dwd

    But I suspect there's a core of people who would be unhappy with Carbons advancing without them.

  50. Zash

    > It's unclear to me what messages would have IM payloads but are not be type = chat|normal|groupchat. We don't want to carbon type=groupchat that happens to have chatstates for example. from https://issues.prosody.im/1486

  51. Ge0rG

    And I'm not going to advance 0313 until these rules are written down *somewhere*

  52. daniel

    It might not sure they are going to have the same rules

  53. jonas’

    I also don’t see an issue with breaking them out of carbons as they’re "scoped" with their own namespace already

  54. daniel

    I'm not sure they are going to have the same rules

  55. jonas’

    daniel, nobody said that the rules XEP has to define the same rules for both

  56. Zash

    Cloud? Who said cloud?

  57. jonas’

    sorry, clown notify

  58. jonas’

    a.k.a. GSPPWS (Global Surprise Party Pre Warning System)

  59. jonas’

    a.k.a. GSPEWS (Global Surprise Party Early Warning System)

  60. Ge0rG

    jonas’: bringing in clowns is the opposite of your statet goal of rushing through this meeting.

  61. Ge0rG

    jonas’: bringing in clowns is the opposite of your stated goal of rushing through this meeting.

  62. jonas’

    I didn’t say it was a goal, I said it would happen ;P

  63. dwd

    Bringing in clowns is what the AGM is for, anyway.

  64. Zash

    I'm not convinced that the processing rules for all these things need to be identical.

  65. jonas’

    and I think that having a central place to look at routing rules in the pre-2.0 world is a good thing™

  66. Ge0rG

    I'm convinced they must not be identical.

  67. Zash

    Doesn't even make sense in some cases, as they apply to different subsets of stanzas.

  68. Zash

    There will be overlap tho

  69. Ge0rG

    And subtle differences

  70. Ge0rG

    But we are not going to know until somebody writes them down

  71. Zash

    User MAM vs MUC MAM for example

  72. Ge0rG

    which kind of requires server developer feedback.

  73. Zash

    What kind of feedback tho?

  74. Zash

    I can repeat what Prosody (trunk) does, which I think is sensible at this time.

  75. Ge0rG

    Zash: can you repeat it in a way that's clearly understandable in the context of XEP-0280, instead of in the context of #1486?

  76. Ge0rG

    ...on list

  77. daniel

    Presumably server devs don't care about the rules. It's the client devs who should know what messages they want under which circumstances

  78. Zash

    Maybe the clients should upload a firewall script to the server? 😀

  79. Kev

    My limited experience so far of clients trying to say what they want stored is that it’s a disaster :)

  80. dwd

    daniel, I'm not sure that's true either. There are different considerations, perhaps, but both sides very much care.

  81. Ge0rG

    daniel: don't remind me of the nights I've spent debugging corner cases of "that message didn't arrive on this device - why?"

  82. jonas’

    So what’s our way forward here?

  83. jonas’

    Is this another instance of "the problem is too complex to tackle with our resources"?

  84. Ge0rG

    contractually oblige server developers to respond to my emails?

  85. dwd

    Well, my view is that "What should servers store" is actually a different issue to "how should clients obtain what is stored".

  86. jonas’

    Ge0rG, will you pay them? ;)

  87. dwd

    XEP-0313 concentrates primarily on the latter, and seems to be stable and worthwhile.

  88. jonas’

    dwd, not wrong, but we need someone to write down "what should servers store" in a document

  89. dwd

    jonas’, But does it need to be this document?

  90. dwd

    jonas’, And, indeed, now?

  91. Ge0rG

    dwd: yes and yes.

  92. Ge0rG

    not having this information inside of 0280 has caused many years of frustration, incompatibility and people missing some messages.

  93. jonas’

    dwd, I don’t think it needs to be in '313

  94. jonas’

    Ge0rG, no, that was "not having the information anywhere" as opposed to "not having the information in '280"

  95. Zash

    Store *everything* and deliver a subset in queries is also a thing you could do

  96. Ge0rG

    Zash: but then we need a definition of what subset to deliver.

  97. Zash

    Some kind of firewall rules you upload...

  98. dwd

    Ge0rG, Do you think no confusion and frustration has been generated by having Carbons, MAM, etc in Experimental for so long?

  99. Zash

    (Not serious, actually a Matrix reference)

  100. Zash

    But deep-stanza matching is something MAM could use.

  101. Ge0rG

    dwd: my point is that the knowledge is *there*, but not in a document

  102. Ge0rG

    not writing it down now will just prolong the pain

  103. Ge0rG

    and I consider "what kind of information will this query return" as a very important part of a protocol.

  104. jonas’

    Ge0rG, but you also think that the rules need to be adapted

  105. jonas’

    I think having that in a separate (maybe Informational?) document makes more sense under that consideration

  106. jonas’

    for either

  107. Ge0rG

    jonas’: ..by servers?

  108. Zash

    Each new XEP may need to declare how it should affect carbons/mam/etc and then we summarize that somewhere?

  109. jonas’

    "Routing Considerations"

  110. Ge0rG

    Zash: not disagreeing in principle.

  111. Ge0rG

    Except, we need to just make routing an explicit part of... routing.

  112. Ge0rG

    And we are 70% there with message type and bare/full JID

  113. jonas’

    Ok, I don’t see this going anywhere

  114. Zash


  115. jonas’

    we’ve gone full circle again

  116. Zash


  117. Zash

    So, shall I translate mod_carbons into email and send that?

  118. jonas’

    if it makes Ge0rG happy

  119. Ge0rG

    Zash: please translate it into a delta on 0280.

  120. Ge0rG

    with rationale

  121. dwd cries silently.

  122. jonas’

    I am +1 on '313 and '280 based on running code and it works good enough

  123. Ge0rG

    when does 313 expire?

  124. jonas’

    Ge0rG, it did

  125. jonas’

    oh, the vote

  126. jonas’

    next week I think

  127. jonas’

    we can write down rules in a separate document, and any future changes to such rules should go into a separate "legacy routing rules" document

  128. jonas’

    which we can use as a reference to build a better IM-NG world

  129. Ge0rG

    okay, I'm going to sit on '313 for another week then, hoping that somebody responds to my LC mail

  130. jonas’

    okay then

  131. Ge0rG

    My other AOB would be Hints, actually.

  132. jonas’

    everyone cast your votes on-list please

  133. jonas’

    moving on

  134. Zash

    I still want to do a sweep of previous LCs, but haven't gotten to that yet

  135. jonas’

    6) Date of Next

  136. jonas’

    +1w wfm

  137. Ge0rG

    +1W WFM

  138. daniel

    +1w wfm

  139. Zash

    +1w WfM

  140. jonas’

    ok then

  141. jonas’

    7) AOB

  142. jonas’ hands the mic to Ge0rG

  143. jonas’ takes it away again

  144. jonas’

    everyone OK if we overrun by 15min or so?

  145. Ge0rG


  146. daniel


  147. jonas’

    no message is a good message

  148. dwd

    I can't speak for everyone, but OK.

  149. Zash

    I'm low on energy

  150. jonas’

    Ge0rG, go ahead

  151. jonas’

    Zash, feel free to say "cancel" at any point and we’ll move it to next week… we can c&p the text into the next meeting :)

  152. Ge0rG

    Alright, re 0280: bridge carbons probably should go into its own XEP, so doesn't block advancement.

  153. Ge0rG

    XEP-0334 Message Hints is in a sad state, but still included in 0280

  154. Zash

    Modern bridge XEP? Why not

  155. Ge0rG

    Should we get rid of Hints altogether?

  156. Ge0rG

    Can we realistically, without bumping Carbons?

  157. Ge0rG

    And can we undo the "stripping of <private/>" without bumping Carbons?

  158. jonas’

    I highly doubt the latter

  159. Ge0rG

    Well, it's not Draft yet.

  160. Zash

    Would it break anything?

  161. jonas’

    Ge0rG, getting rid of Hints the concept or Hints the document?

  162. Ge0rG

    jonas’: the use of Hints in other XEPs

  163. jonas’

    again, Hints the concept or Hints the document?

  164. jonas’

    getting rid of the hints XML element, not without aborting the LC period and letting the document sit for another year at the very least

  165. Ge0rG

    I think that the concept makes sense, in the context of the respective XEP that's actually affected by them

  166. Sam

    A hint was always just a hint right, not a requirement? If we add a <do-not-carbon-this/> to carbons, we don't need a namespace bump because it would be ignored by things that don't support it and maybe ignored or maybe not by things that do. No backwards compatibility issues.

  167. jonas’

    getting rid of the hints XML element, not without aborting the LC period and letting the document sit for another $periodOfTestingTime at the very least

  168. Sam

    I think.

  169. jonas’

    Sam, no, carbons is strict about <private/>

  170. Ge0rG

    Does anybody remember why Hints the XEP got into a deadlock?

  171. jonas’

    Ge0rG, roughly what you say

  172. jonas’

    ("should be in the respective documents")

  173. jonas’


  174. jonas’

    Ge0rG, so I don’t see a problem with using the XML from the Hints XEP and dropping it

  175. jonas’

    because compatibility

  176. jonas’

    I don’t see carbons as a thing which must be 100%

  177. Ge0rG

    jonas’: that's also my memory, but maybe dwd or Kev have a better one

  178. jonas’

    we need to get IM-NG 100% right, but we don’t have the concept of hints there so far and we might not even need it

  179. Ge0rG

    jonas’: dropping what?

  180. jonas’

    Ge0rG, the Hints document

  181. dwd

    I thought that a previous Council had effectively killed Hints?

  182. Sam

    I think I -1ed it last time hints came up for advancement. My rationale IIRC was because it would never be able to be finalized because the scope was so vague. We'd want more hints, or want to change one hint that doesn't affect another but couldn't without a namespace bump for both, etc. it just felt like a "util" package that would end up being full of cruft that people stuck in when they weren't sure where else to put it.

  183. Ge0rG

    Is it just me or were Hints completely removed from 0313

  184. dwd

    I vaguely thought daniel was a key proponent of killing them entirely.

  185. jonas’

    Ge0rG, that seems realistic

  186. daniel

    > I vaguely thought daniel was a key proponent of killing them entirely. I don't remember that

  187. Ge0rG

    Sam: thanks!

  188. Ge0rG

    So does it make sense to keep hints, that have their semantics defined inside of 0313 and/or 0280 and/or IM-NG, under a common namespace?

  189. dwd

    daniel, I misremebered - clearly it was Sam.

  190. jonas’

    Ge0rG, not necessarily.

  191. jonas’

    but if we already have them… we should keep them

  192. Ge0rG

    So does it make sense to keep the `<no-copy xmlns='urn:xmpp:hints'/>` XML inside of Carbons?

  193. jonas’

    not change their namespace/localname pair for whatever sake

  194. jonas’


  195. Ge0rG

    IIRC, there was no version of Carbons that required clients to add <no-copy> without also requiring <private>

  196. Ge0rG

    But now we have the paradoxical situation that a receiving server will strip <private> and retain <no-copy>

  197. jonas’

    Ge0rG, again, what are you trying to fix here?

  198. jonas’

    is there any practical issue?

  199. Ge0rG

    excessive XML bloat

  200. Ge0rG

    also consistency with my next AOB point

  201. jonas’

    I think the better place to work on that is IM-NG

  202. Ge0rG

    so the answer to my question is "just leave it as is"

  203. jonas’


  204. jonas’

    from my side anyway

  205. Ge0rG

    is that a rational decision or motivated by hunger? ;)

  206. jonas’

    good question!

  207. dwd


  208. jonas’

    but I don’t think the time we’ve sunk into this is worth the gain

  209. jonas’

    considering that Carbons is only an intermediate solution

  210. Ge0rG

    jonas’: those keep running the longest.

  211. Zash

    A temporary hack? Oh no!

  212. jonas’

    Ge0rG, they do, indeed, nevertheless... piling another layer of compat on it which isn’t solving any real UX problem is not going to make it better ;)

  213. jonas’

    and thinking about the implications of changing carbons at this stage makes my head hurt

  214. Ge0rG

    Let me rephrase my question: I would like to remove <no-copy> from 0280 and remove the "receiving server SHOULD strip <private>" part. Is there anybody in Council who thinks either would warrant a namespace bump?

  215. jonas’


  216. Zash

    In theory, yes. In practice, maybe not.

  217. Zash

    What breaks if we do that?

  218. Ge0rG

    We are still in Experimental ;)

  219. dwd

    Ge0rG, Namespace version was introduced *for* experimental...

  220. jonas’

    Ge0rG, we can delay the advancement of Carbons for another half a year for no real gain, yes

  221. Ge0rG

    jonas’: I don't see what would break by it.

  222. Ge0rG

    I'm not even sure if servers are following that SHOULD.

  223. jonas’

    Ge0rG, I don’t either, but I lack domain knowledge here

  224. Zash

    Oh, it's a SHOULD?

  225. jonas’

    okay, we’ve overrun the overrun

  226. Ge0rG

    jonas’: maybe we should postpone that to the next week's AOB then

  227. jonas’

    I think everyone has made their opinion clear so far, but we can go on next week

  228. jonas’

    8) Ite Meeting Est

  229. jonas’

    Thanks everyone, Thanks Tedd (I hope you’re ok!)

  230. dwd

    jonas’, Thanks. Go enjoy food.

  231. Ge0rG

    jonas’: thanks very much!

  232. Zash

    What time is it? Cheese time!

  233. jonas’

    Gluasch time!

  234. Zash

    On to more important decisions, such as what to do with the cheese

  235. jonas’

    put it on bread and then put both in the oven until the cheese has melted

  236. Zash

    Will I have enough energy to make food to replenish my energy? Tune in next week to find out!

  237. Zash

    I don't have any bread 🙁

  238. jonas’

    put it in a pan and fry it until the lower side gets slightly hard

  239. Zash

    I could make bread, but that would take hours

  240. jonas’

    crispy molten cheese!

  241. Zash

    That doesn't sound like a treatment worthy of Wästerbotten cheese!

  242. jonas’

    what even is that?

  243. Zash


  244. Zash

    It turns anything into delicious luxury food.

  245. Zash

    Cheap frozen pizza? Apply västerbottensost and it's the most delicious pizza ever!

  246. Zash

    Can only be produced in tiny village in the middle of nowhere in northern sweden. Nobody knows why. Magic!

  247. Kev

    FWIW, I think a client telling the remote server how to process a stanza, which changes which of the recipients clients get it, but stripping the instuction out so the recipient never knows is harmful.

  248. Zash

    Why was it done anyway?

  249. Ge0rG

    Kev: I fully agree

  250. dwd

    No idea why Kev is discussing protocl stuff in the cheese channel. I'd expect a solid mention of Welsh Rabbit by now.

  251. Kev

    I live to surprise.

  252. Kev

    Or something.

  253. Ge0rG

    I need to stop working already and drive to the local dairy to get some fresh milk and cheese.

  254. Zash

    It puts the cheese in the basket or else