XSF Discussion - 2019-01-06


  1. Syndace

    More OMEMO!

  2. pep.

    Nice try :p

  3. Syndace

    OMEMO has a general problem with the key exchange assuming guaranteed message delivery. The key exchange protocol was not designed for lost or out-of-order messages. To mitigate this, clients send key exchange messages until they receive a first encrypted response, which tells them, that the key exchange was successful. So I was wandering, isn't there any mechanism for message delivery that kind of "guarantees" the properties we need?

  4. Syndace

    Or could we use IQs for the initial key exchange instead of messages?

  5. Syndace

    wondering* lol

  6. Syndace

    I see that IQs would take the asynchrony of the protocol, as both parties need to be online for the IQ to succeed.

  7. Zash

    What level of guarantee?

  8. Syndace

    If it's not 100% then it doesn't really help.

  9. Syndace

    The message must arrive at it's target, otherwise we have to stick to the old hacky workarounds.

  10. Zash

    If your thing depends on something being perfect then you're going to be dissapointed.

  11. Syndace

    Or at least a mechanism that notifies you about delivery fialure

  12. Zash

    Something something two generals.

  13. Zash

    You can stick a counter in there somewhere, and have the other party reply with the last number in sequence they got. Like TCP or such.

  14. Syndace

    this is what OMEMO does, but not for the key exchange, only for the messages after a successful key exchange

  15. Syndace

    Thinking about it again, I guess my search is pointless. Even a notification about failed delivery doesn't fix the issue I have in mind. Only real guaranteed delivery solves the problem and that's something I'm not gonna get.

  16. Syndace

    Well then, dirty hacks it'll be

  17. Zash

    Push for more xep198

  18. Zash

    and xep288

  19. pep.

    What time does the summit usually end on the friday btw, and is there anything planned afterwards

  20. erkanfiles

    Is there still a need to write minutes for the last meeting?

  21. Neustradamus

    There is a real comparator of XMPP RFCs and all newer? A lot of devs are lost... - https://tools.ietf.org/html/rfc3920 -> https://tools.ietf.org/html/rfc6120 -> https://tools.ietf.org/html/rfc7590 - https://tools.ietf.org/html/rfc3921 -> https://tools.ietf.org/html/rfc6121 - https://tools.ietf.org/html/rfc4622 -> https://tools.ietf.org/html/rfc5122 - https://tools.ietf.org/html/rfc6122 -> https://tools.ietf.org/html/rfc7622

  22. Ge0rG

    Anybody seen Alex? It's time to open the Q1 membership season

  23. pep.

    Link Mauve, that reminds me you have patches for memberbot for slixmpp and python3, we should push that at some point

  24. Ge0rG

    Also a board(?) question I was kindly asked to forward: is it possible to become an xsf member using a pseudonym?

  25. lovetox

    about the new xep proposed by goffi, do servers even have something like "modification" data implemented right now with pubusb?

  26. lovetox

    are items not just overwritten and then it becomes a new item and not a modified one

  27. lovetox

    also its not clear to me what order by=creation means regarding MAM

  28. lovetox

    items are already ordered by creation, what matters is ASC or DESC

  29. Zash

    Prosody doesn't, it uses the same mechanism for as for MAM, which is append-only

  30. goffi

    lovetox: pubsub doesn't has currently something as "modification", it is indeed a new item. The XEP changes the business logic to have this notion, it is explained in §3.

  31. goffi

    regarding MAM, it's mostly useful for Pubsub, for chat message there is no possibility to overwritte a message, so it's doesn't change anything.

  32. goffi

    it*

  33. goffi

    Zash: what happens in Prosody when an item is overwritten, does it appear on top (as it should with XEP-0060 only) or does it stay at the same place?

  34. Zash

    it deletes the conflicting id and appends the new item

  35. goffi

    OK

  36. lovetox

    still goffi its not evident for me that saying i want to order something by creation, that it implies ASC or DESC

  37. lovetox

    creation is the column, im ordering my set by

  38. lovetox

    it says nothing about the asc or desc

  39. lovetox

    it gets clearer trough your examples what you want it to mean, but i think this should be spelled out in my opinion

  40. goffi

    lovetox: yes it does, § 4.1 says "Pubsub service then returns the 3 plays created the most recently, first one being the most recent"

  41. goffi

    so it's DESC

  42. goffi

    but I can say it more explicitly if it helps, sure

  43. goffi

    but please then comment on the mailing list, I'll lost track of stuff in the MUC, on mailing list I can check emails before my next update.

  44. goffi

    lovetox: ^

  45. lovetox

    i guess it would help, also because you extend this XEP to MAM

  46. lovetox

    do you mean only the pubsub portion of MAM?

  47. lovetox

    or in general?

  48. lovetox

    i guess general

  49. lovetox

    yeah i will write to the mailing list :)

  50. goffi

    I need it for the pubsub portion, I'm not sure if it's interesting to have it in general, but in the XEP it's general.

  51. goffi

    I was waiting for feedbacks to be sure if it make sense or not for chat message. For now we can't overwritte anything in MAM archive for chat, so the XEP has no effect (date of creation = date of modification here).

  52. lovetox

    it has an effect if you say creation=DESC because mam sends messages in ASC

  53. goffi

    ah good point.

  54. lovetox

    but i will add write later a mail with my comments

  55. goffi

    great, thanks for feedback.

  56. Zash

    Can you include an 'updated at' timestamp in the payload and order on that in the client?

  57. Ge0rG

    A delay element maybe?

  58. Zash

    Atom payloads do have separate published and updated timestamps iirc

  59. goffi

    Zash: we already have "update at" for blog, but I would have to download all items to order in the client (and the value could be fake)

  60. flow

    Ge0rG, There where cases where people where denied membership because the did not reveal the real name in the past

  61. Ge0rG

    flow: thanks. I haven't seen anything relevant when skimming the application rules

  62. lovetox

    so MAM for pubsub holds the whole history of all items?

  63. lovetox

    so i publish a new one, and then modify it, then MAM has 2 items?

  64. Zash

    The past is immutable!

  65. lovetox

    so this is a yes

  66. lovetox

    so basically what goffi wants, is sort by creation date DESC then sort by modification date DESC

  67. lovetox

    hm no, he wants the most current blog post but it should not be an edit of a old item

  68. lovetox

    not sure how you can even with that order xep reach that goal

  69. goffi

    lovetox: for MAM you make a request similar to pubsub, and you can do filtering. It's the pubsub archive, you can overwrite an item.

  70. goffi

    lovetox: I have already a working implementation (client + server), it's working as expected.

  71. lovetox

    yeah i just want to understand it

  72. lovetox

    do you use now MAM or not?

  73. goffi

    lovetox: yes, I use it to filter by categories in blogs

  74. goffi

    lovetox: and I have more uses for it. For instance in tickets, I need to be able to find only "bugs", or only tickets in progress.

  75. lovetox

    but setting an order, has nothing to do with a filter

  76. goffi

    I'm just talking about my use of MAM here, not the order thing.

  77. lovetox

    how do you filter on message categorys?

  78. Zash

    Invent a way

  79. goffi

    I have a custom filter, 'http://salut-a-toi.org/protocols/mam_filter_category' and I specify the category I need.

  80. lovetox

    ok so this has nothing to do with the order xep

  81. goffi

    no this is to explain how I use MAM

  82. goffi

    the order is needed in many places thought

  83. goffi

    For blogs, if I publish "post1", "post2", then "post3", and I find a spelling mistake in "post1", I publish again with this id, but I don't want it to appear on top of my node, like it is the case by default.

  84. goffi

    But for comments (or forums), I may want to have the last overwritten post first.

  85. goffi

    and maybe later if I do something similar to stack overflow, I will want to have items ordered by evaluation.

  86. lovetox

    are you aware that server treat every MAM RSM query as its own query to the database

  87. lovetox

    say you want the last 1000 items, but a page size of 10

  88. lovetox

    they dont request 1000 items

  89. lovetox

    they only get 10 and send them to you

  90. Zash

    That would be an implementation detail of the server

  91. lovetox

    that means every ordering you want, is only executed on these 10 messages

  92. Zash

    I think in theory you can cache database cursors and try to be smart about them

  93. goffi

    No the order is on the whole archive, may it's not clear enought in the XEP, but it's about the whole archive, it would make no sense for just a page.

  94. lovetox

    Zash im not saying its a technical limitation, im trying to tell goffi that his XEP does not mention that he wants the order executed on the whole theoretical requested set

  95. goffi

    I can say that more explicitly, but yes it's about the whole archive.

  96. Zash

    So, SQL over MAM?

  97. goffi

    It's not as complexe as SQL, but we have already limit and offset with RSM, order was just the missing part.

  98. MattJ

    I'm planning to rear the spec tomorrow, will probably have some feedback

  99. MattJ

    I'm planning to read the spec tomorrow, will probably have some feedback

  100. goffi

    MattJ: cool

  101. goffi

    OK I'm done for today, .o/

  102. MattJ

    Good night :)

  103. flow

    nighty night :)