XSF Discussion - 2019-11-04


  1. Link Mauve

    After having written a Council application, and subsequently reading the other applicants’, I am hereby not applying this year.

  2. Link Mauve

    I think there are much needed ideas in there, and will be happy to see how they pan out. :)

  3. jonas’

    oh wow

  4. jonas’

    a pep

  5. jonas’

    I am amazed, this is going to be a fun election

  6. Ge0rG

    Especially with multiple candidates running for both, this guarantees some i interesting vote dynamics. Will we need a second round?

  7. jonas’ reacts with 👍

  8. debxwoody

    > Link Mauve: Existing thing already using gloox? I'm starting to use and understand gloox.

  9. debxwoody

    > Link Mauve: Existing thing already using gloox? I'm starting to use and try to understand gloox.

  10. Ge0rG

    jonas’ [08:58]: > /me reacts with 👍 /me slaps jonas’ with a large trout

  11. Kev

    Is gloox still maintained? (as opposed to Swiften)

  12. Kev

    Ah, looks like it is, yes.

  13. flow

    Kev, Swiften is not maintained any more?

  14. Kev

    Swiften is. I thought Gloox wasn't, but it is.

  15. flow

    ahh, got it

  16. debxwoody

    I think there is just one developer. So, I will try to have a look into the code. Maybe I can help 🤷‍♂️

  17. Link Mauve

    debxwoody, ah sure, so I pushed my (WIP, still segfaulting) code to https://github.com/linkmauve/bonzomatic/tree/xmpp

  18. Link Mauve

    I might move to Swiften eventually, nothing is set so far.

  19. Link Mauve

    I also don’t implement the Jingle part of SXE yet.

  20. Ge0rG

    segfaulting XMPP client. What could go wrong?

  21. Link Mauve

    Also once it doesn’t segfault anymore, I will probably upstream the SXE StanzaExtension so that other people can benefit from it, even if I end up not using gloox.

  22. Link Mauve

    Ge0rG, segfaulting text editor, even worse.

  23. Ge0rG

    Everybody knows that text editors are turing-complete and you MUST NOT open untrusted documents in them

  24. Link Mauve

    Well, this one is a bit special, it compiles and executes the code the user is typing directly as its background.

  25. Link Mauve

    It’s completely at the mercy of the OpenGL driver for proper behaviour.

  26. Ge0rG

    The things that my imagination draws up in the intersection of XMPP, OpenGL and text editing are... weird

  27. Link Mauve

    ^^

  28. Link Mauve

    I like mine too. :)

  29. Zash

    Oh, bonzomatic!

  30. Zash

    It didn't run on my machine 😞

  31. Link Mauve

    Zash, it previously was in my plans to lower its OpenGL version for it to run on my netbook, before said netbook stopped booting altogether…

  32. Link Mauve

    But there is no reason for it not to be able to target e.g. OpenGL 3.3 for snb users.

  33. Zash

    Hm, that was before I bought my new laptop, maybe it works there

  34. Link Mauve

    Which OpenGL version do you have? It expects at least 4.1.

  35. Link Mauve

    I guess because Apple will never go higher than that.

  36. Seve

    Hey Link Mauve! Is that a collaborative editor? I was looking for an editor to do "pair-programming" sessions. I found Atom + Github, but that requires Github stuff

  37. Kev

    vscode's sharing stuff for pairing is actually excellent.

  38. Zash

    The what now?

  39. Kev

    Zash: @me?

  40. Ge0rG

    sharing is ~caring~ pairing?

  41. Kev

    ( https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare was what I was talking about )

  42. Zash

    Kev: Yeah, I haven't seen anything like that in vscode. Plugin or whatsitcalled?

  43. Zash

    Cool

  44. Kev

    I typically use it by having an external video call on at the same time as a live share just for the code/terminal/debuggerer, although I believe it does have inbuilt audio stuff in a sister extension if you prefer.

  45. flow

    Seve, https://www.saros-project.org/

  46. Link Mauve

    Seve, it’s not, I’m making it into one.

  47. Link Mauve

    (Sorry, had breakfast with my sister.)

  48. pep.

    flow: that's only with eclipse?

  49. Link Mauve

    flow, larma, https://github.com/linkmauve/xeps/tree/xep-0234 contains some changes to fix Jingle-FT which imo will require a namespace bump. My plan is to then request a Last Call.

  50. flow

    Link Mauve, already tracked/noted at https://wiki.xmpp.org/web/XEP-Remarks/XEP-0234:_Jingle_File_Transfer. Although I didn't see a specific change which would require a namespace bump, but I didn't had a close look

  51. flow

    pep., there is also an intelliJ plugin IIRC

  52. Seve

    flow, Kev thanks for sharing

  53. flow

    Seve, of course there is also gobby

  54. flow

    https://github.com/gobby

  55. Link Mauve

    flow, the main breaking change is in the current version, the addition of <hash-used/> and making it mandatory.

  56. Link Mauve

    flow, sadly unmaintained. :(

  57. Seve

    Link Mauve, what is your motivation? (I did not know that tool but it is great if you are adding support for that :D)

  58. Link Mauve

    But it may be a good base to build on top of SXE, I haven’t looked into that yet.

  59. flow

    IIRC the wire protocol of gobby is also unspecified

  60. Link Mauve

    Seve, writing shaders together with a friend. ^^

  61. flow

    I once tried to compare it with SXE

  62. Seve

    Link Mauve, super!

  63. Link Mauve

    Kev, do you happen to know which protocol they are using? Also the license isn’t one I recognise, and they don’t seem to publish the extension itself in their repository, only some documentation and code samples.

  64. Link Mauve

    So I guess it is non-free?

  65. Zash

    https://marketplace.visualstudio.com/items/MS-vsliveshare.vsliveshare/license Doesn't read like an open source license to me

  66. Link Mauve

    Yeah.

  67. Link Mauve

    So not really usable for the purpose of writing a compatible text editor.

  68. larma

    Link Mauve, I honestly don't see why your changes require a namespace bump. This is just clarifications IMO

  69. larma

    Or "fixes" of where the XEP was inconsistent

  70. pep.

    "Clarification" :(

  71. jonas’

    larma, problem is, if there previously were two ways to interpret a text, and there’s now only one, the two versions are not always interoperable

  72. Zash

    Can a thing following the previous version talk to a thing following the new version?

  73. larma

    jonas’, in this case they are and it's not even a big deal

  74. larma

    From the current XEP 234: > Either a <hash/> or a <hash-used/> element MUST be included when offering a file. [...] One or more <hash/> elements MUST be present when offering a file, but those elements MAY be empty if the hash has not yet been computed. [...] At any time during the lifetime of the file transfer session, the File Sender can communicate the checksum of the file to the File Receiver. This can be done in the session-initiate message [...] After the session-initiate message, this can also be done [...] In such a case however, the session-initiate message MUST contain a <hash-used/> element.

  75. larma

    So according to current XEP the only strictly correct implementation by the text of the XEP of providing the hash later is to have both empty <hash/> and <hash-used/> which obviously makes little sense. The only example covering this usecase, Example 16, only has <hash-used/> and no empty <hash/>. To me it's obvious that the "One or more <hash/> elements MUST be present when offering a file, but those elements MAY be empty" is an artifact from before <hash-used/> was introduced. I don't see why clarifying this needs a namespace bump. As a side note: the introduction of <hash-used /> in 0.18.3 didn't bump the namespace

  76. larma

    "have both empty <hash/> and <hash-used/>" -> "have both empty <hash/> and <hash-used/> in session-initiate"

  77. flow

    Yep, that potentially could go without a namespace bump (if there are no other changes)

  78. flow

    Although I am happy to hear if someone wants to argue why one is required…

  79. Link Mauve

    larma, it’s not strictly about my changes, the namespace bump should have happened in 0.18.3 which introduced a new <hash-used/> element and made it a MUST where previously only <hash/> was to be there: “Either a <hash/> or a <hash-used/> element MUST be included when offering a file.”

  80. Link Mauve

    Thus making it incompatible with previous clients which were requiring a <hash/>.

  81. larma

    "previous clients requiring a <hash/>" = none?

  82. Link Mauve

    I guess we could also waive it as an incompatible change made to an experimental XEP and not bump anything.

  83. Link Mauve

    I haven’t done a field study about that, but I had an implementation (not used in any public client) which was doing that.

  84. Link Mauve

    Clients following a version from before 0.18.3 will entirely ignore <hash-used/> as it wasn’t a thing back then, so these MUST can’t be followed by them.

  85. larma

    I agree. But versions before 0.18.3 are not XEP compliant anymore and Experimental XEPs don't provide any notion of backwards compatibility to their previous versions.

  86. Link Mauve

    Ok, then perfect. :)

  87. larma

    Also, afaik both Dino and Conversations don't send hash/hash-used in session-initiate at all...

  88. larma

    In case you are wondering, there is also good reason for that: When the file is encrypted using JET, the hash would be the *real* hash of the file, so this would leak information on the file contents to any MITM, which isn't really desirable

  89. larma

    So if you wanted to update that, you could change the requirement of hash/hash-used to SHOULD with a note on that 😉

  90. Link Mauve

    So it should be made optional?

  91. larma

    Well it could also be considered in issue of JET

  92. larma

    Or the acutal issue is that we don't have full stanza encryption 😉

  93. Link Mauve

    Or of not using full-stanza encryption for Jingle too.

  94. Link Mauve

    .

  95. larma

    BTW, I added this table https://wiki.xmpp.org/web/XEP-Remarks/XEP-0234:_Jingle_File_Transfer#Current_implementations_checksum_behavior

  96. Alex

    great list of application for the next board & council

  97. Alex starts now preparing memberbot

  98. Zash

    !

  99. jonas’

    Thanks, Alex! :)

  100. jonas’

    this’ll be a tough vote

  101. Alex

    Memberbot is online

  102. pep.

    o/

  103. flow

    pep: thanks for the latest editor push :)

  104. pep.

    Sorry it took some time