Modern XMPP project discussion - 2023-04-07


  1. raucao

    hi. i'm looking into implementing bookmarks and found https://docs.modernxmpp.org/client/groupchat/#bookmarks

  2. raucao

    playing around with some clients it seems that basically none of them really prefer PEP

  3. raucao

    at least not dino and gajim for example. dino will actually fetch the PEP bookmarks but not update them later

  4. Zash

    Clients that do support XEP-0402 generally only enable it if the `urn:xmpp:bookmarks:1#compat` feature is advertised, or the different clients would end up with different sets of bookmarks.

  5. raucao

    wouldn't they end up with different bookmarks either way, since the client not implementing the new ones would update the old way?

  6. Zash

    No, that feature means that both methods access the same bookmarks.

  7. Zash

    E.g. in Prosody it means that a module is handling legacy private XML and translating XEP-0402 data for you.

  8. raucao

    ok, so without the server supporting the compat feature via a module like that, nobody can implement 0402 really

  9. raucao

    in a new client that is

  10. raucao

    since everyone else just ignores 0402 and you will definitely end up with different bookmarks between clients

  11. raucao

    correct?

  12. Zash

    For specialized deployments you could get away with it, but generic clients for the current ecosystem will likely need to fall back to private xml a while longer if they want to work with most servers.

  13. Zash

    (Read: We're waiting for https://github.com/processone/ejabberd/issues/3591 )

    👍️ 1
  14. Zash

    Do any servers but Prosody support 402 yet?

  15. Zash

    There's a button to the right on the XEP-0402 line at https://xmpp.org/extensions/ you can click to see who's got it implemented

  16. raucao

    cool, thanks

  17. Zash

    Server-side, it made it *so* much easier to interface with bookmarks after switching.

  18. Zash

    raucao, 👍️ any issues, poke other server devs and operators so they implement and deploy XEP-0402 :)

  19. raucao

    i mean, it's implemented when there's PEP

  20. Zash

    yeah but then you have an absolute mess unless all your other clients also do XEP-0402

  21. Zash

    aaaand that's hard to be sure of since users might try different clients from time to time

  22. raucao

    i totally see that. i also see how a server dev might hate having to implement extra compat code :)

  23. Zash

    that's why there's that compat feature for server-side unifying bookmark storage, all those problems go away

  24. Zash

    until the day we're ready to finally be rid of the old

  25. Zash

    The nice thing with implementing it as a translation layer that stores the bookmarks in PEP natively, once all clients are ready, we can simply deprecate and delete the compat module.

  26. Zash

    We did the same thing with vcard-temp vs vcard4

  27. raucao

    so, i was actually asking because i want a server-side hook for when someone registers an account with us to be auto-joined into a specific room. the reasonable choice is 0048 in that case

  28. raucao

    until everyone's agreed to prefer 0402 that is

  29. raucao

    > The nice thing with implementing it as a translation layer that stores the bookmarks in PEP natively, once all clients are ready, we can simply deprecate and delete the compat module. true. it will be a nice day one day :)

  30. Zash

    the trick is to bait people with ✅️ :)

  31. Zash

    https://xmpp.org/extensions/xep-0459.html#changes-2021 does say you should do 0402, so if you don't, no green checkmark for you

  32. Zash

    weird as it is, https://compliance.conversations.im/ has the ultimate power to decide what gets implemented and deployed

  33. raucao

    everyone knows *blue* checkmarks are the most attractive

  34. raucao

    could even make 0402 cost $8 per month

  35. raucao

    very elite feature

  36. Zash

    <this message is only available to Prosody Pro users>

  37. raucao

    i see it's "information" on the test suite

  38. raucao

    i only need my 100% lol

  39. Zash

    yeah, that's why it's not implemented and deployed everywhere yet

  40. Zash

    only prosody, because we care about things other than green checkmarks :)