XSF Discussion - 2022-09-18


  1. edhelas

    So I'm bringing back 0080 support in Movim :) 8 years old code to resurrect

  2. emus

    edhelas: 👍

  3. wurstsalat

    > So I'm bringing back 0080 support in Movim :) 8 years old code to resurrect that's a XEP I'd really like to see in Conversations as well. static geo:-URIs are not the same :)

  4. edhelas

    The XEP is actually pretty good :)

  5. edhelas

    Maybe having a small update for privacy handling (whitelisting JIDs) could be interesting

  6. edhelas

    Would be fun to have locations event in MUC as well :p

  7. emus

    Maybe Monal devs could also have a word on the xep improvements

  8. emus

    > edhelas: > 2022-09-18 06:58 (GMT+02:00) > Would be fun to have locations event in MUC as well :p ouh yes

  9. edhelas

    Then you could embed a minimap and follow friends, when going to a convention for example

  10. edhelas

    Or start a hide&seek game :D

  11. singpolyma

    edhelas: it's pep right? So if you want to whitelist you just set a whitelist on the pep node?

  12. edhelas

    singpolyma yes :) but talking about it in the XEP might help

  13. edhelas

    sharing location can bring big privacy issues, not the same thing as Mood or Tune for example

  14. singpolyma

    Just like a one line "note you may wish to set the pep node to whitelist security" just in case the reader is unaware of the options?

  15. edhelas

    Dunno, I'll see where I'm going with it

  16. MattJ

    As usual with reusing generic mechanisms to fulfil specific tasks, you'll want to look at edge cases, such as what happens if a client forgets about an ongoing sharing activity. You might want to bake some TTL and/or "sharing ended" into the protocol.

  17. wurstsalat

    "share my location for 30 min" is an option seen in many IM clients

  18. lovetox

    MattJ this exists already natively in PubSub

  19. lovetox

    but nobody implements it, and thats sad

  20. lovetox

    pubsub#item_expire

  21. lovetox

    this would be so useful for data which are only valid for a small duration

  22. MattJ

    Maybe it's time to change that? :)

  23. lovetox

    tune, location and a future status xep

  24. lovetox

    check your issue tracker :D

  25. edhelas

    pubsub#item_expire damnit :D

  26. MattJ

    Okay, it's only been open 2 years :)

  27. lovetox

    yeah thats recent, i have issue on the Gajim tracker from Zash which are 10 years old 🤤

  28. edhelas

    Again the prophecy is right, 0060 is magically adding feature each time you have a look at it

  29. mdosch

    Wasn't the prophecy about 0045?

  30. Zash

    Both.

  31. edhelas

    I heard some found pieces of 0045 in 0060

  32. Zash

    They have both reached the critical size where they start growing by themselves.

  33. Maranda heard XEP-0045 was going to be replaced by XEP-0060 🤔

  34. edhelas

    I have mixed feeling about that 🤔

  35. Maranda

    indeed.

  36. Maranda

    although I think I have enough proof of fact that with a few rooms with 500+ occupants, MUC *can* _indeedly_ cause server detonation now 🤭

  37. guus.der.kinderen

    "each of our clients joins 5000 rooms. Why is it slow?" <-- last week

  38. edhelas

    "We have 5000 rooms. Why is it slow?" <-- Matrix client admin

  39. edhelas

    *server

  40. guus.der.kinderen

    Oh no, these had 150.000+

  41. Maranda

    150000 ...rooms?

  42. edhelas

    It's over 9000

  43. Maranda

    🤔

  44. guus.der.kinderen

    > 150000 ...rooms? Yes, to get started

  45. mdosch

    Wow.

  46. Zash

    Let me tell you about dunbar numbers.

  47. MattJ

    guus.der.kinderen, a very similar example is why I worked on XEP-0437

  48. guus.der.kinderen

    Which is what I am implementing next...

  49. guus.der.kinderen

    Thank you for that. ☺️

  50. MattJ

    Because, yes, as Zash rightly points out - whether you "join" 5000 rooms or not is irrelevant, people in reality will only interact with 5 on average

  51. Maranda thinks that still the traffic generated by 150000 with 1-2 occupants is far less by a few with 500-10000

  52. Maranda

    And it's mostly passive traffic, so not generated by actual interaction either

  53. Zash

    Maybe we should investigate more into cutting down noise from joins, parts, random presence in public chats. It does seems like a multiplier, especially when we have the same 20 people in 20 rooms...

  54. Maranda

    (And surprisingly the killing factor is actually IQs and not presences)

  55. Zash

    disco?

  56. Zash

    Disco can be cached closer to the requesting client.

  57. Maranda

    Disco, vCard fetching (💥), last Activity, version ... <Inserti payload>

  58. Maranda

    Disco, vCard fetching (💥), last Activity, version ... <Insert payload>

  59. Maranda

    Clients tend asking a lot of stuff to newcomers, a bit less after

  60. Maranda

    And most clients don't just lazy load the occupants roster, so they just queue alle the IQs on a first join stalling as well and blocking

  61. Zash

    Could have a disco cache in the MUC itself. Avatars, I'd like to see something like that image hash thing, ie squeeze a in a very small version of the image into presence directly (like max 8x8px), then lazy-load the real avatars.

  62. Zash

    and who uses last activity today???

  63. Maranda

    > <Zash> and who uses last activity today??? 😅

  64. lovetox

    Gajim did this for a long time

  65. lovetox

    queuing multiple IQs for every participant

  66. lovetox

    rather not queuing, i mean we just sent it out

  67. lovetox

    now we really queue it and send one per second or something

  68. lovetox

    but this means it needs a lot of time until you have everything, but i guess avatars are not that important

  69. singpolyma

    Should be on the server to slow it down if needed not the client. Though client may also need to throttle to remain performant in some cases I guess

  70. Link Mauve

    Zash, I already started working on that very small avatar thingy, fyi.

  71. Link Mauve

    I already have some code for that in a branch of roezio.

  72. singpolyma

    How small is very small?

  73. Link Mauve

    A few blocks of BC7 at most.

  74. Link Mauve

    Something which can fit in a few hundreds bytes of base64 at most.

  75. Link Mauve

    One block (4×4) is 16 bytes, so about 22 bytes after base64.

  76. Link Mauve

    If you want to go 8×8 like Zash suggested, that’s 64 bytes, or 86 bytes of base64.

  77. Zash

    I'm mostly thinking 8×8 as an upper limit

  78. singpolyma

    So 8x8 pixels?

  79. Link Mauve

    I’m writing the protocol (in the future) and two implementations (one in a client and one in Prosody (that one is in the future too)), admins will be able to configure that upper limit obviously.

  80. Link Mauve

    roezio renewed my motivation lately (thanks pep.!), but that’s based on some old discussion already.