XSF Discussion - 2018-04-11


  1. Dave Cridland

    Morning. Quick question - has anyone ever implemented POSH (RFC 7711)?

  2. jonasw

    not me

  3. fippo

    dwd: i think tobias had a prototype at least. I did as well but... its probably lost

  4. daniel

    Dave Cridland: yes

  5. daniel

    On the client side

  6. Dave Cridland

    daniel, Conversations does it? ANy idea if servers ever do it?

  7. Dave Cridland

    daniel, I mean, do servers have POSH setup for them?

  8. daniel

    It's one of the 3 possible verification methods we offer the users of our domain hosting (among just ignoring the self signed cert and uploading a cert)

  9. daniel

    Most users opt to give us a cert though

  10. daniel

    And by offering I mean we generate the json file an provide short instructions on where to copy the file to

  11. Tobias

    Dave Cridland, yeah..i implemented a prototype for prosody during IETF 87

  12. winfried

    0-192hcvjgt?

  13. jonasw

    catropy?

  14. winfried

    jonasw: you got it!

  15. jonasw

    the 192 got me for a while, that’s 128+64 and thus suspicious (also a common kilo-bits-per-second rate for compressed audio)

  16. winfried

    jonasw: yeah, the youngest generation cats grew up in a digital world and know more about it then we! ;-)

  17. jonasw

    ping

  18. MattJ

    .

  19. Maranda

    ¡

  20. jonasw

  21. Maranda

    -pong

  22. Maranda

    Bad Bunneh

  23. jonasw

    12:52:43 Zash> jonasw: Wanna forward to Dave that I have a working version of Tobias' POSH implementation? (But being anti-web, not sure I like the idea of it becoming popular)

  24. jonasw

    Dave Cridland, ^

  25. Seve/SouL

    Uoooh

  26. Anu

    Does anyone have a write up for the proposed lite muc?

  27. Kev

    Doing a clean implementation of MUC at the moment, and I'd forgotten just how *horrible* it is on the server.

  28. Dave Cridland

    Kev, Especially the nick-share stuff.

  29. Maranda

    🐮

  30. Tobias

    Dave Cridland, but it's so convinient

  31. Maranda

    I always pondered about removing that completely, that's at least almost 300 lines of code going away

  32. Dave Cridland

    Tobias, Oh, for sure. Just that implementing it is a pain.

  33. Kev

    I wonder how many times the size of 369 45 would grow if we actually specified everything in it and didn't rely on folklore.

  34. Maranda

    (because most of iq routing junk is for that)

  35. jonasw

    Maranda, seems like a good way to push MIX adaption.

  36. edhelas

    jonasw not sure if serious ¬¬

  37. jonasw

    edhelas, I am

  38. jonasw

    edhelas, essentially breaking MUC by breaking multi-client usage will push MIX adaption :)

  39. jonasw

    *adoption

  40. Maranda

    "Multi-client usage" was never provisioned by the xep though

  41. Ge0rG

    jonasw: breaking MUC will push WhatsApp adoption.

  42. Holger

    I'd prefer fixing MIX over breaking MUC.

  43. jonasw

    Ge0rG, ssssh

  44. Ge0rG

    Maranda: yes, but we made it work.

  45. Kev

    Maranda: Yes, it was. Just entirely unspecified.

  46. Kev

    +almost

  47. Maranda

    Essentially *it's a hack* 😘

  48. Holger

    What in XMPP isn't ...

  49. Maranda

    Touché

  50. moparisthebest

    isn't *everything* a hack?

  51. edhelas

    are we not all hacks in the end

  52. UsL

    hacks and hoes

  53. marmistrz

    ChatSecure iOS has gotten an unofficial MUC. chatsecure@conference.magicbroccoli.de

  54. Maranda

    Magic 🥦 I wonder how they taste

  55. edhelas

    magical

  56. Kev

    Example of great bits of XEP-0045: A user always gets a room subject when they join the room, right? Fairly clear, it's a MUST (well, a SHALL). But when you get to room creation it's elided and it's not clear if that's just because it's not worth repeating, or it's expected that on creation you don't get one.

  57. Maranda

    🤔

  58. Ge0rG

    Kev: and it's not quite clear how to tell the client about an empty subject.

  59. Kev

    That bit is clear isn't it? Empty elemet, it says it right next to the SHALL IIRC.

  60. Maranda

    Hmmm

  61. Maranda

    Hmmmmmm

  62. Maranda

    https://pastebin.com/Js6RptFe

  63. Maranda sends it on creation

  64. pep.

    with a newline inside?

  65. Kev

    That's not creation. Or, at least, you're not including 201

  66. Maranda

    Kev, no I'm not including 201, but that's another issue I suppose (yay?)

  67. jonasw

    yeah, I filed bugs against servers for not sending the empty subject

  68. jonasw

    because it’s the only way to be sure that MUC join is over

  69. jonasw

    (and history replay)

  70. Ge0rG

    jonasw: with GC1, MUC join is never over

  71. Maranda

    Ohhh I missed the 201, yay for new bug

  72. Maranda

    \o/

  73. pep.

    jonasw, if 201 then no muc history right? and no subject

  74. jonasw

    Ge0rG, I heard that’s going to be burned anyways

  75. pep.

    aiui

  76. jonasw

    pep., dunno, actually

  77. Maranda

    XEP doesn't say

  78. Maranda

    I'm just at that bit

  79. Ge0rG

    jonasw: that's not ensured yet

  80. Maranda

    there we go.

  81. Maranda

    Ohess

  82. Maranda

    Gajim acts funny to status 201

  83. Maranda

    I guess not sending it prevented that.

  84. pep.

    Maybe fixing gajim would be better, if it's doing it wrong

  85. Maranda

    pep., hmm I don't think it's wrong it just auto-requests the configuration form.

  86. Maranda

    pep., https://pastebin.com/8knbN8KT

  87. Maranda

    (and in the UI [17:19:35] ‎A new room has been created -> which never appeared before)

  88. Maranda

    I wonder if Prosody also avoids sending 201 currently (didn't touch that bit of MUC code much)

  89. MattJ

    Maranda, it's behind a configuration option in Prosody

  90. Maranda

    MattJ, hmm hmm

  91. Maranda

    MattJ, suppose not in pre-0.9 though

  92. MattJ

    Correct

  93. daniel

    MattJ, whats the reason for not sending 201?

  94. MattJ

    daniel, because Prosody didn't lock the room by default

  95. MattJ

    and 201 implies the room is locked until configuration

  96. daniel

    what does 'locked' mean in this context?

  97. MattJ

    Nobody can join the room

  98. daniel

    members only? not able to send any messages?

  99. daniel

    nobody else i assume? since the creator is still in the room?

  100. MattJ

    The creator is in the room, yes

  101. Kev

    No, when you create a room it's initially locked an the creator MUST choose to either make an instant room (default config) or reserved room (manual config)

  102. Kev

    So it's not quite members-only, although the result is kinda the same.

  103. daniel

    so there are clients that don't configure the room and expect it to 'just work'?

  104. MattJ

    Potentially

  105. MattJ

    But they're broken if so

  106. daniel

    I see. I'm just curious about prosodys decision to not lock them

  107. Kev

    OTOH, there are clients that do rely on servers doing the right thing :)

  108. MattJ

    Most clients didn't/don't implement instant room creation, and the locking thing was annoying and unintuitive

  109. Kev

    (I note that for gc1 join-creates, the server doesn't lock and just sets an instant room)

  110. Lance

    dwd: for bookmarks2, can we also get an account disco feature if the server does compatibility conversion?

  111. Lance

    Kev: when using References, what's the expectation if there are multiple body languages? A reference per lang?

  112. Kev

    That seems reasonable.

  113. Lance

    ta

  114. Ge0rG

    Shouldn't that be one reference with multiple range elements? Or do we want to support i18nalized images?

  115. Kev

    Sorry, yes, with each range specifying a different body lang, I guess. Not thinking.

  116. Ge0rG

    The second part of my question was serious though. There might be use cases for that. Eg On Google play, you can have localized screenshots.

  117. Lance

    There isn't a range element though? Just a pair of begin/end attributes?

  118. Ge0rG

    I'm sure we can create a range element if needed

  119. Ge0rG

    But I'm still not quite sure which use cases References is supposed to cover, and at which complexity cost

  120. Lance

    Yeah, the case I care about is mentions

  121. Kev

    Tobi and I have been having a discussion about References for Images, and I think the rough concensus is to use SIMS, and follow that model for other References - so if you want to refer to something you add a new payload type into References.

  122. Kev

    And just have it as a wrapper.

  123. Ge0rG

    There are multiple unsolved problems with mentions.

  124. Ge0rG

    Kev: aren't payload types an attribute value, and thus carved in stone?

  125. Kev

    No?

  126. Ge0rG

    Maybe we should rather have the "type" be a sub element, like <reaction>🤦‍♂️</reaction>

  127. Kev

    I mean, yes it's an attribute, but there's nothing that says that attributes can't be extended.

  128. Kev

    And has the advantage of being clear that you don't support the type.

  129. Ge0rG

    Kev: implementations will end up with an enum type and vomit stack traces all over the user

  130. Kev

    Not if the XEP says that you must expect unexpected values :)

  131. Ge0rG

    Unless we bump the namespace with each new element type, breaking backward compatibility

  132. Ge0rG

    Nobody expects the Unexpected Values!

  133. Maranda

    <<If the service receives a cancellation, it MUST destroy the room.>>

  134. Maranda

    Well If I cancel Gajim sends nothing

  135. Maranda

    so that will end with an idefinitely locked room?

  136. Maranda

    or until it's configured (tm)

  137. Maranda also removed all legacy errors from muc.

  138. Maranda also removed all legacy error codes from muc.

  139. Maranda

    I can't seem to find on the xep, but is there a specific error to send to bounce joins when a room is locked?

  140. Maranda went with <forbidden />

  141. Maranda

    oh wait

  142. Maranda

    item-not-found, nm

  143. Maranda found it now.

  144. Maranda

    Ge0rG, that throttle thing you have on yax.im is severely annoying :P

  145. Ge0rG

    Maranda: tell the developers. I think there is a ticket for that somewhere

  146. Maranda

    Ge0rG, hehe was trying to use it as guinea pig https://muc.metronome.im:5280/pastebin/43e8c3c7-af46-45a7-8541-17edb26c0797 but keept blocking messages

  147. Maranda had to send 51.

  148. Maranda

    :P

  149. Ge0rG

    Maranda: I'm not quite sure what you are trying to tell me.

  150. Maranda

    Ge0rG, nothing that I was getting a lot of service-unavailable while poking with messages because of the throttling.

  151. Ge0rG

    Maranda: I don't think my throttling would cause any errors.

  152. Maranda

    Ge0rG, well it did.... I was typing one letter and sending it repeatedly to test and started getting "there was an error sending the message (service-unavailable)" after a a bit more than dozen or so

  153. Ge0rG

    Maranda: to a MUC?

  154. Maranda

    Nope

  155. Maranda

    was to a bare jid.

  156. Maranda

    (normal user)

  157. Ge0rG

    Maranda: mod_throttle_unsolicited then.

  158. Ge0rG

    https://modules.prosody.im/mod_throttle_unsolicited.html