XSF Discussion - 2019-04-18


  1. flow

    let's see if it flies?

  2. dwd

    As long as it doesn't nose-dive...

  3. jonas’

    Ge0rG, I don’t have my github credentials with me, but this wording needs fixing (re #787): > <p>This behavior can not be distinguished from a presence update from a MUC-supporting client that was desynchronized from the room. Treating this as a groupchat 1.0 join will mask the error and leave the client in a partially-synchronized state. Therefore, starting with version 1.32 of this specification, it is RECOMMENDED that a service receiving a &lt;presence&gt; without an &lt;x&gt; element responds with an explicit kick to that client.</p> I suggest: > <p>This behavior can not be distinguished from a presence update from a MUC-supporting client that was desynchronized from the room. Treating this as a groupchat 1.0 join will mask the error and leave the client in a partially-synchronized state. Therefore, starting with version 1.32 of this specification, it is RECOMMENDED that a service receiving a &lt;presence&gt; without an &lt;x&gt; element from a non-occupant full JID responds with an explicit kick to that client.</p>

  4. jonas’

    (note the added `from a non-occupant full JID`)

  5. Ge0rG

    jonas’: I was going to ask for a mini-diff.

  6. flow

    or even better: word diff

  7. Ge0rG

    jonas’: https://github.com/xsf/xeps/pull/787/commits/84674a922133ac1cbee98f46ee2e0d87214f5fda

  8. jonas’

    +1 :)

  9. Kev

    Ge0rG: How do you feel about adding a new status code for 'you were kicked because you're not in the room'? Then 'new' clients could receive this and know that they need to autorejoin (which you shouldn't normally do on a kick).

  10. Kev

    Otherwise, that PR LGTM, thanks.

  11. pep.

    I was wondering if 333 couldn't be of use here, but maybe it's a bit different

  12. Kev

    333 probably works actually, yeah.

  13. Kev

    Although equally, creating a new code specifically for this seems fine too, and possibly clearer.

  14. jonas’

    maybe defer this to the magic MUC application-specific-error-conditions XEP which flow volunteered to write? :)

  15. Kev

    I think this one we may as well just do Right Now, while merging Georg's PR, as it's such a simple change. Even if we choose 333.

  16. Ge0rG

    Kev: a code or a condition or a 333?

  17. Ge0rG

    Wait. Not 0333 the XEP but 333 the status code.

  18. pep.

    Yes the status code

  19. Ge0rG

    Yes, 333 is a logical addition there.

  20. Kev

    I'd just like a sign to a post-1.32 client that it's allowed to rejoin after this kick.

  21. Ge0rG

    `urn:xmpp:muc:1.32`

  22. Kev

    And then I think we've got 'gc1 joins' providing full resyncs for a client that understands them, and still letting the user know they're not in the room any more for those that don't.

  23. Ge0rG

    Kev: I can't parse that statement

  24. pep.

    anybody ever thought about advertising "up to what version a client supports"? :-°

  25. Kev

    If we have a mechanism (such as 333) such that a client written after this text knows that the kick was because of a desync, it means that sending a presence when not in the room (i.e. gc1 join) will give us a full resync mechanism. While clients written before this text (so not understanding that 333 or whatever means they can rejoin) will still be telling the user they're not in the room any more.

  26. Kev

    Ge0rG: See if that parses better.

  27. Kev

    I think I'd prefer a new code with unique semantics, rather than 333, but I think 333 also works.

  28. Ge0rG

    Kev: yes. But please avoid using "gc1 join" if you actually mean "desync occupant presence update"

  29. Ge0rG

    Kev: why not a new error condition, one that could be added to Self Ping.

  30. Kev

    Not sure I entirely understand the suggestion, but as long as it's something that can annotate a kick, I expect I'm ok with it.

  31. Ge0rG

    Kev: we had an idea of creating a custom error condition of `<not-an-occupant xmlns="http://jabber.org/protocol/muc"/>` for Self-Ping, but then we realized it would be a good extension to 0045, and I think it would be a perfect match for the "kick"

  32. Kev

    So you're suggesting putting that alongside the kick element?

  33. Kev

    (As well as using it in self-ping)

  34. Kev

    I see no reason that wouldn't work.

  35. Ge0rG

    Kev: I'm pretty sure you can't have a kick that's also an error.

  36. Kev

    It doesn't need to be an error for a kick does it?

  37. Ge0rG

    Does it make sense to put an error condition into a non-error?

  38. Kev

    I thought you were suggesting something like: <presence from='harfleur@chat.shakespeare.lit/pistol' to='pistol@shakespeare.lit/harfleur' type='unavailable'> <x xmlns='http://jabber.org/protocol/muc#user'> <item affiliation='none' role='none'> <actor nick='Fluellen'/> <reason>Avaunt, you cullion!</reason> </item> <status code='110'/> <status code='307'/> <not-an-occupant xmlns="http://jabber.org/protocol/muc"/> </x> </presence> or I thought you were suggesting something like: <presence from='harfleur@chat.shakespeare.lit/pistol' to='pistol@shakespeare.lit/harfleur' type='unavailable'> <x xmlns='http://jabber.org/protocol/muc#user'> <item affiliation='none' role='none'> <actor nick='Fluellen'/> <reason>Avaunt, you cullion!</reason> </item> <status code='110'/> <status code='307'/> </x> <not-an-occupant xmlns="http://jabber.org/protocol/muc"/> </presence>

  39. Ge0rG

    Kev: I hadn't thought through what I was actually suggesting.

  40. Ge0rG

    In retrospect, it doesn't make much sense. But maybe it's because MUC is a _bad_ spec and not because it's inherently a bad idea to have that condition code.

  41. Ge0rG

    > A MUC service MAY support adding the 333 status code to presences when a user gets removed by the service due to a technical problem (e.g. s2s link failure). This is OPTIONAL.

  42. Ge0rG

    Why the FFFF is it OPTIONAL?

  43. pep.

    Something something backwards compat something something

  44. Ge0rG

    Kev: https://github.com/xsf/xeps/pull/787/commits/049f186631592cde21dc404c5f6bca4da887e7ea

  45. Ge0rG

    I've gone with a MUST for 333, because the kicking itself is only RECOMMENDED

  46. Ge0rG

    but maybe I need to reword that into a MAY + lowercase "recommended"

  47. Ge0rG

    Old-school rendering: https://op-co.de/tmp/xep-0045.html#enter-gc

  48. Kev

    I don't pretend the situation is perfect, but I think this is the best option we've currently thought of.

  49. Kev

    Thanks Ge0rG

  50. Ge0rG

    Kev: I suppose 333 makes more sense than stuffing a condition into a non-error.

  51. flow

    why not both?

  52. flow

    Or at least put a human readable string into it

  53. Ge0rG

    flow: like... `<reason>You are not in the room.</reason>`

  54. Ge0rG

    flow: can you please clarify "both" in terms of XML?

  55. flow

    Anything which helps the recipient looking at the raw stanza to understand why he received it

  56. flow

    Ge0rG, similar to what key wrote above + 333

  57. Ge0rG

    flow: > I suppose 333 makes more sense than stuffing a condition into a non-error.

  58. flow

    Right, but why not also add the condition (or alternative another text)?

  59. Ge0rG

    flow: have a look at https://op-co.de/tmp/xep-0045.html#example-44

  60. Ge0rG

    flow: an application-specific error condition is supposed to be inside of an <error/>. Putting it into <x/> doesn't quite make sense. It would be just yet another MUC presence element.

  61. flow

    I don't see an issue with that. But again, I am mostly concerenced that the protocol is throwing around with numbers when it could also use strings which would be much more accessible regarding what is going on when looking at the raw stanzas

  62. Ge0rG

    flow: let's reinvent MUC.

  63. flow

    but if there is always supposed to be a </reason> then that is fine I guess

  64. Ge0rG

    flow: you need to i18nize reasons.

  65. intosi

    The rendered XEPs in the attic fail to load the navigation after the CSS update :(

  66. jonas’

    intosi, yes, that is an open issue

  67. jonas’

    we need to do some file shuffling

  68. intosi

    By that, you mean make the CSS and files available in /attic as well?

  69. intosi

    * and support files

  70. jonas’

    I am in a meeting right now, I don’t know off the top of my head what’s needed

  71. intosi

    Okay.

  72. Guus

    board o'clock.

  73. Seve says hi

  74. Guus

    MattJ ralphm ?

  75. Guus

    Nyco excused himself.

  76. Guus

    uh-oh.

  77. Seve has a "What do we do?" face.

  78. Guus

    While we wait: Seve, if I recall correctly, we agreed to volunteer you to create a job board proposal, right?

  79. Guus

    can we remove that from 'awaiting feedback' until a proposal is ready?

  80. Seve

    Guus, yes :), I don't have something yet unfortunately, but I've been looking at what the guys at opensourcedesign and I think we could follow something similar (at least the way of posting a job)

  81. Seve

    Guus, yes, completely

  82. Guus

    No problem, I'm not rushing you - but I don't think that there's anything for Board to discuss on that, that's why I'm asking.

  83. Seve

    We also don't have it as an item yet, but I think we could consider the following suggestion for the badges: https://opensourcedesign.net/jobs/jobs/2019-03-19-design-of-badges-for-different-xmpp-compliance-levels

  84. Seve

    I will add it

  85. Seve

    Well, actually, what I want to discuss is how do we want to proceed on this :)

  86. Guus

    oh, I didn't see those badge proposals. Ge0rG cc ^^

  87. Guus

    "this" being the badges?

  88. Guus

    or the job board?

  89. Seve

    Guus, sorry, the badges. I added a card there, to talk about it.

  90. Seve

    Cool, looks like we kind of did something anyway, Guus :)

  91. Guus

    indeed 🙂

  92. Guus

    lacking others, I shall now resume doing somethings that actually earn me money though 🙂

  93. Guus

    I can't make it next week (I already sent an email about that)

  94. Seve

    I'm +1 on that! :)

  95. Seve

    Yes

  96. Seve

    We are on a holidays period, so it was quite expected anyway.

  97. Guus

    I archived the job board card

  98. Guus

    let's bring it up again after we've something to show.

  99. Seve

    Yup!

  100. Guus

    (a job board 😛 )

  101. Seve

    :)

  102. Guus

    kk, ttyl!

  103. jjrh

    New XEP html looks nice :)

  104. jonas’

    jjrh, thanks :)