XSF Discussion - 2022-05-28


  1. Link Mauve

    “14:51:45 jonas’> ok, can someone please load a module on this MUC server which sets origin-id to hello world for all messages? kthxbai”, I already have a poezio module for that, it broke Matrix.

  2. Link Mauve

    Let’s load it. :)

  3. Link Mauve

    Here, it is loaded.

  4. mdosch

    Test.

  5. Link Mauve

    If your client is displaying this message, it does better deduplication than just based on origin-id.

  6. Link Mauve

    mdosch, poezio, not MUC.

  7. mdosch

    Oh

  8. Link Mauve

    Unless it got fixed recently, Matrix users won’t see my messages any more.

  9. Link Mauve

    And from the discussion before, Converse won’t either.

  10. Maranda

    Didn't work sorry

  11. Maranda

    Ok plx thnx bye

  12. Link Mauve

    Maranda, what didn’t work?

  13. Link Mauve

    The last time it did, so perhaps you fixed it. :)

  14. Link Mauve

    “14:56:08 Zash> Time to dig up the idea of IDs being based on a (stream-id, stanza-counter) tuple?”, that’s what we used to use in slixmpp, but people complained that it wasn’t unique enough. :<

  15. pep.

    Well it was predicatable, mostly

  16. pep.

    Well it was predictable, mostly

  17. pep.

    I'm not saying that would allow clients not to deduplicate still, but if we can avoid it..

  18. Maranda

    It will break clients not Bifrost for sure

  19. Maranda

    origin_id gets just stored, otherwise there's no processing on it

  20. Maranda[x]

    Bifrost cares about the stanza id attribute for deduplication not origin-id

  21. Maranda

    So changing origin-id or stanza-id will do nothing changing the stanza id will get Bifrost to silently discard the messages until they fall off the deduplication cache hardly break anything

  22. Maranda[x]

    The problem as I see it is very simple, it's demented to have three different kind of ids for message stanzas (or any other kind), there should be only one which should be of (at least semi/simil-)unique nature

  23. Zash

    Doesn't Matrix have even more IDs?

  24. jonas’

    Maranda[x], you don't say!

  25. jonas’

    tell

  26. jonas’

    Maranda[x], now go and tell that to jcbrand ;)

  27. Zash

    We need more IDs to keep up!!!

  28. Maranda[x]

    No Zash, all event ids are unique

  29. Zash

    (or was it timestamps?)

  30. Zash

    > > IDs being based on a (stream-id, stanza-counter) tuple > that’s what we used to use in slixmpp, but people complained that it wasn’t unique [or predictable] enough. :< But it would be guaranteed to be unique, since the stream id is supposed to be uniquely set by the server. Stuff the tuple trough HMAC to keep the stream ID secret, and the resulting ID shorter.

  31. Zash

    Also means you know what the ID will be ahead of time, without the server needing to tell you.

  32. Maranda

    > <Zash> (or was it timestamps?) Probably timestamps, one is the original server timestamp the other is the age of the event processal when fetching batches from syncs or paginations

  33. Maranda

    > <Zash> (or was it timestamps?) Probably timestamps, one is the original server timestamp the other is the age from the event processal when fetching batches from syncs or paginations

  34. qy

    Time-based uuids sound good enough and make collisions basically impossible, right?

  35. qy

    I vote make it standard to use those for stanza-id and silently ignore origin-id

  36. Zash

    https://datatracker.ietf.org/doc/draft-peabody-dispatch-new-uuid-format/ FTR

  37. Zash

    Tho if you just say "use UUIDv7", that doesn't magically stop anyone from still setting the id to "lol", potentially causing havoc

  38. Zash

    Only the server can save us from that! :P

  39. qy

    But who watches the server...

  40. Zash

    The server is perfect. The server always does the right thing. Trust in the server. The server is good.

  41. Maranda[x]

    Until it's wrong and doesn't do the right thing