XSF Discussion - 2019-08-01


  1. lovetox

    hm about MUC exiting a room

  2. lovetox

    say im sending a join presence to the room, and before the room sends me the roster i send a unavailable presence

  3. lovetox

    should the server still send the roster?

  4. lovetox

    can i leave a room when im not fully joined?

  5. lovetox

    is probably the question

  6. Holger

    lovetox: You can of course send the unavailable presence before being "fully joined", but must expect traffic from the room until you got the unavailable response back.

  7. lovetox

    yeah i know that the server probably queues the presences before he receives my unavailable and can not remove presences from the queue in time

  8. lovetox

    but does ejabberd even try?

  9. lovetox

    i think about this, because when entering a room with a captcha

  10. lovetox

    server sends no roster until captcha is solved

  11. lovetox

    so it should respect my unavailable if i cancel the captcha challend

  12. Holger

    If I understand you correctly then the answer is no. ejabberd just receives requests and responds to them. You want it to double check whether there's another request before responding to the first one? That would seem wrong to me.

  13. lovetox

    so it should respect my unavailable if i cancel the captcha challenge

  14. Holger

    Ahh, so the story is kinda different.

  15. lovetox

    ejabberd does not respect unavailable within a captcha flow, also not captcha canel message

  16. lovetox

    instead it has a 1 minute timer

  17. lovetox

    that sneds a presence error when the captcha is not solved in that time

  18. lovetox

    but i wonder if i should care ..

  19. lovetox

    i dont think it causes any problems ..

  20. Holger

    lovetox: Shouldn't the client abort the CAPTCHA thing as per XEP-0158, in that case?

  21. Holger

    > The sender's client MUST respond with a <not-acceptable/> error in any of the following cases: [...] if the sender declines the challenge

  22. lovetox

    i do this, but as i said above, it does not have any effect on ejabberd

  23. Holger

    Ah "also not captcha cancel message", overlooked that.

  24. lovetox

    what i would expect is, after cancel to get a presence error type=auth or something

  25. Holger

    Yeah that sounds wrong to me.

  26. Holger

    Yup.

  27. Holger

    Who does room CAPTCHAs anyway ;-)

  28. lovetox

    yeah so now i get the presence error 40 seconds later because it runs into the timeout

  29. Holger

    But yes maybe post an issue if you're motivated ...

  30. lovetox

    i dont see any problem getting it later though

  31. lovetox

    i dont see how that delayed error would cause any problem

  32. lovetox

    its basically a nitpick at this point :)

  33. Holger

    Yup but I guess you're right.

  34. Ge0rG

    First I was thinking about the ugly workaround where you send a presence-unavailable _right before_ you join the MUC, to make the server realize that you acutally are joining it and not just updating your existing presence.

  35. Holger

    XMPP at its best.

  36. Link Mauve

    Holger, that’s been fixed, but some servers still don’t implement MUC 1.29. :(

  37. Link Mauve

    Damn, two years ago already.

  38. Ge0rG

    no servers implement Carbons 0.13

  39. Kev

    Well, in fact XEP-0045 was always written that way.

  40. Ge0rG

    Life is sad.

  41. Kev

    Just that 1.29 made it clearer.

  42. Kev

    Ge0rG: I have a server implementation, including the extra namespace.

  43. Ge0rG

    Kev: is it public?

  44. Kev

    No, it'll appear in a future M-Link release, it's not released yet.

  45. Holger

    Ge0rG: Oh I missed that. I'll add that to ejabberd.

  46. Ge0rG

    Kev: will that release be running on jabber.org? :D

  47. Kev

    Not unless Peter changes his mind :)

  48. Ge0rG

    Holger: would you come with pitchforks and torches if I also mandate forwarding of message errors?

  49. Ge0rG

    BTW, I'd like to make message errors non-ephemeral in general, so that they end up in MAM and in Carbons.

  50. Ge0rG

    are server developers going to kill me for that?

  51. Holger

    Right, I was going to mention that the rules for MAM + Carbons should be in sync for such things, otherwise I wouldn't quite see the point.

  52. Ge0rG

    Holger: I've been asking that for years now

  53. Holger

    Other than that I tend to be on the "store everything" side of the fence, so I for one won't kill you. Plus you live too far away now anyway.

  54. Holger

    Ge0rG: I know. It's not like I objected ;-)

  55. Ge0rG

    > it is of type "error" and it was sent in response to a <message/> that was eligible for carbons delivery (Note that as this would require message tracking and correlation on the server, it is unlikely to be generally appropriate for most implementations).

  56. Ge0rG

    Holger: this part of the new 0280 rules was heavily objected

  57. Holger

    Ge0rG: I mean for some things there are probably better solutions than cluttering the DB. But cluttering is better than what we have now.

  58. Ge0rG

    It's generally not forbidden to CC _every_ message error, and I'm not even sure it would be harmful

  59. Ge0rG

    CCing message errors from a MUC might be interesting, though.

  60. Holger

    Indeed.

  61. ralphm

    I'm on the road, but will try to follow the board meeting

  62. MattJ

    o/

  63. Seve

    Hi MattJ

  64. MattJ

    Guus?

  65. Guus

    here!

  66. MattJ

    Does someone else want to chair? I'd like to unvolunteer myself this week if that's ok

  67. Guus

    Seve, you want to have a go?

  68. Guus

    is @nyco not here?

  69. MattJ

    Apparently not

  70. Guus

    Seve?

  71. Guus reaches for the gavel....

  72. Seve

    Sorry :)

  73. Seve

    I'm fully back now

  74. Guus

    please act as our chair if you want to. 🙂

  75. Seve

    Let's go

  76. Seve

    Welcome

  77. MattJ

    <3 Seve

  78. Seve

    I guess it's three of us, MattJ, Guus and me

  79. Guus

    with Ralph on the backburner.

  80. Seve

    Do you have something to add to the agenda?

  81. Guus

    I don't have anything to add ot the agenda.

  82. Seve

    1. Minute taker Any volunteers? :)

  83. MattJ

    Nothing here (not sure if Peter's financials email is a worthy topic?)

  84. MattJ

    I can minute

  85. Seve

    That's awesome, thanks MattJ !

  86. Seve

    Nothing to discuss from me on that topic at least

  87. Guus

    I don't have anything to discuss on Peters email, other than "thank you Peter for the update."

  88. Seve

    Indeed

  89. Guus

    I'd be happy to discuss it if others feel there's soemthign to be discussed.

  90. Guus

    I sense that's not the case though? 🙂

  91. Seve

    Doesn't look like. If not, we can always take it again or via email

  92. Seve

    2. Commitments

  93. Seve

    "Follow-up on feedback & create poll for Compliance Suite Badges"

  94. Seve

    Being Nyco away, I guess we can skip this one for now

  95. MattJ

    wfm

  96. Seve

    "Review of Roadmap page" Ralph mentioned he would send an e-mail to Council, but since he is also half/half, we will have to skip this one as well, as there are no any other news on this

  97. Seve

    as far as I know

  98. Guus

    (Did you skip the 'topics for decisions' lane on purpose?)

  99. Seve

    Yes, since they were both away :)

  100. Seve

    Now let's move onto

  101. Seve

    3. Topics for decisions

  102. Guus

    ah ok 🙂

  103. Seve

    "Vote on https://github.com/xsf/xmpp.org/pull/588" The pull request was resolved, but we wanted to discuss about the "underlaying" issue, is that right, Guus? :)

  104. Guus

    right

  105. Seve

    There were some things to clarify, if I remember correctly. Or at least MattJ and me had some doubts about what were we going to vote on.

  106. MattJ

    Right :)

  107. Seve

    Do we want to clarify this and vote on the next meeting with the rest of the Board?

  108. Guus

    I'd prefer to do it now.

  109. Guus

    we have quorum, and we're not being very effective as-is.

  110. Ge0rG

    the question was, who should be responsible for evaluating non-maintainer updates to the lists

  111. Ge0rG

    Board or Editors.

  112. Guus

    I think we phrased that as "Should non-maintainers be allowed to ask for a project listing renewal?"

  113. Ge0rG

    Guus: this is a misleading question. Everyone can ask something.

  114. Guus

    Ge0rG - I thnk you're asking a different question.

  115. Ge0rG

    Guus: the relevant question is what process happens if a non-maintainer asks.

  116. MattJ

    No, I think Ge0rG is asking a very slightly different but actually strongly-linked question which is the most relevant one here

  117. Guus

    I'd like to avoid having different processes, based on who authored the PR.

  118. MattJ

    I'm fine with that, it doesn't necessarily mean there have to be two processes

  119. Ge0rG

    Guus: in that case, the relevant question is, how is the process supposed to work if *anybody* asks for renewal

  120. Ge0rG

    the status quo is: editors reject if a non-maintainer asks, accept if a maintainer asks.

  121. Guus

    that's not the status quo

  122. Ge0rG

    or maybe: editors escalate to Board if a non-maintainer asks, accept if a maintainer asks.

  123. Ge0rG

    Guus: that was the status quo I tried to establish, I obviously can't know how it is lived by the Editors.

  124. Guus

    I'm not an editor, yet do much (most?) of the website PR merging.

  125. Ge0rG

    what is the right term then?

  126. Guus

    There's a lack of a specific role, other than "who-ever has been granted the power to merge" by a process that, as far as I know, non-existing.

  127. Ge0rG

    "web team"?

  128. Seve

    If it is a matter of checking the projects being renewed or introduced, I don't mind volunteering for that.

  129. MattJ

    I don't know if we're entirely clear on what "checking" means, are we?

  130. MattJ

    which is part of the problem

  131. Guus

    The github team that appears to have that power is 'web', so 'web-team' works for me - although the term implies that this is a XSF workgroup, which I don't think it is

  132. Seve

    MattJ, exactly

  133. Guus

    I strongly feel that we're making to much of this.

  134. Guus

    I want to steer away of all of this complexity.

  135. MattJ

    I think we have three options: 1) accept all requests 2) accept requests based on some objective criteria we can assess 3) just decide on a case-by-case basis

  136. MattJ

    and I think everyone currently has different notions of what the ideal and the status quo are from this list

  137. Guus

    Agreed.

  138. Guus

    also: the definition of what is ideal is not something we'll agree upon, without much more discussion, I fear.

  139. MattJ

    we == Board, or we == community (Ge0rG)? :)

  140. Seve

    I would go for option 3, that gives us a way to keep understanding what to do :)

  141. Guus

    The more, the merrier 😃

  142. Guus

    In option 3, who does the deciding?

  143. jubalh

    Cisco jabber = XMPP? Or were there changes ?

  144. MattJ

    Well, it's currently us, it seems

  145. Seve

    I would say Board until something is cleared out

  146. Guus

    (basically, the 'web-team' now does that, which effectively has the outcome of option 1)

  147. jubalh

    I'm getting a bugreport from a user using Cisco Jabber server. And wonder whether the server could actually be the reason

  148. waqas

    Do we have a well-defined purpose of the list (I'm just opening the page to see if we have something on top, but its taking forever for the server to respond)?

  149. waqas

    Ah, timed out with "504 Gateway Time-out"

  150. Guus

    jubalh mind postponing that until after the board meeting?

  151. jubalh

    oh so sorry

  152. MattJ

    jubalh, we are currently in a meeting which will end soon - maybe ask in jdev@conference.jabber.org or wait for a bit :)

  153. jubalh

    I'll wait

  154. Guus

    thanks

  155. MattJ

    waqas, I think we pretty much all agree that the old list was terrible by all metrics

  156. Ge0rG

    I'm for 2) with the objective criterion being "the PR author claims to be a maintainer of the project"

  157. MattJ

    So the goal we can all agree on was weeding out unmaintained software from the list

  158. Guus

    I'd not be to happy with board to have to decide on every change / renewal request.

  159. Seve

    What if we allow everybody to ask for renewal, and I contact maintainers of each project to ask for confirmation? If this helps us moving on :)

  160. Guus

    I'm not seeing with what the 'maintainer' requirement does for the quality of the list - other than prevent others from changing (mostly improving) it.

  161. Seve

    Although I would love maintainers care of it enough to appear on the list instead

  162. MattJ

    I'd love to just move to Link Mauve's magic DOAP project in the near future, when it's ready

  163. MattJ

    Which is something to consider - even manual validation may only be a short-term thing

  164. Ge0rG

    Guus: others "improving" the list leads to sub-par clients becoming visible

  165. Guus

    Ge0rG yes. Overall, it'd still be an improved list though.

  166. Ge0rG

    Guus: we've had pidgin, astrachat and empathy on that list

  167. Ge0rG

    Guus: not improved in comparison to the process that web-team isn't adhering to

  168. Guus

    "improved enough" for me though.

  169. Guus

    All other overhead is frankly not worth it, in my opinion.

  170. MattJ

    I propose the following: web team auto-accepts if maintainership can be verified, defers to Board if it can't

  171. Ge0rG

    Guus: Seve just volunteered to take over the overhead. I'd do so too.

  172. Guus

    I think we've sufficiently exchanged the same arguments for two weeks now though 🙂

  173. MattJ

    and long term, we replace it with an automatic solution

  174. Ge0rG

    Speaking of overhead: it _is_ a significant overhead for a user to install a sub-par client, and to only later realize that it's not working. Or even worse: not to realize it at all and blaming XMPP instead.

  175. MattJ

    As much as I'd like to trust in people being sensible, it only takes one person to submit a list from Wikipedia which includes obsolete clients such as Exodus and Coccinella

  176. MattJ

    If we accept everything without question, it's not really curating the list in the way that we need to keep it clean

  177. Seve

    Exactly my thoughts

  178. Guus

    The list will, eventually, curate itself mostly.

  179. MattJ

    As nice and simple as that would be

  180. MattJ

    My feeling is that the majority of requests will come from obvious maintainers and take no effort to verify and merge

  181. MattJ

    and occasionally we'll have problematic requests that warrant a little bit of discussion (but not the amount of discussion we're dedicating to this)

  182. MattJ

    I wouldn't have wanted to turn away the recent PR we had, which clearly had quite a bit of effort put into it, even though it was non-maintainer

  183. MattJ

    But I also don't want to automatically accept everything just because someone submitted a PR

  184. MattJ

    PR doesn't automatically equal improvement

  185. Guus

    let's vote on this already

  186. MattJ

    On what exactly?

  187. Guus

    we're continuing to exchange the same arguments

  188. Seve

    We need a question to vote on first :) Which I'm not sure how to define yet

  189. MattJ

    > I propose the following: web team auto-accepts if maintainership can be verified, defers to Board if it can't

  190. MattJ

    How is this for starters?

  191. Seve

    Do you agree voting on that, Guus?

  192. Seve

    I'm fine with it

  193. Guus

    'verified' might be a bit ambiguous.

  194. Guus

    but I don't have an immediate alternative wording.

  195. Ge0rG

    as I said, in my eyes it's sufficient to ask the PR author in the PR whether they are a project maintainer.

  196. Guus

    but I'm fine with the gist of it.

  197. MattJ

    If the web team struggles with implementing this policy, we can talk - I doubt they will :)

  198. MattJ

    Chair, call the vote!

  199. MattJ

    Why did I volunteer to minute this gnarly discussion?

  200. Seve

    Let's vote

  201. Seve

    "Web team will auto-accept client renewal requests if maintainership can be verified. Otherwise, the request will be redirected to Board."

  202. MattJ

    +1

  203. Seve

    +1

  204. Guus

    -1

  205. MattJ

    :eyeroll:

  206. Ge0rG

    🍿

  207. Guus

    "a vote of the majority of the Directors present at a meeting in which a quorum is present shall be the act of the Board of Directors."

  208. Seve

    That's a green light then. Vote passes.

  209. Guus

    I read that as 'motion passed"

  210. Seve

    Yes

  211. Guus

    excellent. Let's move on. 🙂

  212. MattJ

    Amen

  213. Seve

    Hah :)

  214. Seve

    Since we have used more time than usually, do you want to stop here? I may not have more time today, unfortunately.

  215. Guus

    If you're leaving, we loose quorum anyways

  216. Guus

    so, sure.

  217. MattJ

    sgtm

  218. Seve

    Ok then

  219. Seve

    4. AOB?

  220. MattJ

    None here

  221. Guus

    nope

  222. Seve

    5. Date of Next

  223. Seve

    Next week, same time? :)

  224. Guus

    wfm

  225. MattJ

    +1

  226. Seve

    6. Close

  227. Guus

    Thanks!

  228. Seve

    Thank you guys for this meeting

  229. MattJ

    Thanks Seve, you're a star :)

  230. Seve blushes

  231. Seve

    Great to see we have come to a solution on that one

  232. Guus

    Yes, indeed.

  233. Guus

    I'd love for us to find a way to have much of these discussions outside of the scope of the meetings though

  234. Guus

    as they're eating up much of the meeting time.

  235. Guus

    which I think hurts our productivity further.

  236. Guus

    I'm unsure what would be an improvement. More adhoc discussions over XMPP in preparation of the meeting? More mailinglist discussions?

  237. Seve

    Yes, been thinking about that for a long time, I would like to use meetings for making things official, rather than actually knowing what do you guys think.

  238. MattJ

    I agree that would be ideal

  239. MattJ

    The meeting however is a good way to allocate time and focus on specific issues, ensuring we are all present for a productive discussion

  240. MattJ

    So I'm not sure it is easily replaced by simple votes

  241. Ge0rG

    allocate a second slot for discussion, on Mondays

  242. Guus

    jonas’: mind testing muclumbus on conference.igniterealtime.org ?

  243. jonas’

    can’t

  244. jonas’

    aioxmpp.errors.XMPPCancelError: {urn:ietf:params:xml:ns:xmpp-stanzas}remote-server-not-found ('Server-to-server connection failed: Connecting failed: dh key too small')

  245. jonas’

    (I could’ve sworn that igniterealtime was once indexed, so that’s why it dropped off the index)

  246. jonas’

    Guus, ^

  247. Guus

    Hmm

  248. Guus

    What's the minimum requirement?

  249. Zash

    2048 presumably

  250. Zash

    https://xmpp.net/result.php?domain=conference.igniterealtime.org&type=server

  251. jonas’

    2048 sounds realistic

  252. jonas’

    I generated 4096 ones for my hosts

  253. Guus

    On a side note: Ignite should be using default settings for encryption, as provided by Java. I generally assume that those provide a good balance between security and interoperability.

  254. jonas’

    not anymore

  255. jonas’

    and, no

  256. jonas’

    Java is known for not dealing well with DH key sizes ;)

  257. Zash

    It's the other way around, things have been accepting 1024-bit DH groups for compat with Java, but no more

  258. Zash

    The future seems to be ECDHE-only tho

  259. jonas’

    is it openssl 1.1 or debian which requires 2048 bits now?

  260. ralphm

    Also I would check that Java indeed has reasonable defaults. Not an assumption I would make.

  261. Guus

    If we don't seem this acceptable any more, then xmpp.net scoring should be adjusted.

  262. jonas’

    probably

  263. Zash

    Guus: " Server uses Diffie-Hellman parameters of < 2048 bits. Grade capped to B. " wasn't enough? It's been there for years

  264. jonas’

    Zash, maybe it should be capped to E now?

  265. Guus

    B is a pretty good score

  266. Zash

    I think this is Debian, but IIRC the browser folks are in on it

  267. Ge0rG

    The good thing about Java defaults is that they depend on the JRE version you are running.

  268. Zash

    https://www.debian.org/releases/stable/amd64/release-notes/ch-information.html#openssl-defaults

  269. Guus

    Ge0rG: Indeed.

  270. Guus

    We do use Java 8, I think. So that might warrant an upgrade.

  271. jonas’

    hm, I should load that hack Zash has about fetching security info of s2s connections on the server and let muclumbus scrape that kind of stuff. then I would lower the requirements and show nasty warning signs next to rooms which are on insecure servers :>

  272. Guus

    Hehehe

  273. Guus

    This is sooooo different from a conversation I had with a customer not to long ago

  274. Zash

    jonas’: https://gist.github.com/Zash/5946686 ?

  275. Guus

    They insisted that the password being equal to the username was safe.

  276. jonas’

    Guus, oh my god.

  277. jonas’

    Zash, probably

  278. Guus

    I'll see if we can switch Ignite to Java 11. I'd be interested in finding out what that does to the encryption parameters.

  279. Guus

    I wonder if this accounts for the issue we've had with contacting the ChatSecure push service

  280. jonas’

    given the name, not impossible

  281. Guus

    > (I could’ve sworn that igniterealtime was once indexed, so that’s why it dropped off the index) Without Muclumbus support?

  282. Guus

    jonas’: ^

  283. jonas’

    Guus, uuuh

  284. jonas’

    you weren’t talking about scraping igniterealtime for public MUCs, but about using the client against it

  285. jonas’

    yeah, I can’t do that either with those dh keys, but at least now I know what you want from me :D

  286. Guus

    There aren't many rooms on that particular domainto, but I wanted to test the scraping implementation that was built.

  287. jonas’

    right, so, scraping with muclumbus as in search.jabbercat.org does not require server support beyond XEP-0045.

  288. jonas’

    the client thing is a different matter, it scrolled of of my mind’s backlog that you were about to implement that :)

  289. jonas’

    I think I have an account on yax.im, maybe I can connect using that

  290. Guus

    Ah, I thought muclumbus was the scraping protocol used by jabbercat

  291. Guus

    Oh well. 🙂

  292. jonas’

    Guus, do you have a search term for me?

  293. jonas’

    where I’ll find something for sure?

  294. jonas’

    the reply I got (a) is empty and (b) lacks an <rsm/> element which makes my test client crash :)

  295. jonas’

    Guus, ^

  296. Guus

    the combination of both, or either?

  297. Guus

    open_chat is an existing muc name

  298. Guus

    searching for

  299. jonas’

    combination of both

  300. Guus

    searching for "openfire" or "smack" should give you a result

  301. Guus

    You'd expect an error instead?

  302. jonas’

    Guus, an empty result is fine, but with <rsm/> element

  303. jonas’

    searching for open brings me bad-request

  304. jonas’

    (without further error code)

  305. jonas’

    same for open_chat

  306. jonas’

    Guus, here’s the full interaction in scs format (no, that’s not the actual password in there): https://paste.debian.net/hidden/01b30c03/

  307. Guus

    tx

  308. Guus

    Openfire does not like <set xmlns="http://jabber.org/protocol/rsm"/>

  309. jonas’

    hm

  310. Guus

    eek, my client formatted that weirdly.

  311. jonas’

    mine did not

  312. Guus

    Hmm... This might be a bug in Openfire

  313. Guus

    it expects _all_ fields.

  314. jonas’

    all in rsm?

  315. jonas’

    I can’t give you *that*

  316. jonas’

    at most I’d give you a <max/> ;)

  317. Guus

    code is somewhat hard to read

  318. jonas’

    but setting <max/> helps already!

  319. jonas’

    I get a reply

  320. Guus

    it does expect a positive max value

  321. Guus

    and it cannot have non-specified fields...

  322. Guus

    seems to be pretty strict.

  323. jonas’

    Guus, it doesn’t return a <max/> value

  324. Guus

    I think I wrote this when I was in college 🙂

  325. jonas’

    interestingly, no example in XEP-0059 shows a server returning max

  326. jonas’

    so why do I require that :)

  327. Guus

    it indeed does not re... yeah, what you said. 🙂

  328. jubalh

    so I assume the meeting is over? :)

  329. jonas’

    Guus, I use it as break condition to figure out when the result set is done and I expect the page size used by the server to be in there...

  330. Guus

    jubalh yup - thanks for your patience 🙂

  331. jubalh

    no problems, I wasn't aware of the meeting, just joined and typed. so i realized it too late.

  332. Guus

    jonas` isn't 'count' more appropriate for that?

  333. jonas’

    more or less

  334. Guus

    jubalh no worries, no harm done

  335. jonas’

    fixing my code ;)

  336. Guus

    you're not the only one.

  337. jonas’

    wee

  338. jonas’

    it works

  339. jonas’

    when I explicitly set <max/> in my initial request, I get a proper reply

  340. jubalh

    I got a bugreport and I wondered whether Cisco Jabber is (still) XMPP and is also 100% compatible? bug report is this, and I thought maybe the server could be the reason https://github.com/profanity-im/profanity/issues/1165

  341. jonas’

    Guus, here’s a successful exchange for reference: https://paste.debian.net/hidden/f4671816/

  342. Guus

    I have no firsthand knowledge, but from what i've heard, it is not.

  343. jonas’

    Guus, ^5

  344. Guus

    jonas’ thanks - max does not seem to be required by the XEP (even though it's in all examples, that's probably what threw many-years-younger-me off)

  345. Guus

    I'll see if I can make that optional in Openfire.

  346. jonas’

    Guus, in my implementation, <max/> is defaulted by the thing handling the RSM-modified request

  347. jonas’

    i.e. it’s a service-specific default

  348. pep.

    jubalh: probably not 100% compatible no

  349. Guus

    we have a validity check that simply insists it _must_ be present. that seems to be to strict.

  350. pep.

    When they report, make sure you also get debug logs with what their server sends

  351. Guus

    Sadly, it's in an upstream library, so updating this will take some time.

  352. jubalh

    pep., do you think that this bugreport could be due to that reason?

  353. pep.

    jubalh: ask for XML logs?

  354. jubalh

    will do

  355. pep.

    Is there an XML console in profanity or sth?

  356. jubalh

    there is, yes

  357. jubalh

    I'll ask him

  358. pep.

    K

  359. ralphm

    I think there is no explicit rule that says you can't send (repeated) `<presence type="subscribed"/>`, but I can see how that's annoying.

  360. ralphm

    A client could check against local state to prevent annoying the user.

  361. Guus

    ralphm that's in reply to what? (Am I missing context?)

  362. pep.

    Guus: not you

  363. ralphm

    jubalh's message above about Cisco Jabber

  364. Guus

    I didn't see him talk about presence subscribed though

  365. Guus

    or is that in https://github.com/profanity-im/profanity/issues/1165 ?

  366. Guus

    right, sorry.

  367. ralphm

    Yes

  368. Guus

    I've been working on an issue where occasionally, messages were not being delivered to a MUC

  369. Guus

    so I'm now jumping at instances where I appear to be missing messages (which is hard to detect, visually)

  370. jubalh

    ralphm, so if locally I already have the user tracked as subscribed I should ignore the incoming message subsribed?

  371. Guus

    how does one interpret an RSM request that defines both an 'index' element, as well as an 'after'?

  372. ralphm

    jubalh: I would

  373. jubalh

    so basically this means looping through roster and seeing who i have subscribed if i'm not mistaken

  374. ralphm

    Looping? I assume your client has some local state for each contact/roster item, indexed by JID

  375. jubalh

    right sorry

  376. jubalh

    got it :)

  377. ralphm

    No worries

  378. Link Mauve

    “15:59:32 MattJ> I'd love to just move to Link Mauve's magic DOAP project in the near future, when it's ready”, I’d say it’s ready for project maintainers to start using, and for the XSF to start accepting; we don’t have all of the tooling yet, or not as integrated as I’d like, but that can come with time.

  379. Link Mauve

    I could update #594 to not include any tooling, and instead let authors progressively fill their DOAP entry upon renewal.

  380. flow

    Guus, what's the motivation for allowing both <after/> and <before/> in tinder's RSM implementation? I think it is right now underspecified what this exactly means, as <after/> is used to page forward, and <before/> is used to page backwards, and hence should be avoided until this is clarified

  381. Zash

    That is indeed highly ambigous.

  382. Guus

    flow: it's currently not allowed, although I'm playing with code that could allow it. I was actually looking for feedback.

  383. lovetox

    what was this again for?

  384. lovetox

    paging backwards but the page is also reversed

  385. lovetox

    i guess

  386. Zash

    Prosody with SQL backend does allow it but I'd call it undefined behavior.

  387. flow

    I tend to believe that RSM should just disallow using <after/> and <before/> together

  388. lovetox

    it makes not much sense

  389. lovetox

    though were is the harm flow?

  390. lovetox

    though where is the harm flow?

  391. Zash

    Actually I think Prosodys MAM code will allow it always, but some backends will ignore one of them and good luck figuring out which.

  392. lovetox

    its not mentioned in the XEP, nobody reading the XEP would ever get the idea that this is even possible

  393. lovetox

    there is no way you can discover that the server supports that "hack"

  394. lovetox

    so i dont see any client actually using that

  395. flow

    lovetox, ambigouty and implementation dependent behavior is always harmful to an protocol

  396. lovetox

    but its nowhere documented that this is even possible, and as you say undefined

  397. flow

    it is also not specified that it is impossible

  398. lovetox

    so its basically a feature some dev knows and can play with

  399. flow

    sometimes it is better to be explict

  400. lovetox

    sorry, its also not defined what happens if add <after> twice

  401. lovetox

    or if i add a element thats not even mentioned in the XEP

  402. flow

    that, at least, is disallowed by the schema

  403. Zash

    Schema validators hate it!

  404. Zash

    Something something this weird trick

  405. lovetox

    does it not follow that everything not mentioned in the XEP is *not defined*

  406. flow

    adding optional extensions is a common pattern for most elements in xmpp, I don't think you can compare it using existing elements in an unspecified way

  407. flow

    …compare it *with*

  408. Zash

    In the case of Prosodys SQL backend, `after` and `before` gets turned into SQL like `WHERE id > after AND id < before` altho after page size limits it'll behave like only 'before' was there.

  409. lovetox

    great Zash, only a madman would use this though

  410. lovetox

    or someone writing clients that only operate with prosody

  411. Zash

    Mostly because internal details like that the presence of `before` means it sorts the results backwards.

  412. Zash

    (and then it flips them around before returning as MAM results)

  413. Guus

    It'd be good to explicitly define expected behaviour or restrictions in the XEP.

  414. Zash

    I think other storage backends will simply ignore `after` if `before` is present

  415. Guus

    Changes in behaviour caused by an invisible implementation detail seems undesirable.

  416. Zash

    Having both `after` and `before` is UB, so what you gonna do?

  417. Zash

    We could explictly forbid it since it makes no sense

  418. lovetox

    you talk like this happens per accident

  419. Zash

    As in, return some error stanza

  420. Guus

    Sounds good

  421. Zash

    It happens because the query and the data flow through two layers with slightly different API and semantics.

  422. Zash

    Well. Three layers if you count SQL.

  423. Neustradamus

    Java works with 4096 DH key: https://bugs.openjdk.java.net/browse/JDK-8172869

  424. Neustradamus

    Kev: Have you planned to upgrade M-Link to last version on the new server?