XSF Discussion - 2018-12-21


  1. Guus

    jonas’, as per MattJ suggestion, I merged both -docker projects of the observatory into the original project. With that, I think we can drop the docker-specific projects, unless you object.

  2. jonas’

    wfm

  3. jonas’

    you need to take care to setup the docker hub thing though

  4. Guus

    ehh... I'll try 🙂

  5. Guus

    I've also invited xnyphs, btw.

  6. Guus

    maybe create a corresponding xmpp-observatory account on docker hub?

  7. MattJ

    Guus: thanks! How did you deal with the submodules?

  8. Ge0rG was asked about a windows client that supports XEP-0184 and was once again disappointed about us officially endorsing Pidgin

  9. Guus

    MattJ what submodules?

  10. Guus

    (I did not)

  11. Link Mauve

    Ge0rG, did Gajim not work?

  12. Ge0rG

    Link Mauve: I don't know

  13. Link Mauve

    Why did you recommend Pidgin over it then?

  14. Ge0rG

    Link Mauve: I'm speaking of the listing at https://xmpp.org/software/clients.html which I wanted to be a list of *actively maintained* clients.

  15. Link Mauve

    And out of all of the actively maintained clients, you picked Pidgin?

  16. Ge0rG

    but then somebody submitted Pidgin, and because we are neutral, we can not resist its addition, despite everybody on our side knowing how harmful it is.

  17. Ge0rG

    Link Mauve: no.

  18. Link Mauve

    Oh, now I understand.

  19. Link Mauve

    Sorry.

  20. MattJ

    Guus: no worries, I'll figure something out in the Dockerfile I think

  21. Guus

    @mattj, i just finished setting up docker hub builds for both projects

  22. Guus

    do you have an account there? I'd like to add you.

  23. MattJ

    Thanks!

  24. MattJ

    mwild1

  25. Guus

    added: https://cloud.docker.com/u/xmppobservatory

  26. MattJ

    Got it, thanks

  27. Guus

    I think that's about what I know what/how to do

  28. Guus

    I didn't remove the old -docker projects yet, but that can be done now, I think.

  29. MattJ

    Don't yet

  30. Guus

    maybe I'd be good if you verify first that I didn't make to many obvious mistakes.

  31. MattJ

    Pretty sure the new stuff will not build correctly yet

  32. MattJ

    It was using submodules for pulling in some dependencies

  33. Guus

    unsure if the migration thingy I used merged those

  34. Guus

    I didn't notice hg submodules (nor did I check for them)

  35. Guus

    I'm not seeing a .gitmodules, so it probably didn't migrate.

  36. MattJ

    I don't remember what they all are, but at least one of them we were going to drop, and probably any others should be too

  37. MattJ

    Some were hg repos, so it would have needed to migrate those

  38. Guus

    Can I leave this in your capable hands?

  39. MattJ

    Which wouldn't be ideal anyway, since they are separate projects I maintain in hg

  40. MattJ

    Sure

  41. Guus

    Thanks. Do we need submodules, or can we use a shared artifact somehow perhaps?

  42. MattJ

    If needed I'll just make the dockerfile clone the dependencies itself

  43. Guus

    for what its worth, that already seems to happen a lot

  44. Guus

    What's probably not ideal is that the dockerfile clones RUN hg clone https://bitbucket.org/mattj/xmppoke 🙂

  45. Guus

    What's probably not ideal is that the dockerfile clones https://bitbucket.org/mattj/xmppoke 🙂

  46. Guus

    (I blindly merged the projects, didn't update any references)

  47. Ge0rG

    Is the call for logo design published anywhere? I've had a logo designer asking me about redoing the yaxim logo some months ago, but I like my logo very much so I'd rather ask them to do something for the wider community

  48. Guus

    jonas’ should we move the xmppoke-queue project too?

  49. Guus

    Ge0rG I don't believe that there's an explicit call, no.

  50. Guus

    Ge0rG I suggest you coordinate with nyco, who had a designer of his own in mind.

  51. Ge0rG

    Will there be one?

  52. Ge0rG

    What would be the best non-ephemeral venue for that? issue on github/xmpp.org?

  53. Guus

    Board didn't discuss that, so I guess not? Is there a need for such an explicit call?

  54. Guus

    the mailing list, perhaps?

  55. Ge0rG

    Guus: standards is obviously not the right place, members is for members only; there is no public ML suitable for that.

  56. Guus

    You are more precise than I am in these things 🙂

  57. ralphm

    I don't think we need to send out such a call just yet

  58. ralphm

    I'm going to first wait that nyco comes back with

  59. Ge0rG

    ralphm: alright. I was just assuming that volunteers might have some time between the holidays

  60. ralphm

    If people want to volunteer, they can, I just didn't think we needed to put out a call for it.

  61. ralphm

    Also, I don't think we have minutes for this Board meeting yet. Someone volunteering to do those would be awesome.

  62. Guus

    MattJ I ran into those modules you referred to. I worked around them being gone in git by pulling them in through the docker file, as you suggested: https://github.com/xmpp-observatory/xmppoke/pull/1

  63. Guus

    when running things locally, I see that xmppoke is invoked when I start a test through the frontend, but it stops immediately.

  64. erkanfiles

    Test

  65. Guus

    a-ok.

  66. erkanfiles

    ralphm: Still in need for a minutes writer?

  67. Guus

    erkanfiles yes

  68. Ge0rG

    erkanfiles: 👍

  69. erkanfiles

    So I only have to scroll up in this MUC or where to find the content?

  70. Ge0rG

    erkanfiles: the official log is at http://logs.xmpp.org/xsf/2018-12-20#14:28:50 - in case you don't have full history in your client

  71. erkanfiles

    K

  72. erkanfiles

    Where may I submit my results?

  73. Ge0rG

    erkanfiles: they are typically sent to board@xmpp.org and members@xmpp.org (which are probably both members-only) and you can pastebin them in case you want a second opinion.

  74. erkanfiles

    So I couldnt join because of not being member, right?

  75. daniel

    stupid question. someone recenctly send me this <message><foo:bar>hi</foo:bar></message/>. is this valid xmpp/xml?

  76. Link Mauve

    daniel, if an xmlns:foo="something" has been defined on foo:bar or any of its ancestors..

  77. Link Mauve

    daniel, if an xmlns:foo="something" has been defined on foo:bar or any of its ancestors.

  78. daniel

    what if it is not?

  79. Link Mauve

    Then it’s invalid XML.

  80. daniel

    because : is a reserved char that can not be used for element names even though xmpp doesn’t use that kind of namespace prefixes?

  81. Link Mauve

    : in an element name means that what is before : is a prefix, that must have been bound to a namespace, and what is after is a local name to this namespace.

  82. jonas’

    Link Mauve, only if you’re talikng XML 1.0 + Namespaces

  83. jonas’

    in vanilla XML 1.0, you can use : without namespaces

  84. Link Mauve

    jonas’, isn’t that what XMPP is using?

  85. Link Mauve

    jonas’, uh, really? :|

  86. Link Mauve

    I wasn’t aware that XML could be used without support for namespaces.

  87. jonas’

    yes, XMPP uses XML 1.0 + namespaces

  88. jonas’

    it can

  89. jonas’

    but everybody luckily forgot about that

  90. daniel

    jonas’, so is this or is this not legal in xmpp?

  91. Link Mauve

    Note: The Namespaces in XML Recommendation [XML Names] assigns a meaning to names containing colon characters. Therefore, authors should not use the colon in XML names except for namespace purposes, but XML processors must accept the colon as a name character.

  92. jonas’

    it is not legal if there isn’t a namespace declaration on the <message/>

  93. jonas’

    daniel, it is not legal if there isn’t a namespace declaration on the <message/> for the foo prefix

  94. Link Mauve

    jonas’, or on the stream:stream, or on foo:bar.

  95. jonas’

    Link Mauve, not on the stream:stream

  96. Link Mauve

    Why?

  97. jonas’

    XMPP

  98. jonas’

    Namespaces declared in a stream header MUST apply only to that stream (e.g., the 'jabber:server:dialback' namespace used in Server Dialback [XEP-0220]). In particular, because XML stanzas intended for routing or delivery over streams with other entities will lose the namespace context declared in the header of the stream in which those stanzas originated, namespaces for extended content within such stanzas MUST NOT be declared in that stream header (see also Section 8.4).

  99. jonas’

    https://tools.ietf.org/html/rfc6120#section-4.8.5

  100. jonas’

    but yes, it can be on the foo:bar itself, I missed that

  101. Link Mauve

    jonas’, ugh, that sucks.

  102. jonas’

    I was very sad when I learnt that because I intended to declare all the things on the stream header :)

  103. Link Mauve

    I didn’t know that.

  104. daniel

    mhhh ok

  105. jonas’

    daniel, in any case, your server sent you somewhat malformed XML

  106. Link Mauve

    jonas’, can you disable namespace support in most XML libraries?

  107. jonas’

    Link Mauve, most come with it disabled

  108. daniel

    i mean you are all confirming what i assumed was the case. but in any case it makes this https://github.com/siacs/Conversations/issues/3315 weird

  109. jonas’

    expat and libxml at least

  110. jonas’

    you have to enable it

  111. daniel

    and/or very annoying to debug

  112. Link Mauve

    jonas’, oO

  113. Link Mauve

    TIL.

  114. pep.

    > Ge0rG> Guus: standards is obviously not the right place, members is for members only; there is no public ML suitable for that. I would also like to have such a place tbh. I've been wanting it for some time.

  115. jonas’

    Link Mauve, in expat you have to set a flag IIRC

  116. Link Mauve

    I don’t remember having to do that from Python, but maybe.

  117. jonas’

    daniel, ejabberd bug

  118. jonas’

    Link Mauve, the high-level python stuff does it for you

  119. daniel

    jonas’, a known one?

  120. jonas’

    the xml.sax doesn’t

  121. jonas’

    daniel, not that I know, but I’m not surprised

  122. daniel

    i'd be rather surprised tbh

  123. jonas’

    daniel, not as far as I know, but I’m not surprised

  124. jonas’

    I’m not

  125. jonas’

    the namespace support has been sketchy since ever

  126. jonas’

    in ejabberd

  127. Link Mauve

    daniel, “<{null}jabber:x:oob>” sounds like their serialiser did something clearly wrong.

  128. Link Mauve

    I remember a similar bug being present in Prosody 0.5.1, fixed in 0.5.2.

  129. daniel

    oh you mean that new compress thing?

  130. Link Mauve

    (What a blast from the past!)

  131. jonas’

    Link Mauve, not clearly, I wouldn’t dare to interpret the output of that XML parser logs

  132. jonas’

    it might be some clark notation gone wro... no wait

  133. jonas’

    that’s weird

  134. jonas’

    but s till

  135. jonas’

    without seeing the raw bytes, I wouldn’t blame the serialiser that much for now

  136. Holger

    jonas': Namespace handling has been rewritten a while ago, but of course there may still be (new) bugs.

  137. daniel

    yeah it's not easy to get raw bytes from my parser

  138. daniel

    sigh

  139. jonas’

    *although* the error message indeed sounds like a huge messup

  140. Link Mauve

    Maybe on the other end, it’s easier to get Ejabberd to dump what it’s going to send?

  141. jonas’

    it looks as if <jabber:x:oob/> was generated

  142. Link Mauve

    Yeah.

  143. daniel

    yeah that's why i was asking for <foo:bar/> initially

  144. jonas’

    which is wrong, and that ejabberd lets it through to you is also a bug

  145. daniel

    i don’t think that the {null} is on the wire

  146. jonas’

    Holger, mhm

  147. jonas’

    back then™ when I broke ejabberd’s namespace stuff it was still on that other bugtracker

  148. Holger

    Heh, there's probably no line remaining of the code you broke :-)

  149. jonas’

    that’s probably good

  150. jonas’

    I recall the breakage to be terrifying

  151. jonas’

    ah yes, it swallowed IQs https://support.process-one.net/browse/EJAB-1661

  152. jonas’

    good ol’ times

  153. jonas’

    this one was also fun: https://github.com/processone/ejabberd/issues/814#issuecomment-153015288

  154. Link Mauve

    jonas’, that last one is valid though.

  155. Link Mauve

    It should be parsed to the exact same thing by a namespace-aware parser.

  156. jonas’

    I am aware

  157. jonas’

    otherwise I wouldn’t have complained :)

  158. pep.

    Are you a parser?

  159. jonas’

    Are you?

  160. pep.

    I might be, but I'm not fully namespace-aware

  161. Holger

    jonas’: Hah, so it was your issue that triggered the initial rewrite I was referring to.

  162. jonas’

    the IQ one I didn’t open

  163. jonas’

    I just came across it

  164. Holger

    I meant the second one.

  165. Ge0rG

    the Simple Buttons discussion made me realize that we don't have Data Forms in the suite.

  166. erkanfiles

    ralphm: I could provide that current minute on wednesday. Is that in time or is it too late?

  167. ralphm

    We meet on Thursdays, so that'd be fine!

  168. ralphm

    Really happy about someone volunteering

  169. Zash digs up history of buttons.md

  170. jonas’

    Guus, I *think* you said the same thing I said in my email to. Where was I unclear?

  171. jonas’

    I tried my best to pick words which don’t make Board seem like the booman here, and which don’t put words in Boards collective unison mouth.

  172. Guus

    jonas’: I think you left one part of the reasoning out. Anyway, I wanted to stress that I don't believe you were trying to push people.

  173. jonas’

    ok

  174. jonas’

    I can live with that :)

  175. jonas’

    right, I only brought the second part up in a side note ("[…] and to the community for the extra noise and possible temporary confusion and misguidance due to the published compliance suites you had to endure.")

  176. Guus

    Ah right. I read that slightly differently. Oh well.

  177. jonas’

    overcommunicating is never bad

  178. Guus

    jonas’: I think I prepared for all changes needed to move over to the new observatory repo

  179. jonas’

    uh

  180. jonas’

    I’d like to postpone this until after the holidays to be honest

  181. jonas’

    we’re going to be on the rails tomorrow and there’s some preparations to be made

  182. Zash

    HOLIDAY SPRINT

  183. Guus

    Care to review the PRs?

  184. Guus

    Ah ok, fair enough 🙂

  185. jonas’

    aand it will hvae scrolled out of my inbox by that time, so pinging me about that in a week or so would be wise

  186. Guus

    👍

  187. MattJ

    Just noticed my emails... so Buttons is accepted?

  188. MattJ

    or are there still outstanding votes?

  189. Zash

    U want <button xmlns="urn:xmpp:tmp:buttons"> <onclick> <json xmlns="urn:xmpp:json:0">{"payload":"100MT-nuke","target":"earth"}</json> </onclick> <label xml:lang="en">Big Red Button</label> <label xml:lang="sv">Stor Röd Knapp</label> </button>

  190. Zash

    ?

  191. MattJ

    No?

  192. MattJ

    Are you being sarcastic or why is this so hard? :)

  193. MattJ

    The whole point is that the buttons are shortcuts for pieces of text

  194. MattJ

    Which also makes the points about i18n rather dubious (as I wrote to standards@)

  195. lovetox

    yeah i agree the i18n argument is a bit overboard, i never saw bodys with different langs

  196. lovetox

    lets be honest, almost no one makes use of that lang feature

  197. MattJ

    Right. Last I checked was quite some time ago, and it was not handled very well in clients

  198. MattJ

    which allows many fun things :)

  199. lovetox

    i get its nice to have it defined with the base xmpp spec, so if there is a usecase someone does not have to invent his own stuff, but not every XEP will be able to fully be i18n compatible, and seeing that one of the most important xeps like dataforms is not useable with i18n, lets me think, can this even be done?

  200. Zash

    Is there a XEP on how to handle i18n?

  201. Link Mauve

    lovetox, in most cases dataforms are actually usable with i18n, because you transmit the xml:lang in every stanza you send the responder is able to setup the translation domain correctly.

  202. Link Mauve

    For buttons it can’t be done that way, because the main point of using it is through a MUC.

  203. Link Mauve

    So there is no sender/responder.

  204. Zash

    The main point?

  205. Zash

    You still get presence from everyone, so you can do ... something

  206. Link Mauve

    Zash, didn’t you define it so it would work in a MUC?

  207. Link Mauve

    Zash, well, not really, say half of the people here advertise an @xml:lang of en, then some fr, some de, some ru, some sv, etc.

  208. lovetox

    also a MUC has in most cases one language

  209. lovetox

    there is no need for translation

  210. Zash

    Link Mauve: I tried to make it like it works elsewhere in XMPP wrt i18n, which allows multiple <body xml:lang=*> and such.

  211. Link Mauve

    lovetox, yet in many cases it allows more than one.

  212. Link Mauve

    Zash, yeah, that’s fine.

  213. lovetox

    also from where should the sender have the translation?

  214. lovetox

    yeah for Yes and No, its likely he has it

  215. Zash

    Is that in scope for a protocol?

  216. lovetox

    but the moment you let the user choose the labels himself, there is no chance he has a translation ready

  217. Zash

    I imagined this would be from bots mostly

  218. Zash

    Eg Memberbot

  219. lovetox

    point is, you can make it super i18n compatible, in reality for the MUC vote case, and thats probably what this is beeing used for, there will be no translations

  220. Zash

    Allowing for translations doesn't prevent use when there are none

  221. lovetox

    yeah and Memberbot wants to ask a new question, and then you make a git repo and ask people to translate your memberbot questions into 10 languages or what?

  222. Link Mauve

    lovetox, yeah, that’s how it’s done in most software.

  223. Link Mauve

    You have a list of supported languages, translators do the translation work, you often pull them back in your software, and then users can use it in any language they want.

  224. lovetox

    thats the point, its not part of the software

  225. lovetox

    the bot allows to ask all possible questions at any point in time

  226. lovetox

    it would be better to use google translate api

  227. Link Mauve

    Haha.

  228. Link Mauve

    That’s just one of your usecases, you don’t need to limit the protocol for other usecases.

  229. lovetox

    i dont want to limit it, but it should also not stand in the way

  230. Link Mauve

    Is it currently standing in the way, in the current proposal?

  231. lovetox

    i hope not, i didnt follow the discussion until the end :)

  232. lovetox

    for me this is fine, translate the buttons if you want

  233. lovetox

    but translating the value seems wrong