XMPP Council - 2019-11-13


  1. Ge0rG It is the time and the day.
  2. Ge0rG And I even have a Controversial Agendum!
  3. dwd Afternoon all.
  4. dwd 1) Roll Call
  5. Ge0rG ,o/
  6. Link Mauve Hi. o/
  7. Ge0rG hello one-armed Link Mauve
  8. jonas’ here
  9. dwd I've a vague recollection Kev said he'd likely miss this one.
  10. Kev Maybe
  11. dwd 2) Agenda Bashing
  12. Kev I'm here.
  13. dwd I don't think there's anything, but I see Ge0rG wants to fight with me on this. :-)
  14. Ge0rG 15:23:18 Ge0rG> dwd: can we add https://github.com/xsf/xeps/pull/854 to tomorrow's agenda? The worst thing that can happen is that it will be re-voted by New Council
  15. dwd Oh, fair enough.
  16. Ge0rG It's a PR adding to MUC-PM: > Private messages are meant to hide a user's real JID from occupants they are talking to. In <link url='#enter-nonanon'>non-anonymous rooms</link>, a client SHOULD NOT resort to private messages, but instead make use of direct messages to the other occupant's real bare JID. However, if the user knows the other JID for other reasons, e.g. because they are a room admin, private messages SHOULD be used anyway.
  17. Ge0rG rendered version at https://op-co.de/tmp/xep-0045.html#privatemessage
  18. dwd Anyone have anything else?
  19. jonas’ +1 from me
  20. jonas’ oh, we’re not even voting yet
  21. dwd jonas’, Patience.
  22. jonas’ sorry, no, nothing from e
  23. jonas’ sorry, no, nothing from me
  24. dwd OK. In that case:
  25. Link Mauve Neither from me.
  26. dwd 3) Items for a vote.
  27. dwd a) XEP-0045: Direct messages SHOULD be used over PMs in non-anonymous rooms #854
  28. dwd https://github.com/xsf/xeps/pull/854
  29. jonas’ +1 on #854
  30. Link Mauve +1 for that, it’s making the UX easier for users with no downside.
  31. Ge0rG +1
  32. Ge0rG I'm sure some people will consider this a Breaking Change, though.
  33. Kev How does the client know that it's 'other reasons'?
  34. Link Mauve Kev, it should be aware that the room isn’t non-anonymous by doing disco#info on it.
  35. dwd I think I'm going to be difficult. I understand the rationale (I think), but it remains unclear why this is a good idea, and it's unclear there are any interoperability concerns (which makes me question RFC 2119 language).
  36. Ge0rG > If the user is entering a room that is non-anonymous (i.e., which informs all occupants of each occupant's full JID as shown above), the service MUST warn the user by including a status code of "100" in the initial presence that the room sends to the new occupant
  37. jonas’ !100_received && jid_known => other_reasons
  38. Kev dwd: I think there potentially /are/ interoperability concerns. Those messages might get swallowed because the users aren't in each other's roster and they're blocking messages from such.
  39. Link Mauve Or 100 yeah.
  40. Ge0rG dwd: direct messages are typically much more robust than MUC-PMs, delivery-wise
  41. Link Mauve Kev, or s2s is broken for $reasons.
  42. dwd Kev, Oh, that's true. Although if they're blocking the user deliberately - I see arguments pro and con.
  43. Kev dwd: But if they're simply not allowing non-roster messages...
  44. Link Mauve Kev, shouldn’t they also block MUC PMs in this case?
  45. Kev Or non-presence messages, I should say.
  46. dwd My problem isn't even if this is a good idea, it's that it's marked as a SHOULD without really explaining the considerations involved.
  47. Ge0rG not allowing non-roster messages is a very bad practice.
  48. jonas’ Kev, but isn’t that already an interop problem in and of itself?
  49. Kev Link Mauve: I meant non-presence, really, rather than non-roster.
  50. Ge0rG dwd: I started typing it as "should", but then I realized that RFC2119 applies either way and made it explicit
  51. Kev We started doing this in Swift, and actually ended up with messages not getting through that previously did.
  52. Ge0rG dwd: what are the considerations that are missing?
  53. dwd Ge0rG, Well, blah. I disagree that it does apply in non-caps, but it's somewhat irrelevant.
  54. Ge0rG dwd: if lowercasing it will please you, I can surely do that ;)
  55. Kev So I think rushing this through at the last moment of this Council is ill-advised. Better to wait for a Council who have full voting periods to consider the implications.
  56. Link Mauve Kev, on the other hand, I’ve had users report that it was terribly confusing to have two different chats with me (due to clicking on me from the MUC vs. from their roster, but they didn’t know that).
  57. Kev But this breaks things, so if we really want to vote now, I'm -1.
  58. Ge0rG Kev: we still have a week left.
  59. Ge0rG What Link Mauve said.
  60. jonas’ Ge0rG, put it into modernxmpp.org
  61. Link Mauve jonas’, it already is there.
  62. jonas’ ah, good.
  63. Kev Link Mauve: Indeed. And it's worth discussing that. But normative language here in this way isn't right.
  64. Ge0rG I actually experienced that with a coworker, who was confused about how those two chats are different.
  65. dwd Link Mauve, I've had users say they like the seperation of 1:1 messages and private messages relating to a groupchat.
  66. Link Mauve Kev, I think this is what this change is about. :)
  67. Ge0rG dwd: did those users grasp the difference?
  68. Kev As I say - we implemented this in Swift because it seemed like the Obviously Right thing to do - and then found it wasn't, necessarily.
  69. dwd Link Mauve, And if a client wishes to combine those into a single UX, what prevents it?
  70. Ge0rG Kev: your description rather sounds like it still is the Obviously Right thing to do, but there are technical implementation problems associated
  71. Link Mauve dwd, nothing, they perfectly can avoid this recommendation.
  72. Ge0rG also something about trust domains and how a MUC can manipulate all and everything coming in through it
  73. dwd Link Mauve, No, I mean, if a client wishes to present PMs in a non-anonymous room in the same message stream as 1:1 messages, surely it can?
  74. dwd Finally, I think there's a security issue wherein a semi-anonymous room could easily confuse a MUC admin's client into revealing the MUC admin's jid.
  75. Kev So I think these are the right questions to be asking, but I don't think this text is the right way to answer them.
  76. Kev Or not in isolation, at least.
  77. dwd But yes, I get, entirely, there are reasons why clients might want to send messages directly, and present PMs as direct messages. I'm not not comfortable putting a blanket requirement into '45 without some explanation of the considerations involved.
  78. dwd So I'm going to be awkward and -1 this.
  79. Ge0rG dwd, Kev: do you have specific advice on how to move on?
  80. Link Mauve dwd, a client can, but for instance multiple clients may not and it will be even more confusing to see half of the discussion happening on one client, and the full conversation on the other, as if Carbons wasn’t enabled.
  81. Kev Ge0rG: Off the hoof, I'm not sure I have a complete answer. It at least involves relaxing the language from SHOULD and having a discussion of the implications of both options, I think.
  82. Kev (And Security Considerations, as Dave says)
  83. dwd I have a feeling a lot more text will be involved. But more or less what Kev says.
  84. Ge0rG Kev: I'm aiming for consistency here, which is why I wanted the SHOULD
  85. Kev It's possible that appropriate discussion text means that a SHOULD is possible, I'm not sure at this point.
  86. Ge0rG I agree that more text about the trade-offs would be helpful, but historically we aren't good at offering such text, and I'm missing an appropriate XML element to style it as such
  87. dwd Ge0rG, If the text said "generally prefer" instead of SHOULD I would be more comfortable.
  88. Ge0rG dwd: noted
  89. dwd Ge0rG, But I don't think it's anywhere close to "Always do this and if you don't expect things to break", which is the approximate translation of SHOULD.
  90. Kev Having a SHOULD means that a receiving client should be able to make assumptions, too.
  91. Ge0rG re Security Considerations, the MUC can fake everything and anything, and I hoped that the text is clear about when NOT to do it
  92. Ge0rG dwd: isn't that the approximate translation of MUST, with SHOULD being more like "you should be knowing very well what you do if you violate a SHOULD"
  93. dwd Ge0rG, The gap between MUST and SHOULD is very small indeed. :-)
  94. Ge0rG dwd: it SHOULD be larger, though.
  95. dwd Anyway. Moving on?
  96. Ge0rG Sorry.
  97. Ge0rG does it make sense to bring this up again, next week, with relaxed text and pros and cons added?
  98. Ge0rG also please provide clearer advice re your expectations of what kind of Security Considerations to add
  99. dwd Sure. And if it's well-discussed on the list it stands a good chance.
  100. jonas’ maybe, but if you’ve got it prepared for next council it doesn’t harm
  101. Kev I think there might be people outside this room who have experience here that is relevant, so I think listing it is important.
  102. Kev e.g. it's coincidence that I happen to be on Council (this week) and could say "We tried this and some things break".
  103. Ge0rG dwd: I can't promise a list discussion happening within a week
  104. Link Mauve Even if it takes two, it should be fine.
  105. Ge0rG Kev: but if I send a mail to standards@, and you reply to it, maybe more people will notice.
  106. dwd Ge0rG, Sounds good.
  107. Kev I will promise to try to respond :)
  108. Ge0rG > also please provide clearer advice re your expectations of what kind of Security Considerations to add
  109. dwd Anyway, really moving on.
  110. dwd 4) Next Meeting
  111. dwd Next week?
  112. Kev I *think* I can.
  113. jonas’ +1w wfm
  114. dwd I think we'll try then. :-)
  115. Ge0rG +1W WFM
  116. dwd 5) Any Other Business?
  117. Ge0rG none here
  118. Kev Newp.
  119. dwd Really?
  120. dwd :-)
  121. dwd In that case:
  122. dwd 6) Ite, Meeting Est
  123. Link Mauve \o_
  124. Ge0rG > also please provide clearer advice re your expectations of what kind of Security Considerations to add
  125. dwd One more to go, and the hopefully someone else will wat to have a go.
  126. jonas’ thanks, dwd
  127. pep. > dwd: if lowercasing it will please you, I can surely do that ;) We haven't settled on changing 2119 to the update have we. That was never resolved
  128. dwd Yes, I think it was resolved, in the sense of "Not without individually checking every document carefully".
  129. Ge0rG pep.: yes, that went down on some TODO list
  130. dwd It'd probably be useful to do the groundwork allowing us to change them one by one, and adopt the updated version (that I can't recall the number of) for new documents and revisions ona case-by-case.
  131. dwd That part is just XSLT stuff that's an Editor job. Sorry. But it'll allow us to move more easily on the issue.
  132. flow and we could at least update the boilerplate text regarding 2119 at least for new XEPs
  133. pep. flow, agreed
  134. dwd Exactly.