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.